When building net-ftp/proftpd-1.2.10-r7 on ppc64, the configure script shows: checking for setproctitle... no checking libutil.h usability... no checking libutil.h presence... no checking for libutil.h... no checking for setproctitle in -lutil... yes However /usr/lib/libutil doesn't provide a 'setproctitle' symbol. So the resulting proftpd doesn't run: root@vishnu log # proftpd proftpd: symbol lookup error: proftpd: undefined symbol: setproctitle I've looked into proftpd's configure.in script, but I couldn't find something wrong... Reproducible: Always Steps to Reproduce: emerge proftpd Actual Results: proftpd with unresolved symbol "setproctitle" Expected Results: proftpd with no unresolved symbols
This may be related to bug #101470. As it turns out, it's a linker bug. A simple program such as --- char setproctitle(); int main { setproctitle(); } --- links just fine. The linker (gcc/ld) does NOT report the unknown symbol at linking time. Only at run time there is an error message. I've already tried -Wl,--no-undefined and -Wl,--no-allow-shlib-undefined - but it doesn't help. This is with gcc-3.4.4
Using the following profile: /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/64bit-userland/power5/ I cannot seem to replicate this problem. Can others pipe in and test? My emerge --info is as follows: emerge --info Portage 2.0.51.22-r2 (default-linux/ppc/2005.1/ppc64/64bit-userland/power5, gcc-3.4.4, glibc-2.3.4.20041102-r1, 2.6.12.3 ppc64) ================================================================= System uname: 2.6.12.3 ppc64 POWER5 (gr) Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.90.0.3-r5 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="ppc64" AUTOCLEAN="yes" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -pipe -mtune=power5 -mcpu=power5" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -mtune=power5 -mcpu=power5" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/" MAKEOPTS="-j6" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc64 X berkdb bitmap-fonts fortran gdbm gif gpm ibm ipv6 jpeg ncurses nls nptl opengl pam perl png python readline ssl tcpd truetype truetype-fonts type1-fonts unicode zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
This does not seem to be a issue with proftpd but ppc64 related.
I cannot reproduce this, either. still an issue?
I would recommend looking very closely at a couple of things. Where is setproctitle supposed to come from? Some other library outside of proftpd? If so objdump -D <thatlibrary> > /tmp/thatlibrary.txt Open up the text file, and I'd be willing to be a whole dollar that the symbol you find is actually .setproctitle, which of course is the old style dot naming convention which thankfully is quite dead. So what do you do? Re-emerge the library the symbol is in, emerge proftpd and like will be happy.