pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/35211 (loop in pkgsrc build on Solaris 10)

The following reply was made to PR pkg/35211; it has been noted by GNATS.

From: Wolfgang Stukenbrock <>
Subject: Re: pkg/35211 (loop in pkgsrc build on Solaris 10)
Date: Tue, 24 Apr 2012 10:00:40 +0200

 currently (pkgsrc 2010Q4 - no more recent build completed till now) 
 gmake-3.82nb1 can be build with Sunstudio 12.1 compiler.
 gettext-lib-0.14.6 and gettext-tools-0.14.6nb1 are build too without the 
 dependency on gcc-2.95.3.
 remark: sunstudio 12.3 has some problems with 2011Q4 - still not 
 completly analysed (no time at the moment and in the next future - sorry).
 Neverless it looks like that the old cycle-problem is gone, but I cannot 
 mark the pkgsrc-version that fixes this problem.
 I think the old PR can be closed.
 best reguards
 W. Stukenbrock
 If you are interested in further information about Solaris 64-bit 
 "features", read below. If not, just stop here.
 Below the list of packages I've installed on one of our Sparc-System 
 (64-bit SunOS 5.10) but first "our" mk.conf file to get it running.
 Accedently there are some packages that requires "very special" handling 
 - e.g. libtool simply is not able to support more than on compiler on a 
 system or if there is more than one target architecture (e.g. 32 and 64 
 bit) available.
 There are some addional patches to the configure scripts of the packages 
 etc. nessesary!
 And the build of gcc-3.3.3 is "very special" ....
 Sometines the generated compiler wrappers need some adjustment too.
 I can send our "build-script" if you like, but it works only with 2010Q4 
 and sunstudio 12.1 ... - both are not the actual version, so I do not 
 add it here (about 10kB with comments).
 It definitly does not work with sunstudio 12.3 and pkgsrc 2011Q4.
 Accedently some packages (does not compile with the sunstudio compiler 
 C++-problems), so the gcc ist needed as "second" compiler ...
 For such packages the make variable NC_PKG_GCC must be set when building 
 the package - e.g. in the Makefile.
 remark: there is a gcc-3.x available in the sfw-tree of Solaris, but I 
 found no way to get pkgsrc to use that one as "second" compiler and 
 avoid installation of gcc-3.3.6. gcc-4.x from 2010Q4 does not build, 
 just to avoid a question why not useing that one.
 remark: some packages ignore the ABI=64 setup and will compile in 32-Bit 
 forcing link-errors during build. Some are catched by setting PLATFORM 
 and TARGET in mk.conf, some need additional handling.
 # Example /usr/pkg/etc/mk.conf file produced by bootstrap-pkgsrc
 # Wed Mar 16 14:27:24 CET 2011
 .ifdef BSD_PKG_MK       # begin pkgsrc settings
 ABI=                    64
 .ifdef NC_PKG_GCC
 PKGSRC_COMPILER=        gcc
 CC=                     /usr/pkg/gcc3/bin/gcc
 CXX=                    /usr/pkg/gcc3/bin/g++
 CPP=                    /usr/pkg/gcc3/bin/cpp
 # need to replace -G (sunpro-style) option by -shared (gcc-style) for 
 shlib builds
 # for some packages.
 # hope it will work for all ....
 WRAPPER_TRANSFORM_CMDS+= opt:-G:-shared rm:-library=.*
 # need to work around a big libtool problem when building AR files from c++
 # remark: WRAPPER_TMPDIR is still not set here - but we must define a new
 #         rule ..
 #         do not know how to add rules "at the end" of the Makefiles here
 #         so we need to assume the default setup here
 _WRAP_ARG_PP.CXX=       ${.CURDIR}/work/.wrapper/tmp/arg-pp.CXX
 # remark: we are defining a target here and this is the first one!
 #         Accedently we cannot specify a default "all" target, because
 #         this target will only be defined in if not already a
 #         target. For unknown reasons (till now) calling bmake without any
 #         arguments seems to build the all target anyway.
          ${RUN} ${MKDIR} ${.TARGET:H}
          ${RUN} ${ECHO} 'case $$arg in' 
                          >  ${.TARGET}
          ${RUN} ${ECHO} '-xar) cmd="/usr/ccs/bin/ar cru"; argmatch=yes; 
 xxx_kill_args=1'        >> ${.TARGET}
          ${RUN} ${ECHO} '# need to kill the following -o option - we 
 know that it is there ...' >> ${.TARGET}
          ${RUN} ${ECHO} '      pop_queue argbuf arg' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '      ;;' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '-Qoption) argmatch=yes' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '# need to kill the following ld argument - we 
 know that it is there ...' >> ${.TARGET}
          ${RUN} ${ECHO} '# hope compile can handle -R... and does not 
 need -Wl,-R...'           >> ${.TARGET}
          ${RUN} ${ECHO} '      pop_queue argbuf arg; arg=""' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '      ;;' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '-*)   if [ -n "$$xxx_kill_args" ]; then' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '# need to kill the current argument in case it 
 is the last one ...'    >> ${.TARGET}
          ${RUN} ${ECHO} '        arg=""; argmatch=yes; do_transform=no' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '      fi' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} '      ;;' 
                          >> ${.TARGET}
          ${RUN} ${ECHO} 'esac' 
                          >> ${.TARGET}
 PKGSRC_COMPILER=        sunpro
 CC=                     cc
 CXX=                    CC
 CPP=                    ${CC} -E
 SUNWSPROBASE=           /opt/sunstudio12.1
 # some ABI 64 settings - required by some tools like automake ..
 MACHINE_GNU_PLATFORM=   sparc64-sun-solaris2
 PKG_DBDIR=              /var/db/pkg
 LOCALBASE=              /usr/pkg
 VARBASE=                /var
 PKG_TOOLS_BIN=          /usr/pkg/sbin
 PKGMANDIR=              man
 TOOLS_PLATFORM.install?=        /usr/pkg/bin/install-sh             /usr/pkg/bin/pdksh
 TOOLS_PLATFORM.ksh?=            /usr/pkg/bin/pdksh
 TOOLS_PLATFORM.awk?=            /usr/pkg/bin/nawk
 TOOLS_PLATFORM.sed?=            /usr/pkg/bin/nbsed
 # added by us
 TOOLS_PLATFORM.tar?=            /usr/pkg/bin/bsdtar
 .endif                  # end pkgsrc settings
 List of packages build with this setup without any problems:
 bootstrap-mk-files-20090807nb2 *.mk files for the bootstrap bmake utility
 install-sh-20100824 install script compatible with the BSD install program
 pdksh-5.2.14nb5     Free clone of the AT&T Korn shell
 bmake-20100808      Portable (autoconf) version of NetBSD 'make' utility
 nawk-20050424nb3    Brian Kernighan's pattern-directed scanning and 
 processing language
 nbsed-20040821nb1   NetBSD-current's sed(1)
 pkg_install-20101212 Package management and administration tools for pkgsrc
 bsdtar-2.8.4        Fast multi-format tape archiver
 digest-20080510     Message digest wrapper utility
 tnftp-20070806      The enhanced FTP client in NetBSD
 pkg_install-info-4.5nb3 Standalone GNU info file installation utility
 m4-1.4.15           GNU version of UNIX m4 macro language processor
 perl-5.12.2nb1      Practical Extraction and Report Language
 autoconf-2.68       Generates automatic source code configuration scripts
 automake-1.11.1nb1  GNU Standards-compliant Makefile generator
 libtool-base-2.2.6bnb4 Generic shared library support script (the script 
 pax-20080110        POSIX standard archiver with many extensions
 libiconv-1.13.1     Character set conversion library
 gettext-lib-0.14.6  Internationalized Message Handling Library (libintl)
 gettext-tools-0.14.6nb1 Tools for providing messages in different languages
 gmake-3.82nb1       GNU version of 'make' utility
 bison-2.4.3         GNU yacc(1) replacement
 gtexinfo-4.13       GNU info documentation utilities
 flex-2.5.35nb1      Fast clone of lex(1), the lexical scanner generator
 bzip2-1.0.6         Block-sorting file compressor
 libzip-0.9.2        C library to manipulate zip archives
 unzip-6.0           List, test and extract compressed files in a ZIP archive
 zip-3.0nb2          Create/update ZIP files compatible with pkzip
 zlib-1.2.3          General purpose data compression library
 gcc3-c-3.3.6nb1     GNU Compiler Collection, v3 - C compiler
 gcc3-c++-3.3.6      GNU Compiler Collection, v3 - C++ compiler
 gcc3-f77-3.3.6      GNU Compiler Collection, v3 - F77 compiler
 gcc3-java-3.3.6     GNU Compiler Collection, v3 - Java compiler
 gcc3-objc-3.3.6     GNU Compiler Collection, v3 - Objective C compiler
 gcc3-3.3.6          GNU Compiler Collection, v3
 pkg-config-0.25nb1  System for managing library compile/link flags
 jpeg-8b             IJG's jpeg compression utilities
 tiff-3.9.4nb1       Library and tools for reading and writing TIFF data 
 lcms-1.19           Little Color Management System -- a color management 
 freetype2-2.4.4     Font rendering engine and library API
 expat-2.0.1nb2      XML parser library written in C
 fontconfig-2.8.0nb1 Library for configuring and customizing font access
 png-1.4.5           Library for manipulating PNG images
 diffutils-2.8.1nb4  GNU diff utilities - find the differences between files
 poppler-0.14.5      PDF rendering library
 gtar-base-1.25nb3   The GNU tape archiver with remote magnetic tape support
 apr-1.4.2           Apache Portable Runtime
 apr-util-1.3.10     Apache Portable Runtime utilities
 openssl-0.9.8q      Secure Socket Layer and cryptographic library
 apache-2.2.17       Apache HTTP (Web) server, version 2.2
 neon-0.29.3         HTTP and WebDAV client library
 readline-6.1        GNU library that can recall and edit previous input
 sqlite3-3.7.4       SQL Database Engine in a C Library
 subversion-base-1.6.15 Version control system, base programs and libraries
 ap22-subversion-1.6.15 WebDAV server (Apache module) for Subversion
 p5-subversion-1.6.15 Perl bindings for Subversion
 db4-4.8.30          Berkeley DB version 4 from Oracle
 libffi-3.0.9        Foreign function interface
 python26-2.6.6nb5   Interpreted, interactive, object-oriented 
 programming language
 py26-subversion-1.6.15 Python bindings and tools for Subversion
 ruby18-base- Ruby 1.8 based release minimum package
 ncurses-5.7nb4      CRT screen handling and optimization package
 bmon-2.0.1nb1       Bmon is an interface bandwidth monitor wrote:
 > Synopsis: loop in pkgsrc build on Solaris 10
 > State-Changed-From-To: open->feedback
 > State-Changed-By:
 > State-Changed-When: Tue, 24 Apr 2012 04:55:28 +0000
 > State-Changed-Why:
 > Did this ever get fixed?

Home | Main Index | Thread Index | Old Index