[arch-general] makechrootpkg - not using cmake environment from PKGBUILD - help?
David C. Rankin
drankinatty at suddenlinkmail.com
Tue Feb 8 22:00:51 EST 2011
Guys,
I am having 2 difficulties building in my archroot environment. I have
created the archroot in /home/david/chbld/root. I have managed to build
trinity-qt3, trinity-pyqt3 and trinity-tqtinterface in the archroot, but now
when I start building packages that rely on the installed package environment, I
am encountering errors:
(1) The pkgbuilds use exports to set the cmake environment. eg.:
export CMAKE_PREFIX_PATH=/opt/qt
export CMAKE_INCLUDE_PATH=/opt/qt/include:/opt/qt/include/tqt
this works fine in the virtualbox clean environment, but fails in the
mkarchroot. For example, building trinity-arts:
[100%] Building CXX object qtmcop/CMakeFiles/qtmcop-shared.dir/qiomanager.cc.o
cd /build/src/arts-bld/qtmcop && /usr/bin/c++ -Dqtmcop_shared_EXPORTS
-DHAVE_CONFIG_H -march=i686 -mtune=generic -O2 -pipe -fPIC
-I/build/src/arts-bld/qtmcop -I/build/src/arts-bld/mcop -o
CMakeFiles/qtmcop-shared.dir/qiomanager.cc.o -c
/build/src/arts-bld/qtmcop/qiomanager.cc
In file included from /build/src/arts-bld/qtmcop/qiomanager.cc:23:0:
/build/src/arts-bld/qtmcop/qiomanager.h:33:22: fatal error: tqobject.h: No such
file or directory
compilation terminated.
make[2]: *** [qtmcop/CMakeFiles/qtmcop-shared.dir/qiomanager.cc.o] Error 1
make[2]: Leaving directory `/build/src/arts-bld'
make[1]: *** [qtmcop/CMakeFiles/qtmcop-shared.dir/all] Error 2
make[1]: Leaving directory `/build/src/arts-bld'
make: *** [all] Error 2
Aborting...
tqobject.h is right where it should be in the rw chroot structure:
20:20 providence:~/chbld/tbld/trinity-arts> l
~/chbld/copy/opt/qt/include/tqt/tqobject.h
-rw-r--r-- 1 root root 1139 Feb 8 17:49
/home/david/chbld/copy/opt/qt/include/tqt/tqobject.h
The PKGBUILD I'm attempting to use is here in full:
http://www.3111skyline.com/dl/dt/trinity/arch/svn/dependencies/arts/PKGBUILD-arts.svn
Why is makechrootpkg not respecting the cmake environment variable for
CMAKE_INCLUDE_PATH?
(2) The archroot isn't handling dependencies from the custom local repository
requiring that packages be manually installed with makechrootpkg -r <chrootdir>
-I <package>
I'm a bit bewildered here. (happens) I have created the chroot repo in
~/chbld/root/chrepo and used repo-add to create the index:
20:49 providence:~/chbld> ls -1 ~/chbld/root/chrepo/
chrepo.db
chrepo.db.tar.gz
chrepo.db.tar.gz.old
trinity-pyqt3-3.18.1-9-i686.pkg.tar.xz
trinity-qt3-3.3.8-20-i686.pkg.tar.xz
trinity-tqtinterface-9999-1-i686.pkg.tar.xz
I've added the entry to ~/chbld/root/etc/pacman.conf:
<snip>
[core]
Include = /etc/pacman.d/mirrorlist
# mkarchroot repo
[chrepo]
Server = file:///chrepo
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
<snip>
The repository index is read during the makechrootpkg call is for all
things -- looks fine:
18:51 providence:~/chbld/root/home> sudo mkarchroot -u /home/david/chbld/root/
:: Synchronizing package databases...
core is up to date
chrepo 1.0K 8.7M/s 00:00:00
[#####################################] 100%
extra is up to date
community 427.8K 586.7K/s 00:00:01
[#####################################] 100%
:: Starting full system upgrade...
there is nothing to do
But when a PKGBUILD lists a package in chrepo as a dependency, the build
fails with:
17:23 providence:~/chbld/tbld/trinity-tqtinterface> sudo makechrootpkg -r
/home/david/chbld
==> Making package: trinity 9999-1 (Tue Feb 8 23:23:28 UTC 2011)
==> Checking Runtime Dependencies...
==> Installing missing dependencies...
error: 'trinity-qt3': could not find or read package
==> ERROR: 'pacman' failed to install missing dependencies.
Build failed, check /home/david/chbld/copy/build
Any reason makechroot is not installing dependencies from the local chrepo
stand out?
Thanks for any help you can provide on either issue.
--
David C. Rankin, J.D., P.E.
More information about the arch-general
mailing list