Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 753155 - app-dicts/ydpdict-1.0.2: ld: lib64/libtinfow.so.6: error adding symbols: DSO missing from command line
Summary: app-dicts/ydpdict-1.0.2: ld: lib64/libtinfow.so.6: error adding symbols: DSO ...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on: 763474
Blocks: tinfo
  Show dependency tree
 
Reported: 2020-11-04 22:06 UTC by segmentation fault
Modified: 2021-02-24 22:31 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description segmentation fault 2020-11-04 22:06:21 UTC
Merge of app-dicts/ydpdict-1.0.2 fails with:

/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ydpdict-ydpdict.o: undefined reference to symbol 'keypad'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfow.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:323: ydpdict] Error


There is no /lib64/libtinfow.so.6 in my system, only a /usr/lib/libtinfow.so.5, which, according to equery, belongs to sys-libs/ncurses-compat-5.9:

equery belongs /usr/lib/libtinfow.so.5 
 * Searching for /usr/lib/libtinfow.so.5 ... 
sys-libs/ncurses-compat-5.9 (/usr/lib64/libtinfow.so.5)


At first I thought app-dicts/ydpdict-1.0.2 needs >=sys-libs/ncurses-compat-6.0, so I merged sys-libs/ncurses-compat-6.1_p20190609. However, the problem persisted:

/bin/sh ../libtool --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc -Wall -O2 -march=native -pipe -ftree-vectorize -DHAVE_CONFIG_H   -DSYSCONFDIR=\"/etc\" -O2 -march=native -pipe -ftree-vectorize -DHAVE_CONFIG_H  -Wl,-O1 -Wl,--as-needed -o ydpdict ydpdict-ydpconfig.o ydpdict-ydpsound.o ydpdict-ydpdict.o ydpdict-xmalloc.o ydpdict-adpcm.o -lm  -lncursesw -lydpdict -lao  -lncursesw
libtool: link: x86_64-pc-linux-gnu-gcc -Wall -O2 -march=native -pipe -ftree-vectorize -DHAVE_CONFIG_H -DSYSCONFDIR=\"/etc\" -O2 -march=native -pipe -ftree-vectorize -DHAVE_CONFIG_H -Wl,-O1 -Wl,--as-needed -o ydpdict ydpdict-ydpconfig.o ydpdict-ydpsound.o ydpdict-ydpdict.o ydpdict-xmalloc.o ydpdict-adpcm.o  -lm /usr/lib64/libydpdict.so -lao -lncursesw

/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ydpdict-ydpdict.o: undefined reference to symbol 'keypad'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfow.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:323: ydpdict] Error 1

I read in https://github.com/samtools/samtools/issues/940 the following:

"Some symbols for ncurses (and possibly others) actually come from libtinfo. Normally it's arranged that these are included when linking just with -lncurses, but this can break down in some cases (when the --no-add-needed linker option is used, and libncurses.so is a link to the real library instead of a linker script that adds the missing -ltinfo)."

So maybe the ebuild needs to add -ltinfo to the linking options. Didn't try it though...


Some info
---------

Portage 2.3.99 (python 3.7.7-final-0, default/linux/amd64/17.0/hardened, gcc-9.3.0, glibc-2.30-r8, 4.19.81-gentoo x86_64)
=================================================================
System uname: Linux-4.19.81-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-gentoo-2.6
KiB Mem:    XXXXXX total,  YYYYYY free
KiB Swap:   PPPPPP total,  QQQQQQ free
Timestamp of repository gentoo: Mon, 11 May 2020 00:45:01 +0000
sh bash 5.0_p17
ld GNU ld (Gentoo 2.33.1 p2) 2.33.1
app-shells/bash:          5.0_p17::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.1::gentoo
dev-lang/python:          2.7.18::gentoo, 3.6.10-r2::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo
dev-util/cmake:           3.16.5::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.12.6::gentoo, 1.13.4-r2::gentoo, 1.14.1::gentoo, 1.15.1-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.33.1-r1::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo, 7.4.0-r2::gentoo, 7.5.0::gentoo, 8.3.0-r1::gentoo, 9.2.0-r2::gentoo, 9.3.0::gentoo
sys-devel/gcc-config:     2.2.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.30-r8::gentoo
Comment 1 Ionen Wolkens gentoo-dev 2020-11-05 02:56:22 UTC
This looks already fixed in 1.0.3

I think all that's needed here is to stabilize it and drop 1.0.2.