[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