HPUX:缺少符号

HPUX:缺少符号
/opt/samba3/sbin/winbindd -d 100 -i

生产

/usr/lib/hpux32/dld.so: Unsatisfied code symbol '_nss_winbind_initgroups_dyn' in load module '/usr/lib/hpux32/libnss_winbind.so.1'.
Killed

如何检查?我必须重新编译吗?

答案1

解决办法找到了,必须修改samba hpux线路的配置

 *hpux11*)
                NSSSONAMEVERSIONSUFFIX=".1"
                WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o \
                    ../nsswitch/winbind_nss_linux.o"

代替

*hpux11*)
                NSSSONAMEVERSIONSUFFIX=".1"
                WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o"

编译正常,启动 winbindd 好,但 id 不报告用户(pwget 也是如此),我已经配置了 nsswitch.conf 可能是 nsswitch 包装器中的问题

答案2

与旧模块(hp 的 cifs 服务器模块)进行比较,我明白了

nm -n libnss_winbind.so.1*|grep _nss_winbind_initgroups_dyn

[185]    |            0|       0|FUNC |GLOB |0|   UNDEF|_nss_winbind_initgroups_dyn
[142]    |     67178688|    2080|FUNC |GLOB |0|   .text|_nss_winbind_initgroups_dyn

我的模块在 funtction _nss_winbind_initgroups_dyn 中未定义,我用它编译了 samba

./configure --prefix=/opt/samba3 --with-lockdir=/var/opt/samba3/locks --with-privatedir=/var/opt/samba3/private --with-configdir=/etc/opt/samba3 --localstatedir=/var/opt/samba3 --with-krb5=/opt/krb5 --enable-nss-wrapper --enable-socket-wrapper --enable-static --enable-pthreadpool --with-libaddns --with-automount --with-quotas  --with-aio-support  --with-libiconv==/usr/local \
--with-pam \
--with-winbind \
--with-readline \
--with-lockdir=/var/opt/samba3/locks \
--with-statedir=/var/opt/samba3/locks \
--with-cachedir=/var/opt/samba3/cache \
--with-piddir=/var/opt/samba3/locks \
--with-logfilebase=/var/opt/samba3/log \
ac_cv_lib_rt_fdatasync=no \
ac_cv_have_fdatasync_decl=no \
ac_cv_lib_ext_rt_fdatasync=no \
CPPFLAGS='-I/opt/krb5/include' LDFLAGS='-L/opt/krb5/lib -Wl,+b,/opt/krb5/lib -lkrb5 -lk5crypto -lcom_err'

有什么建议吗?谢谢

相关内容