Statically linked opensshd

Volf, Frank Frank.Volf at atosorigin.com
Sat Nov 29 00:39:43 PST 2003


Hi,

I'm trying to statically link opensshd (from the portable openssh port)
on a FreeBSD 4.9 system, but apparently it fails statically linking
libpam. 

The relevant part of the output is:

.....
gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -static -I. -I.
-DSSHDIR=\"/etc/ssh\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/usr/libexec/sftp-server\"
-D_PATH_SSH_KEY_SIGN=\"/usr/libexec/ssh-keysign\"
-D_PATH_SSH_PIDDIR=\"/var/run\"
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\"
-DSSH_RAND_HELPER=\"/usr/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c
auth-sia.c
gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -static -I. -I.
-DSSHDIR=\"/etc/ssh\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/usr/libexec/sftp-server\"
-D_PATH_SSH_KEY_SIGN=\"/usr/libexec/ssh-keysign\"
-D_PATH_SSH_PIDDIR=\"/var/run\"
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\"
-DSSH_RAND_HELPER=\"/usr/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c
md5crypt.c
gcc -o sshd sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o
sshpty.o sshlogin.o servconf.o serverloop.o uidswap.o auth.o auth1.o
auth2.o auth-options.o session.o auth-chall.o auth2-chall.o
groupaccess.o auth-skey.o auth-bsdauth.o auth2-hostbased.o
auth2-kbdint.o auth2-none.o auth2-passwd.o auth2-pubkey.o monitor_mm.o
monitor.o monitor_wrap.o monitor_fdpass.o kexdhs.o kexgexs.o auth-krb5.o
auth2-gss.o gss-serv.o gss-serv-krb5.o loginrec.o auth-pam.o auth-sia.o
md5crypt.o -L. -Lopenbsd-compat/  -static -lssh -lopenbsd-compat -lwrap
-lpam -lutil -lz -lcrypto -lcrypt
/usr/lib/libpam.a(pam_static_modules.o): In function
`_pam_get_static_sym':
pam_static_modules.o(.text+0x196): undefined reference to `skeyaccess'
pam_static_modules.o(.text+0x2f2): undefined reference to
`opiedisableaeh'
pam_static_modules.o(.text+0x30e): undefined reference to
`opiechallenge'
pam_static_modules.o(.text+0x3cf): undefined reference to `opieunlock'
pam_static_modules.o(.text+0x466): undefined reference to `opieverify'
pam_static_modules.o(.text+0x525): undefined reference to
`rad_create_request'
pam_static_modules.o(.text+0x53b): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0x57f): undefined reference to
`rad_put_string'
pam_static_modules.o(.text+0x59c): undefined reference to
`rad_put_string'
pam_static_modules.o(.text+0x5b4): undefined reference to
`rad_put_string'
pam_static_modules.o(.text+0x5c8): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0x5e5): undefined reference to `rad_put_attr'
pam_static_modules.o(.text+0x5fb): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0x611): undefined reference to `rad_put_int'
pam_static_modules.o(.text+0x62c): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0x673): undefined reference to
`rad_cvt_string'
pam_static_modules.o(.text+0x6a5): undefined reference to `rad_get_attr'
pam_static_modules.o(.text+0x6d0): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0x74f): undefined reference to
`rad_cvt_string'
pam_static_modules.o(.text+0x78a): undefined reference to `rad_get_attr'
pam_static_modules.o(.text+0x7a2): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0xa4b): undefined reference to `rad_open'
pam_static_modules.o(.text+0xa92): undefined reference to `rad_config'
pam_static_modules.o(.text+0xaa6): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0xabf): undefined reference to `rad_close'
pam_static_modules.o(.text+0xb0f): undefined reference to `rad_close'
pam_static_modules.o(.text+0xb3d): undefined reference to
`rad_send_request'
pam_static_modules.o(.text+0xb85): undefined reference to `rad_close'
pam_static_modules.o(.text+0xc35): undefined reference to `rad_close'
pam_static_modules.o(.text+0xc86): undefined reference to `rad_close'
pam_static_modules.o(.text+0xc9c): undefined reference to `rad_strerror'
pam_static_modules.o(.text+0xcb5): undefined reference to `rad_close'
pam_static_modules.o(.text+0xcf4): undefined reference to `rad_close'
pam_static_modules.o(.text+0xdaa): undefined reference to `skeyinfo'
pam_static_modules.o(.text+0xe89): undefined reference to `skeylookup'
pam_static_modules.o(.text+0xedf): undefined reference to `skeyverify'
pam_static_modules.o(.text+0xf47): undefined reference to `tac_strerror'
pam_static_modules.o(.text+0xf63): undefined reference to `tac_close'
pam_static_modules.o(.text+0xf8b): undefined reference to `tac_get_msg'
pam_static_modules.o(.text+0xf9e): undefined reference to `tac_strerror'
pam_static_modules.o(.text+0xfb7): undefined reference to `tac_close'
pam_static_modules.o(.text+0xfd6): undefined reference to `tac_set_msg'
pam_static_modules.o(.text+0xff0): undefined reference to `tac_strerror'
pam_static_modules.o(.text+0x1009): undefined reference to `tac_close'
pam_static_modules.o(.text+0x108f): undefined reference to `tac_open'
pam_static_modules.o(.text+0x10d5): undefined reference to `tac_config'
pam_static_modules.o(.text+0x10ef): undefined reference to
`tac_strerror'
pam_static_modules.o(.text+0x110e): undefined reference to `tac_close'
pam_static_modules.o(.text+0x112a): undefined reference to
`tac_create_authen'
pam_static_modules.o(.text+0x1144): undefined reference to
`tac_strerror'
pam_static_modules.o(.text+0x1163): undefined reference to `tac_close'
pam_static_modules.o(.text+0x1194): undefined reference to
`tac_set_user'
pam_static_modules.o(.text+0x11e8): undefined reference to
`tac_set_port'
pam_static_modules.o(.text+0x123c): undefined reference to
`tac_set_rem_addr'
pam_static_modules.o(.text+0x1277): undefined reference to
`tac_send_authen'
pam_static_modules.o(.text+0x1291): undefined reference to
`tac_strerror'
pam_static_modules.o(.text+0x12b0): undefined reference to `tac_close'
pam_static_modules.o(.text+0x12fb): undefined reference to `tac_close'
pam_static_modules.o(.text+0x13db): undefined reference to `tac_close'
pam_static_modules.o(.text+0x1548): undefined reference to `tac_close'
pam_static_modules.o(.text+0x1602): undefined reference to
`tac_get_data'
pam_static_modules.o(.text+0x1655): undefined reference to `tac_close'
pam_static_modules.o(.text+0x167b): undefined reference to `tac_close'
gmake[1]: *** [sshd] Error 1

If I recall correctly, libpam.a should contain a static copy of all the
pam_modules.

Maybe I'm overlooking the obvious, but I can't see the error. What am I
doing wrong here?????

Thanks,

               Frank




More information about the freebsd-questions mailing list