To build arts (3.5.12) from the stable repository, with autoconf, I applied a little sed substitution :
$ cp -vp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in && $ cp -vp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh && $ make -f admin/Makefile.common && $ sed -e 's/qiomanager_p.h qiomanager_p.moc/qiomanager_p.h > qiomanager_p.moc/' -i qtmcop/Makefile.in
and then ./configure ... && make && make install
It may help. ( See http://trinity-devel.pearsoncomputing.net/?0::116 )
Sorry for my previous post. I'm afraid it's worthless ; I should have think twice. I'm trying to compile Trinity on a multilib Linux from scratch. I tried several times to compile arts, googled, looked into the archives of this mailing list. I had the idea to patch the Makefile in qtmcop. And it compiled. But the same problem arises with kdelibs and there is a lot of calls to 'moc', in a lot of makefiles. So I'm feeling a little stupid now and I'm wondering what to do. If someone can see where I'm going wrong...
Details below:
Trinity sources : http://ppa2.quickbuild.pearsoncomputing.net/redirect.php?file=releases/3.5.1...
KDE_PREFIX=/opt/trinity PATH=/usr/lib/pkgusr:/bin:/usr/bin:/usr/local/bin:/usr/X11R7/bin:/opt/jdk/bin:/opt/trinity/bin:/usr/share/ant/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin PKG_CONFIG_PATH32=/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/X11R7/share/pkgconfig:/usr/X11R7/lib/pkgconfig:/opt/trinity/lib/pkgconfig PKG_CONFIG_PATH64=/usr/lib64/pkgconfig:/usr/share/pkgconfig:/usr/X11R7/share/pkgconfig:/usr/X11R7/lib64/pkgconfig:/opt/trinity/lib64/pkgconfig XDG_DATA_DIRS=/usr/share:/opt/trinity/share XDG_CONFIG_DIRS=/etc/xdg:/usr/share:/etc/trinity/xdg:/etc/lxde/xdg
cat > /etc/ld.so.conf.d/trinity.conf << "eof" # Begin KDE-Trinity addition to /etc/ld.so.conf /opt/trinity/lib /opt/trinity/lib64 # End KDE-Trinity addition eof
TOP=$PWD
cd $TOP/tqtinterface export PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" export AUTOCONF=autoconf-2.63 cp -vp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in && cp -vp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh && make -f admin/Makefile.common && CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \ WITH_QT3=ON BUILD_ALL=ON ./configure \ --with-gnu-ld \ --libdir=/opt/trinity/lib \ --prefix=/opt/trinity \ --includedir=/opt/trinity/include/kde \ --mandir=/opt/trinity/share/man \ --infodir=/opt/trinity/share/info \ --with-extra-libs=/opt/trinity/lib \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/opt/trinity/lib/kdebase-kde3 \ --enable-closure \ --with-qt-dir=$QTDIR \ --with-qt-libraries=$QTDIR/lib && make -j 1 && make check && mkdir -vp /opt/trinity/include && make install
cd $TOP/tqtinterface-64 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" export AUTOCONF=autoconf-2.63 cp -vp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in && cp -vp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh && make -f admin/Makefile.common && CC="gcc -m64" CXX="g++ -m64" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ WITH_QT3=ON ./configure --with-gnu-ld \ --libdir=/opt/trinity/lib64 \ --enable-libsuffix=64 \ --prefix=/opt/trinity \ --includedir=/opt/trinity/include/kde \ --mandir=/opt/trinity/share/man \ --infodir=/opt/trinity/share/info \ --with-extra-libs=/opt/trinity/lib64 \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/opt/trinity/lib/kdebase-kde3 \ --enable-closure \ --with-qt-dir=$QTDIR \ --with-qt-libraries=$QTDIR/lib64 && make -j 1 && make check && make install
cd $TOP/arts cp -vp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in && cp -vp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh && make -f admin/Makefile.common && CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \ WITH_QT3=ON BUILD_ALL=ON MOCTQT=/opt/trinity/bin/moc-tqt \ ./configure \ --with-gnu-ld \ --libdir=/opt/trinity/lib \ --prefix=/opt/trinity \ --includedir=/opt/trinity/include/kde \ --mandir=/opt/trinity/share/man \ --infodir=/opt/trinity/share/info \ --with-extra-libs=/opt/trinity/lib \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/opt/trinity/lib/kdebase-kde3 \ --enable-closure \ --with-qt-dir=$QTDIR \ --with-qt-libraries=$QTDIR/lib \ --with-jack --with-alsa \ --enable-final && make -j 1
... And it fails here with:
Making all in qtmcop make[2]: Entering directory `/usr/src/trinity/arts/qtmcop' /usr/share/qt/bin/moc ./qiomanager_p.h qiomanager_p.moc Qt meta object compiler moc: Too many input files specified
Le 24/08/2011 18:54, LD a écrit :
I'm trying to compile Trinity on a multilib Linux from scratch. I tried several times to compile arts, googled, looked into the archives of this mailing list. I had the idea to patch the Makefile in qtmcop. And it compiled. But the same problem arises with kdelibs and there is a lot of calls to 'moc', in a lot of makefiles. So I'm feeling a little stupid now and I'm wondering what to do. If someone can see where I'm going wrong...
Details below:
Making all in qtmcop make[2]: Entering directory `/usr/src/trinity/arts/qtmcop' /usr/share/qt/bin/moc ./qiomanager_p.h qiomanager_p.moc Qt meta object compiler moc: Too many input files specified
Hello, unless I do not remember well, the compilation process should not use "moc" from QT directly, but instead use "moc-tqt" from TQT ... These 2 tools do not use the same syntax, that's why it's failing here.
I suppose it's because /opt/trinity/bin should be the first in your $PATH. Once you have compiled & installed TQT to /opt/trinity/ , you should set your environnment to use it BEFORE the standard path.
You may have seen a warning during the ARTS "./configure", saying something like "you are trying to compile without TQT". It should NOT occur, except when compiling TQT itself. Until you see this warning in the ./configure , you cannot compile correctly.
Example of my compilation commands: $ export PATH=/opt/trinity/bin:$PATH I've noticed that for most Trinity components I must also set the LDFLAGS variable or else linking fails: (adjust the directories as needed) $ export LDFLAGS="-I/opt/trinity/include -L/opt/trinity/lib64" Then I can run ... $ ./configure XXXXXXXXX $ make .......
Note that I do not set other environment variables and I do not have a special ld.so.conf ... These 2 variables are sufficient on my computer.
Good luck !