Mailing List Archive

[kde-sunset] Emerge failure: x11-themes/tiblit-1.2
I had to emerge -e my system a little while back and discovered that
this ebuild seemed to be self-destructing while linking tiblitconf.o .
It did build correctly on my system as of around 2-3 years ago.
A representative selection from the log:

tiblitconf.cpp: At global scope:
tiblitconf.cpp:1498: warning: unused parameter 'en'
/bin/sh ../libtool --silent --mode=link --tag=CXX x86_64-pc-linux-gnu-g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -DNDEBUG -DNO_DEBUG -O2 -march=k8 -pipe -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -Wl,--as-needed -o -rpath /usr/kde/3.5/lib64/kde3 -L/usr/lib64 -L/usr/qt/3/lib64 -L/usr/kde/3.5/lib64 -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /usr/kde/3.5/lib64 -R /usr/qt/3/lib64 -R /usr/lib64 -module tiblitconf.lo -lkdeui -lkio
.libs/tiblitconf.o: In function `global constructors keyed to tiblitconf.cpp':
tiblitconf.cpp:(.text+0x4a): undefined reference to `QMetaObjectCleanUp::QMetaObjectCleanUp(char const*, QMetaObject* (*)())'
tiblitconf.cpp:(.text+0x58): undefined reference to `QMetaObjectCleanUp::~QMetaObjectCleanUp()'
.libs/tiblitconf.o: In function `TiblitStyleConfig::~TiblitStyleConfig()':
tiblitconf.cpp:(.text+0x95c): undefined reference to `QString::QString(char const*)'
tiblitconf.cpp:(.text+0x961): undefined reference to `KGlobal::locale()'
tiblitconf.cpp:(.text+0x96c): undefined reference to `KLocale::removeCatalogue(QString const&)'
tiblitconf.cpp:(.text+0x981): undefined reference to `QString::shared_null'
tiblitconf.cpp:(.text+0x98b): undefined reference to `QStringData::deleteSelf()'
tiblitconf.cpp:(.text+0x993): undefined reference to `QWidget::~QWidget()'

[~4000 more lines of undefined references, all to Q[something], K[something], or i18n]

collect2: ld returned 1 exit status
make[2]: *** [] Error 1
make[2]: Leaving directory `/var/tmp/portage/x11-themes/tiblit-1.2/work/tiblit-1.2/styleconf'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-themes/tiblit-1.2/work/tiblit-1.2'
make: *** [all] Error 2
ERROR: x11-themes/tiblit-1.2 failed:
died running emake, kde_src_compile:make

Call stack:, line 54: Called src_compile
environment, line 4566: Called kde_src_compile
environment, line 3285: Called kde_src_compile 'all'
environment, line 3300: Called kde_src_compile 'make'
environment, line 3292: Called die
The specific snippet of code:
emake || die "died running emake, $FUNCNAME:make"

Forcing the --no-as-needed linker switch for this ebuild in an attempt at a quick-
and-dirty fix did not appear to work, but I may have been doing it wrong.

I've traced all the missing symbols to two libraries--/usr/qt/3/lib64/ and
/usr/kde/3.5/lib64/ I assume the makefile needs to be patched,
but I have no idea how to do it. I'm primarily a Java programmer, and am completely
unfamiliar with both makefile syntax and KDE3's peculiar requirements.