Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Feb 2010 16:32:27 +0000
From:      xorquewasp@googlemail.com
To:        freebsd-hackers@freebsd.org
Subject:   package building failure irritation
Message-ID:  <20100226163227.GA15162@logik.internal.network>

next in thread | raw e-mail | index | archive | help
'Lo.

I've come up against an infuriating problem with ports. I don't even
know what causes it, let alone how to solve it.

Essentially, to stop already-installed software from polluting port
builds, I build ports in a jail. I put a list of ports in a file and
use a trivial shell script to build them one after the other with:

cd $port
make clean
make deinstall
make package-recursive

The jail is set up with:

/etc/make.conf:
WRKDIRPREFIX=3D /work
DISTDIR=3D      /distfiles
PACKAGES=3D     /pkg
PORTSDIR=3D     /ports

With /ports, /distfiles and /pkg being mounted from outside the
jail using nullfs (just because those directories exist on a ZFS
array outside of the jail for performance reasons).

Before building a set of packages, the jail is wiped clean with
'pkg_delete -a'.

The problem is that it seems most ports just outright fail to
produce packages. I log each build and often the last lines of
the log files read something like:

xchm:

tar: share/sgml/docbook/4.2/ChangeLog: Cannot stat: No such file or directo=
ry
tar: share/sgml/docbook/4.2/calstblx.dtd: Cannot stat: No such file or dire=
ctory
tar: share/sgml/docbook/4.2/catalog: Cannot stat: No such file or directory
tar: share/sgml/docbook/4.2/catalog.xml: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/dbcentx.mod: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/dbgenent.mod: Cannot stat: No such file or dire=
ctory
tar: share/sgml/docbook/4.2/dbhierx.mod: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/dbnotnx.mod: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/dbpoolx.mod: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/docbook.cat: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/docbook.dcl: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/docbook.dtd: Cannot stat: No such file or direc=
tory
tar: share/sgml/docbook/4.2/docbookx.dtd: Cannot stat: No such file or dire=
ctory
tar: share/sgml/docbook/4.2/soextblx.dtd: Cannot stat: No such file or dire=
ctory
tar: share/sgml/docbook/4.2/README: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors.
pkg_create: make_dist: tar command failed with code 256
Creating package /pkg/All/docbook-4.2.tbz
Registering depends: iso8879-1986_2 xmlcatmgr-2.2.
Creating bzip'd tar ball in '/pkg/All/docbook-4.2.tbz'
*** Error code 1

Stop in /ports/textproc/docbook-420.
*** Error code 1

Stop in /ports/textproc/docbook-420.
*** Error code 1

Stop in /ports/deskutils/xchm.
fatal: failed

gimp:

=3D=3D=3D>  Patching for libopenraw-0.0.8_2
=3D=3D=3D>  Applying FreeBSD patches for libopenraw-0.0.8_2
=3D=3D=3D>   libopenraw-0.0.8_2 depends on file: /usr/local/bin/intltool-ex=
tract - found
=3D=3D=3D>   libopenraw-0.0.8_2 depends on executable: pkg-config - found
=3D=3D=3D>   libopenraw-0.0.8_2 depends on shared library: boost_thread.4 -=
 not found
=3D=3D=3D>    Verifying install for boost_thread.4 in /ports/devel/boost-li=
bs
=3D=3D=3D>   Returning to build of libopenraw-0.0.8_2
Error: shared library "boost_thread.4" does not exist
*** Error code 1

Stop in /ports/graphics/libopenraw.
*** Error code 1

Stop in /ports/graphics/gegl.
*** Error code 1

Stop in /ports/graphics/gimp-app.
*** Error code 1

Stop in /ports/graphics/gimp.
fatal: failed

inkscape:

Creating bzip'd tar ball in '/pkg/All/atk-1.28.0.tbz'
=3D=3D=3D>   Generating temporary packing list
tar: lib/gtk-2.0/2.10.0/printbackends/libprintbackend-cups.a: Cannot stat: =
No such file or directory
tar: lib/gtk-2.0/2.10.0/printbackends/libprintbackend-cups.la: Cannot stat:=
 No such file or directory
