linking rpmconstant needs @LTLIBINTL@ and librpm
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
RPM |
Fix Released
|
Medium
|
Jeff Johnson |
Bug Description
I'm building rpm from CVS (2013-10-22) on x86_64-
There are a couple of issues when linking rpmconstant:
gmake all-am
gmake[1]: Entering directory `/local/
/bin/bash ../libtool --tag=CC --mode=link cc -m64 -xtarget=generic -m64 -xarch=generic -Xa -xc99=all -KPIC -I/usr/
libtool: link: cc -m64 -xtarget=generic -m64 -xarch=generic -Xa -xc99=all -KPIC -I/usr/
cc: Warning: Optimizer level changed from 0 to 3 to support parallelized code.
ld: warning: symbol 'aes' has differing types:
(file /local/
/local/
Undefined first referenced
symbol in file
rpmdsInit constant.o
rpmdsNext constant.o
rpmdsType constant.o
libintl_textdomain /local/
rpmdsSearch constant.o
rpmdsResult constant.o
rpmdsIx constant.o
libintl_
rpmdsDNEVR constant.o
libintl_dgettext /local/
rpmdsSetResult constant.o
ld: fatal: symbol referencing errors. No output written to .libs/rpmconstant
gmake[3]: *** [rpmconstant] Error 2
The libintl_* symbols are missing because the rpmconstant/
The rpmds* symbols are apparently provided by librpm.
The attached patch resolves the issue for me, though you may have a better method of accomplishing the same thing.
Changed in rpm: | |
milestone: | 5.4.13 → 5.4.14 |
Changed in rpm: | |
status: | Fix Committed → Fix Released |
This isn't quite the right patch, but won't hurt anything.
FYI: the design goal is/was to establish all additional libraries
using *.la in this order:
rpmbuild -> rpmlib -> rpmdb -> rpmio -> rpmmisc
where the majority of additional external libraries are linked
(or included within) -lrpmmisc.
The problem is that libtool and linkers aren't (test, after years of effort) to
get it right.
Meanwhile the patch is included until linkage breaks "the other way". There
have neem like 3-4 flip-flops like your patch in Makefile.am over the years.