While executing an 'emerge --update netkit-telnetd' I repeatedly get a linker error on different machines. Here the last lines of the emerge process: gcc commands.o main.o network.o ring.o sys_bsd.o telnet.o terminal.o tn3270.o utilities.o genget.o environ.o netlink.o -lutil -lutil -lncurses -lcurses -o telnet telnet.o: In function `gettermname(void)': telnet.o(.text+0xfd5): undefined reference to `tgetent(char *, char const *)' collect2: ld returned 1 exit status make[1]: *** [telnet] Error 1 make[1]: Leaving directory `/tmp/portage/netkit-telnetd-0.17-r3/work/netkit-telnet-0.17/telnet' make: *** [telnet.build] Error 2 !!! ERROR: The ebuild did not complete successfully. !!! Function src_compile, Line 4, Exitcode 2 !!! (no error message) Maybe emerge didn't check for all necessary libraries? I currently upgraded via 'emerge --update world' from gentoo-linux 1.1a to 1.2, so maybe I have not all dependend libraries. My USE variable is: USE="3dnow apm arts avi berkdb crypt cups encode gdbm gif gpm gtk imlib ipv6 java jpeg kde libg++ libwww mikmod mmx motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt qtmt quicktime readline sdl slang spell ssl svga tcpd truetype X xml2 xmms xv"
Thanks in advance, Georg
Well what compiler are you using?
No response I need more info. Naz
I was just hit by the same problem on a Gentoo install that I hadn't updated for about 6 months. Compilation fails during the final linking command (details at the end of this post): telnet/CMakeFiles/telnet.dir/telnet.cc.o: in function `my_setupterm(char const*, int, int*)': telnet.cc:(.text+0x1136): undefined reference to `tgetent' collect2: error: ld returned 1 exit status gcc: 11.3.0, glibc: 2.35-r8, binutils: 2.38-r2 ncurses (which provides tgetent) is installed (sys-libs/ncurses-6.3_p20220423): # readelf -s /lib64/libtinfo.so.6 | grep tgetent 282: 0000000000017eb1 3800 FUNC GLOBAL DEFAULT 11 tgetent_sp 301: 0000000000018d89 47 FUNC GLOBAL DEFAULT 11 tgetent System info: # emerge --info Portage 3.0.30 (python 3.10.5-final-0, default/linux/amd64/17.1, gcc-11.3.0, glibc-2.35-r8, 5.15.59-gentoo x86_64) ================================================================= System uname: Linux-5.15.59-gentoo-x86_64-12th_Gen_Intel-R-_Core-TM-_i7-12700-with-glibc2.35 KiB Mem: 16429232 total, 14794416 free KiB Swap: 1048572 total, 1048572 free Timestamp of repository gentoo: Mon, 08 Aug 2022 13:15:01 +0000 Head commit of repository gentoo: 78c731d2c58edeac150d8cd1f4d70ea56399896c sh bash 5.1_p16-r1 ld GNU ld (Gentoo 2.38 p4) 2.38 app-misc/pax-utils: 1.3.4::gentoo app-shells/bash: 5.1_p16-r1::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.34.1-r3::gentoo dev-lang/python: 3.10.5::gentoo dev-lang/rust-bin: 1.62.1::gentoo dev-util/cmake: 3.22.4::gentoo dev-util/meson: 0.62.2::gentoo sys-apps/baselayout: 2.8::gentoo sys-apps/openrc: 0.44.10::gentoo sys-apps/sandbox: 2.29::gentoo sys-devel/autoconf: 2.71-r1::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.38-r2::gentoo sys-devel/binutils-config: 5.4.1::gentoo sys-devel/gcc: 11.3.0::gentoo sys-devel/gcc-config: 2.5-r1::gentoo sys-devel/libtool: 2.4.7::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.15-r3::gentoo (virtual/os-headers) sys-libs/glibc: 2.35-r8::gentoo emerge net-misc/netkit-telnetd-0.17-r13: [24/24] : && /usr/bin/x86_64-pc-linux-gnu-g++ -D_GNU_SOURCE -DACCEPT_USERVAR -Wall -Wno-trigraphs -DUSE_TERMIO -DKLUDGELINEMODE -Wl,-O1 -Wl,--as-needed telnet/CMakeFiles/telnet.dir/commands.cc.o telnet/CMakeFiles/telnet.dir/environ.cc.o telnet/CMakeFiles/telnet.dir/genget.cc.o telnet/CMakeFiles/telnet.dir/main.cc.o telnet/CMakeFiles/telnet.dir/netlink.cc.o telnet/CMakeFiles/telnet.dir/network.cc.o telnet/CMakeFiles/telnet.dir/ring.cc.o telnet/CMakeFiles/telnet.dir/sys_bsd.cc.o telnet/CMakeFiles/telnet.dir/telnet.cc.o telnet/CMakeFiles/telnet.dir/terminal.cc.o telnet/CMakeFiles/telnet.dir/tn3270.cc.o telnet/CMakeFiles/telnet.dir/utilities.cc.o -o telnet/telnet && : FAILED: telnet/telnet : && /usr/bin/x86_64-pc-linux-gnu-g++ -D_GNU_SOURCE -DACCEPT_USERVAR -Wall -Wno-trigraphs -DUSE_TERMIO -DKLUDGELINEMODE -Wl,-O1 -Wl,--as-needed telnet/CMakeFiles/telnet.dir/commands.cc.o telnet/CMakeFiles/telnet.dir/environ.cc.o telnet/CMakeFiles/telnet.dir/genget.cc.o telnet/CMakeFiles/telnet.dir/main.cc.o telnet/CMakeFiles/telnet.dir/netlink.cc.o telnet/CMakeFiles/telnet.dir/network.cc.o telnet/CMakeFiles/telnet.dir/ring.cc.o telnet/CMakeFiles/telnet.dir/sys_bsd.cc.o telnet/CMakeFiles/telnet.dir/telnet.cc.o telnet/CMakeFiles/telnet.dir/terminal.cc.o telnet/CMakeFiles/telnet.dir/tn3270.cc.o telnet/CMakeFiles/telnet.dir/utilities.cc.o -o telnet/telnet && : /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: telnet/CMakeFiles/telnet.dir/telnet.cc.o: in function `my_setupterm(char const*, int, int*)': telnet.cc:(.text+0x1136): undefined reference to `tgetent' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.
Your bug is likely not the same as one from 20 years ago (not least because the whole tinfo split changed). Please file a new bug with the full build.log and emerge --info.
Will do. Sorry for the resurrection of a 20-year old bug. I misread the date and thought the bug was initially reported on 2022-06-25, not 20 years earlier. I also did not expect that we'd have 20-year old ebuilds in portage :-)