tar: lib/gtk-2.0/2.10.0/printbackends/libprintbackend-cups.so: Cannot stat:=
 No such file or directory
tar: Error exit delayed from previous errors.
pkg_create: make_dist: tar command failed with code 256
Creating package /pkg/All/gtk-2.18.7.tbz
Registering depends: atk-1.28.0 cups-client-1.4.2_4 gnutls-2.8.3 libgcrypt-=
1.4.4 libgpg-error-1.7 pango-1.26.2 shared-mime-info-0.71 gio-fam-backend-2=
=2E22.4 gamin-0.1.10_3 glib-2.22.4 gettext-0.17_1 libxml2-2.7.6_1 libiconv-=
1.13.1_1 libXinerama-1.0.3,1 libXi-1.2.1,1 libXrandr-1.3.0 libXcomposite-0.=
4.0,1 libXext-1.0.5,1 libXdamage-1.1.1 libXcursor-1.1.9_1 libXfixes-4.0.3_1=
 libXft-2.1.14 cairo-1.8.8,1 libXrender-0.9.4_1 libX11-1.2.1_1,1 xcb-util-0=
=2E3.6_1 libxcb-1.5 libpthread-stubs-0.3_3 pcre-8.00 libXau-1.0.4 libXdmcp-=
1.0.2_1 xorg-fonts-truetype-7.4 font-bh-ttf-1.0.0 font-misc-meltho-1.0.0_1 =
font-misc-ethiopic-1.0.0 mkfontdir-1.0.4 mkfontscale-1.0.6 libfontenc-1.0.4=
 xproto-7.0.15 bitstream-vera-1.10_4 fontconfig-2.8.0,1 freetype2-2.3.11 pi=
xman-0.16.6 pkg-config-0.23_1 jasper-1.900.1_9 tiff-3.9.2_1 jbigkit-1.6 jpe=
g-8 png-1.2.42 perl-5.10.1 python26-2.6.4 hicolor-icon-theme-0.12 expat-2.0=
=2E1_1 encodings-1.0.2,1 font-util-1.0.1 compositeproto-0.4 damageproto-1.1=
=2E0_2 fixesproto-4.0 inputproto-1.5.0 kbproto-1.0.3 randrproto-1.3.0 rende=
rproto-0.9.3 xextproto-7.0.5 xineramaproto-1.1.2.
Creating bzip'd tar ball in '/pkg/All/gtk-2.18.7.tbz'
*** Error code 1

Stop in /ports/x11-toolkits/gtk20.
*** Error code 1

Stop in /ports/x11-toolkits/gtk20.
*** Error code 1

Stop in /ports/graphics/inkscape.
fatal: failed

Note that in most cases, the compilation *will* produce a package but will
fail to produce packages for dependencies, resulting in pkg_add spewing
errors upon install:

pkg_add: could not find package liblqr-1-0.4.1 !
pkg_add: could not find package enchant-1.4.2 !
pkg_add: could not find package libsigc++-2.2.4.2 !
pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed!
pkg_add: could not find package libxml++-2.26.1 !
pkg_add: could not find package libsigc++-2.2.4.2 !
pkg_add: could not find package libsigc++-2.2.4.2 !
pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed!
pkg_add: could not find package libxml++-2.26.1 !
pkg_add: autoload of dependency '/pkg/All/cairomm-1.8.4.tbz' failed!
pkg_add: could not find package libsigc++-2.2.4.2 !
pkg_add: could not find package libsigc++-2.2.4.2 !
pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed!
pkg_add: could not find package libxml++-2.26.1 !
pkg_add: could not find package libsigc++-2.2.4.2 !
pkg_add: could not find package libsigc++-2.2.4.2 !
pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed!

And so on and so on.

What's the problem here? It surely shouldn't be this hard to use 'make pack=
age'.

The system is a vanilla install of FreeBSD 8.0 AMD64 with an up-to-date
ports tree as of yesterday.

xw



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100226163227.GA15162>