trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2011

Re: [trinity-devel] Autotools package builds

From: Baho Utot <baho-utot@...>
Date: Fri, 16 Dec 2011 09:20:06 -0500

On Friday 16 December 2011 08:09:26 am Laurent Dard wrote:
> Le 15/12/2011 23:37, Baho Utot a écrit :
> > Why would the build fail?
>
> I'm trying to understand.
>

So am I ;)

> Even if your intallation of qt isn't common, it should work.
> And I can't say for sure that installing it in /usr will solve your
> problem.
>
> But installing Qt3 in /usr is known to work so it's better to do it this
> way, I think.
>
> > I have tried using /usr for everything (entire build from start to finish
> > all packages) and it still failed.
> >
> > I have tried to stick to the How to docs on trinity, but I have read that
> > everything should be in /opt/trinity except for tqtinterface.
> >
> > What do you suggest?
> >
> > I can rebuild all of trinity quite easily, so if I need to change all the
> > prefix(s) I can.
>
> The dependencies in /usr.
> The KDE packages in /opt/trinity.
>
> * in /usr:
>   qt3
>   tqtinterface
>   arts
>   (dbus bindings)
>
> * in /opt/trinity
>   kde*
>

Ok I will rebuild the dependencies to be in /usr


> The web page isn't clear. But it says: "Please note that you can
> find spec/dsc/PKGBUILD/emerge files at our GIT repositories."
>
> I would add the slackware instructions from Darrell Anderson:
>   http://humanreadable.nfshost.com/sdeg/kde_35x.htm
> and his build scripts:
>   http://humanreadable.nfshost.com/files/kde-35-buildtree.tar.gz
> (look at the *.SlackBuild files).
>
> And the instructions from BLFS and CLFS to build KDE3 are
> still useful for me.
>
> >> Your trinity installation should be working at this stage. Does it?
> >
> > Yes, I am posting from TDE using kmail (this email)
> >



> Maybe this will work:
>
> echo "#include <qapplication.h>
> int main(int argc, char **argv)
> { QApplication app(argc, argv); return 0; }" |
> gcc --verbose -x c++ - -I/opt/trinity/include \
>   -L/opt/trinity/lib
>

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/lto-wrapper
Target: i686-pc-linux-gnu
Configured 
with: /build/src/gcc-4.6-20111125/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --enable-gnu-unique-object --enable-linker-build-id --with-ppl --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --disable-multilib --disable-libssp --disable-libstdcxx-pch --enable-checking=release
Thread model: posix
gcc version 4.6.2 20111125 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-I' '/opt/trinity/include' '-L/opt/trinity/lib' '-mtune=generic' '-march=pentiumpro'
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/cc1plus -quiet -v -I /opt/trinity/include -D_GNU_SOURCE - -quiet -dumpbase - -mtune=generic -march=pentiumpro -auxbase - -version -o /tmp/ccHNHtNt.s
GNU C++ (GCC) version 4.6.2 20111125 (prerelease) (i686-pc-linux-gnu)
        compiled by GNU C version 4.6.2 20111125 (prerelease), GMP version 
5.0.2, MPFR version 3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent 
directory "/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /opt/trinity/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2/i686-pc-linux-gnu
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2/backward
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.6.2 20111125 (prerelease) (i686-pc-linux-gnu)
        compiled by GNU C version 4.6.2 20111125 (prerelease), GMP version 
5.0.2, MPFR version 3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 437f58a575e931cdb258e763fc4b9d9d
COLLECT_GCC_OPTIONS='-v' '-I' '/opt/trinity/include' '-L/opt/trinity/lib' '-mtune=generic' '-march=pentiumpro'
 as --32 -o /tmp/ccSXYdvD.o /tmp/ccHNHtNt.s
