x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -DLOCALEDIR=\"/usr/share/locale\" -DTVERSION=\"v0.6.5\" -DCONFIGFILE=\"/etc/typespeedrc\" -DHIGHFILE=\"/var/lib/games/typespeed.score\" -DWORDDIR=\"/usr/share/typespeed/words\" -DRULEDIR=\"/usr/share/typespeed/rules\" -Wall -W -pedantic -std=c99 -O2 -pipe -march=native -c -o typespeed-typespeed.o `test -f 'typespeed.c' || echo './'`typespeed.c x86_64-pc-linux-gnu-gcc -Wall -W -pedantic -std=c99 -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed -o typespeed typespeed-file.o typespeed-menu.o typespeed-misc.o typespeed-network.o typespeed-typespeed.o -lncurses /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: typespeed-misc.o: undefined reference to symbol 'keypad' /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfo.so.6: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[2]: *** [Makefile:420: typespeed] Error 1 ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop-libressl_test-20190726-201531 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-9.1.0 * Available Python interpreters, in order of preference: [1] python3.6 [2] python2.7 (fallback) java-config: The following VMs are available for generation-2: *) IcedTea JDK 3.12.0 [icedtea-bin-8] Available Java Virtual Machines: [1] icedtea-bin-8 system-vm emerge -qpvO games-misc/typespeed [ebuild N ] games-misc/typespeed-0.6.5-r1 USE="nls"
Created attachment 585392 [details] emerge-info.txt
Created attachment 585394 [details] emerge-history.txt
Created attachment 585396 [details] environment
Created attachment 585398 [details] etc.portage.tbz2
Created attachment 585400 [details] games-misc:typespeed-0.6.5-r1:20190801-042425.log
Created attachment 585402 [details] logs.tbz2
Created attachment 585404 [details] temp.tbz2
Looks like a ncurses related issue. From https://bugs.gentoo.org/653028, if I run export CXXFLAGS="${CXXFLAGS} -ltinfo" export CFLAGS="${CFLAGS} -ltinfo" export LDFLAGS="${LDFLAGS} -ltinfo" emerge typespeed then there's no error.
Created attachment 611732 [details, diff] Patch to allow compilation It's definitely a tinfo issue. ncurses and tinfo are split on gentoo. To fix, I just added a rule in configure.ac to get all the libraries needed using pkg-config, link those libraries in src/Makefile.am, and it works like a charm.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fc243064474c8e4d688e7d59e5423fe0a931840 commit 0fc243064474c8e4d688e7d59e5423fe0a931840 Author: Alexey Sokolov <sokolov@google.com> AuthorDate: 2020-11-15 20:02:50 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2020-11-15 20:02:50 +0000 games-misc/typespeed: fix build Closes: https://bugs.gentoo.org/694840 Closes: https://bugs.gentoo.org/691256 Closes: https://bugs.gentoo.org/706518 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org> Signed-off-by: David Seifert <soap@gentoo.org> .../files/typespeed-0.6.5-link-tinfo.patch | 35 +++++++ .../files/typespeed-0.6.5-use-extern.patch | 116 +++++++++++++++++++++ games-misc/typespeed/typespeed-0.6.5-r2.ebuild | 47 +++++++++ 3 files changed, 198 insertions(+)