Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 101993

Summary: proftpd build results in unresolved symbol 'setproctitle'
Product: Gentoo Linux Reporter: Harald Welte <laforge>
Component: New packagesAssignee: ppc64 architecture team <ppc64>
Status: RESOLVED WORKSFORME    
Severity: normal CC: humpback
Priority: High    
Version: unspecified   
Hardware: PPC64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 101470    
Bug Blocks:    

Description Harald Welte 2005-08-10 08:33:49 UTC
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
Comment 1 Harald Welte 2005-08-10 09:33:22 UTC
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

Comment 2 Brent Baude (RETIRED) gentoo-dev 2005-08-22 17:50:41 UTC
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

Comment 3 Gustavo Felisberto (RETIRED) gentoo-dev 2005-08-23 16:40:56 UTC
This does not seem to be a issue with proftpd but ppc64 related.
Comment 4 Markus Rothe (RETIRED) gentoo-dev 2006-02-01 10:34:57 UTC
I cannot reproduce this, either. still an issue?
Comment 5 Tom Gall (RETIRED) gentoo-dev 2006-03-05 20:54:01 UTC
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.