COMPILER_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-I' '/opt/trinity/include' '-L/opt/trinity/lib' '-mtune=generic' '-march=pentiumpro'
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/collect2 --build-id --eh-frame-hdr -m 
elf_i386 --hash-style=both -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../crt1.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/crtbegin.o -L/opt/trinity/lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.2 -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../.. /tmp/ccSXYdvD.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/crtend.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../crtn.o
/tmp/ccSXYdvD.o: In function `main':
:(.text+0x20): undefined reference to `QApplication::QApplication(int&, 
char**)'
:(.text+0x31): undefined reference to `QApplication::~QApplication()'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0xc): undefined 
reference to `QGList::clear()'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0x10): undefined 
reference to `QGList::~QGList()'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0x14): undefined 
reference to `QGList::~QGList()'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0x18): undefined 
reference to `QPtrCollection::newItem(void*)'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0x1c): undefined 
reference to `__cxa_pure_virtual'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0x20): undefined 
reference to `QGList::compareItems(void*, void*)'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0x24): undefined 
reference to `QGList::read(QDataStream&, void*&)'
/tmp/ccSXYdvD.o:(.rodata._ZTV6QGList[vtable for QGList]+0x28): undefined 
reference to `QGList::write(QDataStream&, void*) const'
/tmp/ccSXYdvD.o:(.rodata._ZTI6QGList[typeinfo for QGList]+0x0): undefined 
reference to `vtable for __cxxabiv1::__si_class_type_info'
/tmp/ccSXYdvD.o:(.rodata._ZTI6QGList[typeinfo for QGList]+0x8): undefined 
reference to `typeinfo for QPtrCollection'
collect2: ld returned 1 exit status

> This one will test pkg-config and it *must* work:
>
> echo "#include <qapplication.h>
> int main(int argc, char **argv)
> { QApplication app(argc, argv); return 0; }" |
> gcc --verbose -x c++ - \
>   `pkg-config --cflags --libs qt-mt`

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/lto-wrapper
Target: i686-pc-linux-gnu
Configured 
with: /build/src/gcc-4.6-20111125/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --enable-gnu-unique-object --enable-linker-build-id --with-ppl --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --disable-multilib --disable-libssp --disable-libstdcxx-pch --enable-checking=release
Thread model: posix
gcc version 4.6.2 20111125 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-D' 'QT_SHARED' '-D' 'QT_NO_DEBUG' '-D' 'QT_THREAD_SUPPORT' '-D' '_REENTRANT' '-I' '/opt/trinity/include' '-L/opt/trinity/lib' '-L/usr/X11R6/lib' '-mtune=generic' '-march=pentiumpro'
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/cc1plus -quiet -v -I /opt/trinity/include -D_GNU_SOURCE -D 
QT_SHARED -D QT_NO_DEBUG -D QT_THREAD_SUPPORT -D 
_REENTRANT - -quiet -dumpbase - -mtune=generic -march=pentiumpro -auxbase - -version -o /tmp/ccUL67fU.s
GNU C++ (GCC) version 4.6.2 20111125 (prerelease) (i686-pc-linux-gnu)
        compiled by GNU C version 4.6.2 20111125 (prerelease), GMP version 
5.0.2, MPFR version 3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent 
directory "/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /opt/trinity/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2/i686-pc-linux-gnu
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2/backward
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.6.2 20111125 (prerelease) (i686-pc-linux-gnu)
        compiled by GNU C version 4.6.2 20111125 (prerelease), GMP version 
5.0.2, MPFR version 3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 437f58a575e931cdb258e763fc4b9d9d
COLLECT_GCC_OPTIONS='-v' '-D' 'QT_SHARED' '-D' 'QT_NO_DEBUG' '-D' 'QT_THREAD_SUPPORT' '-D' '_REENTRANT' '-I' '/opt/trinity/include' '-L/opt/trinity/lib' '-L/usr/X11R6/lib' '-mtune=generic' '-march=pentiumpro'
 as --32 -o /tmp/cczzCrOu.o /tmp/ccUL67fU.s
COMPILER_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-D' 'QT_SHARED' '-D' 'QT_NO_DEBUG' '-D' 'QT_THREAD_SUPPORT' '-D' '_REENTRANT' '-I' '/opt/trinity/include' '-L/opt/trinity/lib' '-L/usr/X11R6/lib' '-mtune=generic' '-march=pentiumpro'
 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/collect2 --build-id --eh-frame-hdr -m 
elf_i386 --hash-style=both -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../crt1.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/crtbegin.o -L/opt/trinity/lib -L/usr/X11R6/lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.2 -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../.. /tmp/cczzCrOu.o -lqt-mt -lz -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl -lpthread -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/crtend.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../crtn.o
/usr/bin/ld: /tmp/cczzCrOu.o: undefined reference to symbol 'vtable for 
__cxxabiv1::__si_class_type_info@@CXXABI_1.3'
/usr/bin/ld: note: 'vtable for __cxxabiv1::__si_class_type_info@@CXXABI_1.3' 
is defined in DSO /usr/lib/libstdc++.so.6 so try adding it to the linker 
command line
/usr/lib/libstdc++.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

>
> > cat /etc/profile.d/qt3.sh
> >
> > export QT_XFT=true
> > QTDIR=/opt/trinity
> > PATH=${QTDIR}/bin:${PATH:=}
> > PATH=${PATH%:}
> > LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH:=}
> > LD_LIBRARY_PATH=${LD_LIBRARY_PATH%:}
> > LD_LIBRARY_PATH=/lib:/usr/lib:${LD_LIBRARY_PATH}
> > export QTDIR PATH LD_LIBRARY_PATH
>
> I imagine you have this somewhere:
>
>   export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/trinity/lib/pkgconfig

No I don't have that as I move all of the *.pc files to /usr/lib/pkgconfig.
When I build I do a make DESTDIR=<someplace>
then I make a tarball of <someplace>
then I do /bin/tar -tf <tarball> |& tee filelist to get a list of files 
installed from the package.  I then look at filelist and fixup the files that 
should be in another place like the pkgconfig files or the files that go 
into /etc

>
> I would try to add these flags:
>
>   --with-qt-dir=${QTDIR} \
>   --with-qt-includes=${QTDIR}/include \
>   --with-qt-libraries=${QTDIR}/lib \
>   --enable-closure \
>   --disable-rpath

Ok I will try

>
> > Thank you very much for helping me with this problem.
>
> Unfortunately, it is still a mistery...


Thanks