[Samba] readline/termcap problems compiling Samba 3.5.0rc1 on CentOS 5.4 64-bit
Joe Ammann
joe at pyx.ch
Thu Jan 21 17:21:46 MST 2010
Hi all
When I try to compile 3.5.0rc1 on CentOS 5.4, I get the seemingly well know
problem below
Linking bin/smbclient
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `tgetnum'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `tgetent'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `tgetstr'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `tgoto'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `UP'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `BC'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `tputs'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `PC'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `tgetflag'
collect2: ld returned 1 exit status
make: *** [bin/smbclient] Error 1
I googled and read quite a bit, all links seem to suggest that either a missing
readline-devel and/or ncurses-devel might be the cuplrit. Now, I think I got
everything installed:
# rpm -qa --queryformat '%{name}\t%{version}\t%{arch}\n' | egrep '(readline|curses|termcap)' | sort
libtermcap 2.0.8 i386
libtermcap 2.0.8 x86_64
libtermcap-devel 2.0.8 i386
libtermcap-devel 2.0.8 x86_64
ncurses 5.5 i386
ncurses 5.5 x86_64
ncurses-devel 5.5 i386
ncurses-devel 5.5 x86_64
readline 5.1 i386
readline 5.1 x86_64
readline-devel 5.1 i386
readline-devel 5.1 x86_64
termcap 5.5 noarch
A little testprogram fails with the same error, if I do
# gcc -o tt tt.c -lreadline
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libreadline.so: undefined reference to `PC'
...
But succeeds if I either add -lcurses/-ltermcap or the linker flags that Samba uses
gcc -o tt tt.c -Wl,-z,relro -Wl,--as-needed -Wl,--export-dynamic -lreadline
I checked the Makefile and config.log, it correctly determined the linker
flags to be
TERMLIBS=-lreadline -ltermcap
but still, I can't get rid of the above error. I'm a bit lost, any hints?
--
CU, Joe
More information about the samba
mailing list