trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2011

Re: [trinity-devel] Autotools package builds

From: /dev/ammo42 <mickeytintincolle@...>
Date: Fri, 16 Dec 2011 15:32:43 +0100
On Fri, 16 Dec 2011 09:20:06 -0500
Baho Utot <baho-utot@...> wrote:

> 
> 
> 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
The linker forgot to link the Qt library.
> 
> > 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
The linker even forgets linking the libstdc++, but not libqt-mt this
time. Perhaps this is because of using 'gcc -x c++' instead of 'g++', I
don't really know because I always use the latter.
> 
> >
> > > 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
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> trinity-devel-unsubscribe@... For additional
> commands, e-mail: trinity-devel-help@... Read
> list messsages on the Web archive:
> http://trinity-devel.pearsoncomputing.net/ Please remember not to
> top-post:
> http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
>