On 2016/12/05 01:41 PM, gregory guy wrote:
Hi guys,
I'm unable to build "tdefile-plugins" from the "tdeadmin"
package, here is the error I get:
------------------------------------------------------------------------
/bin/sh ../../libtool --tag=CXX --mode=link g++ -Wno-long-long -Wundef -ansi
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE
-Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -m64 -fPIC -march=x86-64
-mtune=native -Wformat-security
-Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new
-fno-common -I/usr/include/tqt
-fvisibility=hidden -fvisibility-inlines-hidden -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST
-DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -L/usr/lib64 -module -avoid-version -module -no-undefined
-Wl,--no-undefined
-Wl,--allow-shlib-undefined -I/usr/include/tqt3 -o tdefile_rpm.la -rpath
/usr/lib64/trinity tdefile_rpm.lo -ltdeio
libtool: link: g++ -fPIC -DPIC -shared -nostdlib
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/crti.o
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/crtbeginS.o .libs/tdefile_rpm.o -Wl,-rpath
-Wl,/usr/lib64/../lib64
-Wl,-rpath -Wl,/usr/lib64/../lib64 -L/usr/lib64 /usr/lib64/libtdeio.so
-L/usr/lib64/gcc/x86_64-slackware-linux/5.4.0
-L/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64 -L/lib/../lib64
-L/usr/lib/../lib64
-L/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../x86_64-slackware-linux/lib
-L/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../.. /usr/lib64/../lib64/libstdc++.so
-lm -lc -lgcc_s
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/crtendS.o
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/crtn.o -O2 -m64
-march=x86-64 -mtune=native
-Wl,--no-undefined -Wl,--allow-shlib-undefined -Wl,-soname -Wl,tdefile_rpm.so -o
.libs/tdefile_rpm.so
.libs/tdefile_rpm.o: In function `KRpmPlugin::staticMetaObject()':
tdefile_rpm.cpp:(.text+0x24): undefined reference to `tqt_sharedMetaObjectMutex'
tdefile_rpm.cpp:(.text+0x31): undefined reference to `TQMutex::lock()'
tdefile_rpm.cpp:(.text+0x4a): undefined reference to `TQMutex::unlock()'
tdefile_rpm.cpp:(.text+0x86): undefined reference to `TQMetaObject::new_metaobject(char
const*, TQMetaObject*,
TQMetaData const*, int, TQMetaData const*, int, TQMetaProperty const*, int, TQMetaEnum
const*, int, TQClassInfo const*,
int)'
tdefile_rpm.cpp:(.text+0xa4): undefined reference to
`TQMetaObjectCleanUp::setMetaObject(TQMetaObject*&)'
.libs/tdefile_rpm.o: In function `init_tdefile_rpm':
tdefile_rpm.cpp:(.text+0xdb): undefined reference to `KLibFactory::KLibFactory(TQObject*,
char const*)'
tdefile_rpm.cpp:(.text+0xf6): undefined reference to `TQCString::TQCString(char
const*)'
.libs/tdefile_rpm.o: In function `KRpmPlugin::KRpmPlugin(TQObject*, char const*,
TQStringList const&)':
tdefile_rpm.cpp:(.text+0x161): undefined reference to `TQString::TQString(char
const*)'
tdefile_rpm.cpp:(.text+0x177): undefined reference to `TQString::~TQString()'
tdefile_rpm.cpp:(.text+0x186): undefined reference to `i18n(char const*)'
tdefile_rpm.cpp:(.text+0x195): undefined reference to `TQString::TQString(char
const*)'
tdefile_rpm.cpp:(.text+0x1b1): undefined reference to `TQString::~TQString()'
------------------------------------------------------------------------
Source: tdeadmin 14.0.4
Platform: Linux Slackware 14.2 64bit
I tried to compile the package without tdefile-plugins ; with a sed command (in my
building script) I've removed the
tdefile-plugins subdirectory in the Makefile, as a result I could built the package but
then the lilo configuration tool
in Trinity control center crashes as soon as I input my root password.
That' a pity, because I'm mainly interrested to the lilo config tool...
I've build Tdelibs with everything but ELF icon and Hunspell ; still, I'm
puzzled, maybe I've been missing a library or
a package.
Here is the packages I've built so far (in that order):
- libart_lgpl
- tqt3
- tqtinterface
- dbus-tqt
- dbus-1-tqt
- arts
- tdelibs
- tdebase
- tdeartwork
- tde-i18n
- tdeutils
- tdemultimedia
- tdegraphics
- tdenetwork
- dolphin
- tdeaddons
Any hint to solve my build failure will be appreciated.
Regards.
gregory
Looks like your linker is not finding all the required functions. I did not really
looked in deep detail, but either you
are missing some
libraries when you invoke the linker or you may have mixed up shared and static objects
during the build of various
modules.
Since you are building rpm, perhaps you can find useful info in the OBS used by Francois
for building in several rpm
based distros
https://build.opensuse.org/project/show/home:PunisherHD:Trinity:r14.0.x
Hope this helps :-)
Cheers
Michele
Hi Michele,
Thanks for your reply.
To your knowledge, Slackware isn't a RPM distro, we build the software throught shell
scripts (Bash) into a temporary
directory and make a package out of it with the "tar" tool and XZ compression
algorithm.
I've made up my build scripts.
With the settings (passed to "configure") provided by the SPECS file from
François, it's working.
Trying to isolate the culprit, (I should have added --with-shadow to configure, i guess)
Well, since you're at it, when we build Trinity's applications, should we pass
"hidden-visibility" to the compiler or not?
@+