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)


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
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 itself)
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 files lcms-1.19 Little Color Management System -- a color management library
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-When: Tue, 24 Apr 2012 04:55:28 +0000
Did this ever get fixed?

Home | Main Index | Thread Index | Old Index