shebang problem with python, Was: [REL - head-i386-default][databases/postgresql-libpqxx] Failed for postgresql-libpqxx-4.0.1 in build

Palle Girgensohn girgen at FreeBSD.org
Thu Feb 13 19:22:19 UTC 2014


Hi python@ and bapt@,

I'm usnure how to fix this problem. 

postgresql-libpqxx needs python (shebang:ed) during the build process, and this is defined in the port using 

USE_PYTHON_BUILD=       yes
USES=           gmake shebangfix
SHEBANG_FILES=  ${WRKSRC}/tools/splitconfig


The shebangfix alters #!/usr/bin/python in tools/splitconfig to #!/usr/local/bin/python...

But USE_PYTHON_BUILD only installs the python2 symlink, not the python symlink, so /usr/local/bin/python does not get installed in a clean room environment.

I believe the port is agnostic to the version of python, so I don't want to enforce a specific version of python just for this port's build, but the build process does not automatically install the lang/python meta port. 

How is this supposed to work?

Palle


13 feb 2014 kl. 20:03 skrev pkg-fallout-builder at FreeBSD.org:

> You are receiving this mail as a port that you maintain
> is failing to build on the FreeBSD package build server.
> Please investigate the failure and submit a PR to fix
> build.
> 
> Maintainer:     pgsql at FreeBSD.org
> Last committer: mat at FreeBSD.org
> Ident:          $FreeBSD: head/databases/postgresql-libpqxx/Makefile 340722 2014-01-22 17:00:46Z mat $
> Log URL:        http://beefy1.isc.freebsd.org/bulk/head-i386-default/2014-02-13_11h09m11s/logs/postgresql-libpqxx-4.0.1.log
> Build URL:      http://beefy1.isc.freebsd.org/bulk/head-i386-default/2014-02-13_11h09m11s
> Log:
> 
> ====>> Building databases/postgresql-libpqxx
> build started at Thu Feb 13 19:03:08 UTC 2014
> port directory: /usr/ports/databases/postgresql-libpqxx
> building for: FreeBSD head-i386-default-job-24 11.0-CURRENT FreeBSD 11.0-CURRENT r261447 i386
> maintained by: pgsql at FreeBSD.org
> Makefile ident:      $FreeBSD: head/databases/postgresql-libpqxx/Makefile 340722 2014-01-22 17:00:46Z mat $
> Poudriere version: 3.1-pre
> 
> ---Begin Environment---
> UNAME_m=i386
> UNAME_p=i386
> OSVERSION=1100007
> UNAME_v=FreeBSD 11.0-CURRENT r261447
> UNAME_r=11.0-CURRENT
> BLOCKSIZE=K
> MAIL=/var/mail/root
> STATUS=1
> MASTERMNT=/usr/local/poudriere/data/build/head-i386-default/ref
> PKG_EXT=txz
> tpid=54859
> PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
> POUDRIERE_BUILD_TYPE=bulk
> PKGNG=1
> PKGNAME=postgresql-libpqxx-4.0.1
> PKG_DELETE=/usr/local/sbin/pkg-static delete -y -f
> PKG_ADD=/usr/local/sbin/pkg-static add
> PWD=/root
> MASTERNAME=head-i386-default
> USER=root
> HOME=/root
> POUDRIERE_VERSION=3.1-pre
> LOCALBASE=/usr/local
> PACKAGE_BUILDING=yes
> PKG_VERSION=/poudriere/pkg-static version
> PKG_BIN=/usr/local/sbin/pkg-static
> ---End Environment---
> 
> ---Begin OPTIONS List---
> ---End OPTIONS List---
> 
> --CONFIGURE_ARGS--
> --enable-shared  --disable-dependency-tracking --prefix=/usr/local ${_LATE_CONFIGURE_ARGS}
> --End CONFIGURE_ARGS--
> 
> --CONFIGURE_ENV--
> TMPDIR="/tmp" PYTHON="/usr/local/bin/python2.7" MAKE=gmake SHELL=/bin/sh CONFIG_SHELL=/bin/sh CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=262144
> --End CONFIGURE_ENV--
> 
> --MAKE_ENV--
> TMPDIR="/tmp" SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="cc" CFLAGS="-O2 -pipe -fno-strict-aliasing"  CPP="cpp" CPPFLAGS="-I/usr/local/include"  LDFLAGS=" -L/usr/local/lib"  CXX="c++" CXXFLAGS="-O2 -pipe -fno-strict-aliasing"  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -o root -g wheel -m 555"  BSD_INSTALL_LIB="install  -s -o root -g wheel -m 444"  BSD_INSTALL_SCRIPT="install  -o root -g wheel -m 555"  BSD_INSTALL_DATA="install  -o root -g wheel -m 444"  BSD_INSTALL_MAN="install  -o root -g wheel -m 444"
> --End MAKE_ENV--
> 
> --SUB_LIST--
> PREFIX=/usr/local
> LOCALBASE=/usr/local
> DATADIR=/usr/local/share/libpqxx
> DOCSDIR=/usr/local/share/doc/libpqxx
> EXAMPLESDIR=/usr/local/share/examples/libpqxx
> WWWDIR=/usr/local/www/libpqxx
> ETCDIR=/usr/local/etc/libpqxx
> --End SUB_LIST--
> 
> ---Begin make.conf---
> ARCH=i386
> MACHINE=i386
> MACHINE_ARCH=i386
> USE_PACKAGE_DEPENDS=yes
> BATCH=yes
> WRKDIRPREFIX=/wrkdirs
> PORTSDIR=/usr/ports
> PACKAGES=/packages
> DISTDIR=/distfiles
> #### /usr/local/etc/poudriere.d/make.conf ####
> WITH_PKGNG=yes
> NO_RESTRICTED=yes
> DISABLE_MAKE_JOBS=poudriere
> ---End make.conf---
> ===>  Cleaning for postgresql-libpqxx-4.0.1
> =======================<phase: check-config   >============================
> ===========================================================================
> =======================<phase: pkg-depends    >============================
> ===>   postgresql-libpqxx-4.0.1 depends on file: /usr/local/sbin/pkg - not found
> ===>    Verifying install for /usr/local/sbin/pkg in /usr/ports/ports-mgmt/pkg
> ===>   Installing existing package /packages/All/pkg-1.2.6.txz
> Installing pkg-1.2.6... done
> If you are upgrading from the old package format, first run:
> 
>  # pkg2ng
> ===>   Returning to build of postgresql-libpqxx-4.0.1
> ===========================================================================
> =======================<phase: fetch-depends  >============================
> ===========================================================================
> =======================<phase: fetch          >============================
> ===>  License BSD3CLAUSE accepted by the user
> ===> Fetching all distfiles required by postgresql-libpqxx-4.0.1 for building
> ===========================================================================
> =======================<phase: checksum       >============================
> ===>  License BSD3CLAUSE accepted by the user
> ===> Fetching all distfiles required by postgresql-libpqxx-4.0.1 for building
> => SHA256 Checksum OK for postgresql/libpqxx-4.0.1.tar.gz.
> ===========================================================================
> =======================<phase: extract-depends>============================
> ===========================================================================
> =======================<phase: extract        >============================
> ===>  License BSD3CLAUSE accepted by the user
> ===> Fetching all distfiles required by postgresql-libpqxx-4.0.1 for building
> ===>  Extracting for postgresql-libpqxx-4.0.1
> => SHA256 Checksum OK for postgresql/libpqxx-4.0.1.tar.gz.
> ===========================================================================
> =======================<phase: patch-depends  >============================
> ===========================================================================
> =======================<phase: patch          >============================
> ===>  Patching for postgresql-libpqxx-4.0.1
> ===>  Applying FreeBSD patches for postgresql-libpqxx-4.0.1
> ===========================================================================
> =======================<phase: build-depends  >============================
> ===>   postgresql-libpqxx-4.0.1 depends on file: /usr/local/bin/python2.7 - not found
> ===>    Verifying install for /usr/local/bin/python2.7 in /usr/ports/lang/python27
> ===>   Installing existing package /packages/All/python27-2.7.6_2.txz
> Installing python27-2.7.6_2...Installing gettext-0.18.3.1... done
> done
> ====
> Note that some of the standard modules are provided as separate
> ports since they require extra dependencies:
> 
> bsddb           databases/py-bsddb
> gdbm            databases/py-gdbm
> sqlite3         databases/py-sqlite3
> tkinter         x11-toolkits/py-tkinter
> 
> Install them as needed.
> ====
> ===>   Returning to build of postgresql-libpqxx-4.0.1
> ===>   postgresql-libpqxx-4.0.1 depends on executable: gmake - not found
> ===>    Verifying install for gmake in /usr/ports/devel/gmake
> ===>   Installing existing package /packages/All/gmake-3.82_1.txz
> Installing gmake-3.82_1... done
> ===>   Returning to build of postgresql-libpqxx-4.0.1
> ===========================================================================
> =======================<phase: lib-depends    >============================
> ===>   postgresql-libpqxx-4.0.1 depends on shared library: pq.5 - not found
> ===>    Verifying install for pq.5 in /usr/ports/databases/postgresql90-client
> ===>   Installing existing package /packages/All/postgresql90-client-9.0.15.txz
> Installing postgresql90-client-9.0.15...Installing libxml2-2.8.0_3... done
> done
> The PostgreSQL port has a collection of "side orders":
> 
> postgresql-docs
>  For all of the html documentation
> 
> p5-Pg
>  A perl5 API for client access to PostgreSQL databases.
> 
> postgresql-tcltk 
>  If you want tcl/tk client support.
> 
> postgresql-jdbc
>  For Java JDBC support.
> 
> postgresql-odbc
>  For client access from unix applications using ODBC as access
>  method. Not needed to access unix PostgreSQL servers from Win32
>  using ODBC. See below.
> 
> ruby-postgres, py-PyGreSQL
>  For client access to PostgreSQL databases using the ruby & python
>  languages.
> 
> postgresql-plperl, postgresql-pltcl & postgresql-plruby
>  For using perl5, tcl & ruby as procedural languages.
> 
> postgresql-contrib
>  Lots of contributed utilities, postgresql functions and
>  datatypes. There you find pg_standby, pgcrypto and many other cool
>  things.
> 
> etc...
> ===>   Returning to build of postgresql-libpqxx-4.0.1
> ===========================================================================
> =======================<phase: configure      >============================
> ===>  Configuring for postgresql-libpqxx-4.0.1
> ===>   FreeBSD 10 autotools fix applied to /wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/config/m4/libtool.m4
> ===>   FreeBSD 10 autotools fix applied to /wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/aclocal.m4
> ===>   FreeBSD 10 autotools fix applied to /wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/configure
> configure: loading site script /usr/ports/Templates/config.site
> checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p
> checking for gawk... (cached) /usr/bin/awk
> checking whether gmake sets $(MAKE)... yes
> checking whether the C++ compiler works... yes
> checking for C++ compiler default output file name... a.out
> checking for suffix of executables... 
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C++ compiler... yes
> checking whether c++ accepts -g... yes
> checking for style of include used by gmake... GNU
> checking dependency style of c++... none
> <snip>
> checking how to print strings... printf
> checking for a sed that does not truncate output... (cached) /usr/bin/sed
> checking for grep that handles long lines and -e... (cached) /usr/bin/grep
> checking for egrep... (cached) /usr/bin/egrep
> checking for fgrep... (cached) /usr/bin/fgrep
> checking for ld used by cc... /usr/bin/ld
> checking if the linker (/usr/bin/ld) is GNU ld... yes
> checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
> checking the name lister (/usr/bin/nm -B) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... (cached) 262144
> checking whether the shell understands some XSI constructs... yes
> checking whether the shell understands "+="... no
> checking how to convert i386-portbld-freebsd11.0 file names to i386-portbld-freebsd11.0 format... func_convert_file_noop
> checking how to convert i386-portbld-freebsd11.0 file names to toolchain format... func_convert_file_noop
> checking for /usr/bin/ld option to reload object files... -r
> checking for objdump... objdump
> checking how to recognize dependent libraries... pass_all
> checking for dlltool... no
> checking how to associate runtime and link libraries... printf %s\n
> checking for ar... ar
> checking for archiver @FILE support... no
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /usr/bin/nm -B output from cc object... ok
> checking for sysroot... no
> checking for mt... mt
> checking if mt is a manifest tool... no
> checking how to run the C preprocessor... cpp
> checking for ANSI C header files... (cached) yes
> checking for sys/types.h... (cached) yes
> checking for sys/stat.h... (cached) yes
> checking for stdlib.h... (cached) yes
> checking for string.h... (cached) yes
> checking for memory.h... (cached) yes
> checking for strings.h... (cached) yes
> checking for inttypes.h... (cached) yes
> checking for stdint.h... (cached) yes
> checking for unistd.h... (cached) yes
> checking for dlfcn.h... (cached) yes
> checking for objdir... .libs
> checking if cc supports -fno-rtti -fno-exceptions... yes
> checking for cc option to produce PIC... -fPIC -DPIC
> checking if cc PIC flag -fPIC -DPIC works... yes
> checking if cc static flag -static works... yes
> checking if cc supports -c -o file.o... yes
> checking if cc supports -c -o file.o... (cached) yes
> checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
> checking whether -lc should be explicitly linked in... no
> checking dynamic linker characteristics... freebsd11.0 ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... yes
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking how to run the C++ preprocessor... c++ -E
> checking for ld used by c++... /usr/bin/ld
> checking if the linker (/usr/bin/ld) is GNU ld... yes
> checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
> checking for c++ option to produce PIC... -fPIC -DPIC
> checking if c++ PIC flag -fPIC -DPIC works... yes
> checking if c++ static flag -static works... yes
> checking if c++ supports -c -o file.o... yes
> checking if c++ supports -c -o file.o... (cached) yes
> checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
> checking dynamic linker characteristics... freebsd11.0 ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether gmake sets $(MAKE)... (cached) yes
> checking for mkdir... /bin/mkdir
> checking for pkg-config... no
> checking for doxygen... no
> ./configure: /bin/true: not found
> checking for dot... NO
> checking for xmlto... no
> ./configure: /bin/true: not found
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking maintainer mode... 
> checking g++ visibility attribute... yes
> checking whether c++ accepts -fvisibility-inlines-hidden... yes
> checking g++ const attribute... yes
> checking g++ deprecation attribute... yes
> checking g++ noreturn attribute... yes
> checking g++ pure attribute... yes
> checking name of standard library namespace (normally "std")... ::std
> checking boost/smart_ptr.hpp usability... no
> checking boost/smart_ptr.hpp presence... no
> checking for boost/smart_ptr.hpp... no
> checking whether TR1 headers live in tr1 directory... yes
> checking namespace of TR1 extension to the C++ standard... std
> checking ios usability... yes
> checking ios presence... yes
> checking for ios... yes
> checking streambuf usability... yes
> checking streambuf presence... yes
> checking for streambuf... yes
> checking locale usability... yes
> checking locale presence... yes
> checking for locale... yes
> checking locale function and stringstream::imbue... yes
> checking char_traits template... yes
> checking "warning" preprocessor directive... yes
> checking "message" preprocessor pragma... yes
> checking for pg_config... /usr/local/bin/pg_config
> configure: using PostgreSQL headers at /usr/local/include
> configure: using PostgreSQL libraries at /usr/local/lib
> checking for ANSI C header files... (cached) yes
> checking ability to compile programs using the standard C library... yes
> checking for library containing select... none required
> checking /usr/local/include/libpq-fe.h usability... yes
> checking /usr/local/include/libpq-fe.h presence... yes
> checking for /usr/local/include/libpq-fe.h... yes
> checking for ability to compile source files using libpq... yes
> checking for main in -lpq... yes
> checking for PQexec in -lpq... yes
> checking for correct C++ linkage of basic libpq functions... yes
> checking that type of libpq's Oid is as expected... yes
> checking lo_tell()... yes
> checking for strerror_r... yes
> checking for GNU-style strerror_r... no
> checking for strnlen... yes
> checking for strlcpy... yes
> checking for long long... yes
> checking for long double... yes
> checking for working <sys/select.h>... yes
> checking for poll()... yes
> checking for working fd_set... yes
> checking if select() accepts NULL fdsets... yes
> checking sleep()... yes
> checking PQisthreadsafe()... yes
> checking PQescapeLiteral()... yes
> checking support for hex binary escaping format... yes
> checking PQescapeIdentifier()... pqescapeidentifier
> checking PQencryptPassword()... yes
> checking PQmblen()... yes
> checking PQdescribePortal()... yes
> checking PQclientEncoding()... yes
> checking PQcancel()... yes
> checking limits usability... yes
> checking limits presence... yes
> checking for limits... yes
> checking for C99 isnan()... no
> checking for std::numeric_limits<>::quiet_NaN()... yes
> checking for C NAN macro... yes
> checking for C99 nan() family... yes
> checking for C99 isinf()... no
> checking whether std::string has a clear() function... yes
> checking for standard distance()... yes
> checking if count_if() works as expected... yes
> checking whether <iterator> defines a usable iterator template... yes
> checking for reverse_iterator template... yes
> checking for auto_ptr... yes
> checking for tr1::shared_ptr... yes
> checking for unique_ptr... yes
> checking for move()... yes
> checking whether overloaded using-declarations work... yes
> checking whether gmake sets $(MAKE)... (cached) yes
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating config/Makefile
> config.status: creating debian/Makefile
> config.status: creating doc/Makefile
> config.status: creating doc/Doxyfile
> config.status: creating src/Makefile
> config.status: creating test/Makefile
> config.status: creating test/unit/Makefile
> config.status: creating tools/Makefile
> config.status: creating win32/Makefile
> config.status: creating include/Makefile
> config.status: creating include/pqxx/Makefile
> config.status: creating libpqxx.pc
> config.status: creating pqxx-config
> config.status: creating libpqxx.spec
> config.status: creating include/pqxx/config.h
> config.status: executing depfiles commands
> config.status: executing libtool commands
> config.status: executing configitems commands
> ./config.status: ./tools/splitconfig: not found
> ===========================================================================
> =======================<phase: build          >============================
> ===>  Building for postgresql-libpqxx-4.0.1
> gmake[1]: Entering directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1'
> Making all in include
> gmake[2]: Entering directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/include'
> Making all in pqxx
> gmake[3]: Entering directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/include/pqxx'
> gmake  all-am
> gmake[4]: Entering directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/include/pqxx'
> gmake[4]: *** No rule to make target `config-internal-compiler.h', needed by `all-am'.  Stop.
> gmake[4]: Leaving directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/include/pqxx'
> gmake[3]: *** [all] Error 2
> gmake[3]: Leaving directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/include/pqxx'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1/include'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/wrkdirs/usr/ports/databases/postgresql-libpqxx/work/libpqxx-4.0.1'
> *** Error code 1
> 
> Stop.
> make: stopped in /usr/ports/databases/postgresql-libpqxx
> ===>  Cleaning for postgresql-libpqxx-4.0.1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-pkg-fallout/attachments/20140213/f43c302a/attachment.sig>


More information about the freebsd-pkg-fallout mailing list