Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jun 2011 17:04:12 -0600
From:      Matthew Pounsett <matt@conundrum.com>
To:        freebsd-ports@freebsd.org
Subject:   portinstall dependency calculation mishap
Message-ID:  <BF4D9964-AD3C-45D8-A9F5-B0F92AE64D3E@conundrum.com>

next in thread | raw e-mail | index | archive | help

I've run into an odd problem where portinstall seems to want to =
double-install a package when portinstall is run from inside a bash =
script.  The case I ran into was trying to install the postgres84-server =
port.  In the dependencies is devel/pkg-config.  When run from inside a =
shell script, portinstall tries to install pkg-config a second time =
after the postgres install is complete.  If I run it outside a shell =
script (from my prompt) it works fine. =20

I ran into this using my personal environment and sudo, but I've =
repeated it with a bare tcsh login as well as a direct login to root's =
account from the console, so I'm confident this isn't due to =
interference from something in my environment.

I can work around this by installing pkg-config directly before =
installing postgres, but thought this was odd enough to warrant an email =
to the list.

Repeatability is trivial on a freshly installed 8.0-RELEASE as well as =
on 8.2-RELEASE-p2 system with an up-to-date ports tree.

> cat >> testscript <<EOF
#!/usr/local/bin/bash

portinstall databases/postgresql84-server
EOF

> chmod a+x testscript
> sudo ./testscript

I've trimmed the config/cc/etc output from a log of my shell and =
included it below so that the order of operations can be seen.

[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 22 packages =
found (-3 +0) (...) done]
[Gathering depends for databases/postgresql84-server ............... =
done]
--->  Installing 'postgresql-client-8.4.8' from a port =
(databases/postgresql84-client)
--->  Building '/usr/ports/databases/postgresql84-client'
=3D=3D=3D>  Cleaning for libxml2-2.7.8_1
=3D=3D=3D>  Cleaning for pkg-config-0.25_1
=3D=3D=3D>  Cleaning for postgresql-client-8.4.8
=3D=3D=3D>  Vulnerability check disabled, database not found
=3D=3D=3D>  License check disabled, port has not defined LICENSE
=3D=3D=3D>  Found saved configuration for postgresql-client-8.4.8
=3D=3D=3D>  Extracting for postgresql-client-8.4.8
=3D> SHA256 Checksum OK for postgresql/postgresql-8.4.8.tar.bz2.
=3D=3D=3D>  Patching for postgresql-client-8.4.8
=3D=3D=3D>  Applying FreeBSD patches for postgresql-client-8.4.8
=3D=3D=3D>   postgresql-client-8.4.8 depends on executable: gmake - =
found
=3D=3D=3D>   postgresql-client-8.4.8 depends on shared library: xml2.5 - =
not found
=3D=3D=3D>    Verifying install for xml2.5 in =
/usr/ports/textproc/libxml2
=3D=3D=3D>  Vulnerability check disabled, database not found
=3D=3D=3D>  License check disabled, port has not defined LICENSE
=3D=3D=3D>  Extracting for libxml2-2.7.8_1
=3D> SHA256 Checksum OK for gnome2/libxml2-2.7.8.tar.gz.
=3D=3D=3D>  Patching for libxml2-2.7.8_1
=3D=3D=3D>  Applying FreeBSD patches for libxml2-2.7.8_1
=3D=3D=3D>   libxml2-2.7.8_1 depends on executable: gmake - found
=3D=3D=3D>   libxml2-2.7.8_1 depends on executable: pkg-config - not =
found
=3D=3D=3D>    Verifying install for pkg-config in =
/usr/ports/devel/pkg-config
=3D=3D=3D>  Vulnerability check disabled, database not found
=3D=3D=3D>  License check disabled, port has not defined LICENSE
=3D=3D=3D>  Extracting for pkg-config-0.25_1
=3D> SHA256 Checksum OK for gnome2/pkg-config-0.25.tar.gz.
=3D=3D=3D>  Patching for pkg-config-0.25_1
=3D=3D=3D>  Applying FreeBSD patches for pkg-config-0.25_1
=3D=3D=3D>   pkg-config-0.25_1 depends on executable: gmake - found
=3D=3D=3D>  Configuring for pkg-config-0.25_1
=3D=3D=3D>  Building for pkg-config-0.25_1
=3D=3D=3D>  Installing for pkg-config-0.25_1
=3D=3D=3D>   Generating temporary packing list
=3D=3D=3D>  Checking if devel/pkg-config already installed
=3D=3D=3D>   Compressing manual pages for pkg-config-0.25_1
=3D=3D=3D>   Registering installation for pkg-config-0.25_1
=3D=3D=3D>   Returning to build of libxml2-2.7.8_1
=3D=3D=3D>   libxml2-2.7.8_1 depends on shared library: iconv.3 - found
=3D=3D=3D>  Configuring for libxml2-2.7.8_1
=3D=3D=3D>  Building for libxml2-2.7.8_1
=3D=3D=3D>  Installing for libxml2-2.7.8_1
=3D=3D=3D>   libxml2-2.7.8_1 depends on executable: pkg-config - found
=3D=3D=3D>   Generating temporary packing list
=3D=3D=3D>  Checking if textproc/libxml2 already installed
=3D=3D=3D>   Compressing manual pages for libxml2-2.7.8_1
=3D=3D=3D>   Running ldconfig
=3D=3D=3D>   Registering installation for libxml2-2.7.8_1
=3D=3D=3D>   Returning to build of postgresql-client-8.4.8
=3D=3D=3D>   postgresql-client-8.4.8 depends on shared library: intl - =
found
=3D=3D=3D>  Configuring for postgresql-client-8.4.8
=3D=3D=3D>  Building for postgresql-client-8.4.8
=3D=3D=3D>  Installing for postgresql-client-8.4.8
=3D=3D=3D>   postgresql-client-8.4.8 depends on shared library: xml2.5 - =
found
=3D=3D=3D>   postgresql-client-8.4.8 depends on shared library: intl - =
found
=3D=3D=3D>   Generating temporary packing list
=3D=3D=3D>  Checking if databases/postgresql84-client already installed
=3D=3D=3D>   Compressing manual pages for postgresql-client-8.4.8
=3D=3D=3D>   Running ldconfig
=3D=3D=3D>   Registering installation for postgresql-client-8.4.8
=3D=3D=3D>  Cleaning for libxml2-2.7.8_1
=3D=3D=3D>  Cleaning for pkg-config-0.25_1
=3D=3D=3D>  Cleaning for postgresql-client-8.4.8
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 25 packages =
found (-0 +3) ... done]
--->  Installing 'pkg-config-0.25_1' from a port (devel/pkg-config)
--->  Building '/usr/ports/devel/pkg-config'
=3D=3D=3D>  Cleaning for pkg-config-0.25_1
=3D=3D=3D>  Vulnerability check disabled, database not found
=3D=3D=3D>  License check disabled, port has not defined LICENSE
=3D=3D=3D>  Extracting for pkg-config-0.25_1
=3D> SHA256 Checksum OK for gnome2/pkg-config-0.25.tar.gz.
=3D=3D=3D>  Patching for pkg-config-0.25_1
=3D=3D=3D>  Applying FreeBSD patches for pkg-config-0.25_1
=3D=3D=3D>   pkg-config-0.25_1 depends on executable: gmake - found
=3D=3D=3D>  Configuring for pkg-config-0.25_1
=3D=3D=3D configuring in glib-1.2.10 =
(/usr/ports/devel/pkg-config/work/pkg-config-0.25/glib-1.2.10)
=3D=3D=3D>  Building for pkg-config-0.25_1
=3D=3D=3D>  Installing for pkg-config-0.25_1
=3D=3D=3D>   Generating temporary packing list
=3D=3D=3D>  Checking if devel/pkg-config already installed
=3D=3D=3D>   pkg-config-0.25_1 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of devel/pkg-config
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/devel/pkg-config.
*** Error code 1

Stop in /usr/ports/devel/pkg-config.
** Command failed [exit code 1]: /usr/bin/script -qa =
/tmp/portinstall20110613-33090-gl4acg-0 env make reinstall
** Fix the installation problem and try again.
--->  Skipping 'textproc/libxml2' because a requisite port =
'devel/pkg-config' failed (specify -k to force)
--->  Skipping 'databases/postgresql84-server' because a requisite port =
'textproc/libxml2' failed (specify -k to force)
** Listing the failed packages (-:ignored / *:skipped / !:failed)
	! devel/pkg-config	(install error)
	* textproc/libxml2
	* databases/postgresql84-server




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BF4D9964-AD3C-45D8-A9F5-B0F92AE64D3E>