[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Openssh shared library problem



  On my system, there is a problem with programs spawned from sshd and
  shared library paths.  This is most easily replicated by simply
  trying to scp a file to the debian-interix machine:

--
$> scp <file> administrator@debian:/tmp
scp: error in loading shared libraries
libc.so.3.5: cannot open shared object file: No such file or directory
lost connection
--
  (Using bash as your shell also causes this problem BTW)

  It seems that the primary method of setting these paths (because
  there is no ld.so.conf?) is making a system wide setting for
  LD_LIBRARY_PATH=""usr/lib/x86:/usr/X11R6/lib".  Because sshd doesn't
  use pam or read /etc/environment, I thought the easiest way to fix
  this would be to add LD_LIBRARY_PATH to the Windows environment
  variables, as most of the other variables for SUA are populated
  there.

  However this variable isn't passed to sshd's children AFAICT because
  of this line:

--openssh-4.7p1/session.c  line 1064--
 [in do_setup_env() ]
                       /* these are the interix directory
		       variables... */
                        "INTERIX_ROOT",
                        "INTERIX_ROOT_WIN",
                        "SFUDIR",
                        "SFUDIR_WIN",
                        "SUA_ROOT",
                        "SUA_ROOT_WIN",
                        "OPENNT_ROOT",
-->                      /* LD_LIBRARY_PATH required? */
                NULL};


--

  I verified that if I add LD_LIBRARY_PATH to AcceptEnv in sshd_config
  (generally a bad idea), and pass that variable from my ssh client
  with SendEnv, the shared library problems go away.

  So, I was attempting to comment back the line is session.c and
  rebuild, but I wasn't even able to do a build from the deb source
  before running into a number of issues, including this header
  related one from configure during the dpkg-buildpackage of openssh.

--
checking dirent.h presence... yes
configure: WARNING: dirent.h: present but cannot be compiled
configure: WARNING: dirent.h:     check for missing prerequisite headers?
configure: WARNING: dirent.h: see the Autoconf documentation
configure: WARNING: dirent.h:     section "Present But Cannot Be Compiled"
configure: WARNING: dirent.h: proceeding with the preprocessor's result
configure: WARNING: dirent.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------------- ##
configure: WARNING:     ## Report this to openssh-unix-dev@mindrot.org ##
configure: WARNING:     ## ------------------------------------------- ##

--

  Before I go in detail any further, is there something obvious that
  I'm missing?  Nothing has compiled as in the build logs :)

  The Windows OS I am using is Windows Server 2003 64 bit R2 SP2, with
  all automatic updates applied that are available.

-- 
Paul Holcomb                               *pholcomb    \@      cpoint  net*
GPG key fingerprint          2B62 05AE EE74 845A 705F  D716 28C4 FE1C 088F CFAC


Reply to: