pkgsrc/bootstrap/README.Solaris
2021-11-23 09:10:03 +00:00

128 lines
3.9 KiB
Text

$NetBSD: README.Solaris,v 1.16 2021/11/23 09:10:03 schmonz Exp $
You will need a working C compiler. Any version of gcc >2.8 should
work, 2.95.x and 3.x have been tested. SunPro 5 and 8 have been
tested, but versions in between should work, too.
The following packages are the minimum required on Solaris 8 to
bootstrap and build packages.
- SUNWsprot
- SUNWarc
- SUNWbtool
- SUNWtoo
- SUNWscpu
- SUNWxcu4
Realistically you will need more, such as SUNWlibm, and SUNWlibC for
C++ packages if you are using SunPro.
Please note the use of GNU binutils on Solaris is not supported.
pkgsrc in Solaris Zones
-----------------------
If you are trying to bootstrap pkgsrc in a Solaris Zone then you will
need to install the following packages (assuming you will bootstrap using
Sun's gcc package):
- SUNWgccruntime
- SUNWgcc
- SUNWbinutils
- SUNWbtool
- SUNWggrp
- SUNWxcu4
- SUNWcs
- SUNWsprot
- SUNWlibm
- SUNWloc
- SUNWsndm
Tested on OpenSolaris 5.11 snv_105 and pkgsrc bootstrap as at Jan 2009.
If you are using gcc
--------------------
It makes life much simpler if you only use the same gcc consistently
for building all packages.
See http://www.NetBSD.org/docs/software/packages.html for
binary kits and initial packages, including gcc.
If the gcc installation is not in your $PATH you will need to pass
additional flags to bootstrap, for example:
env CC=/opt/gcc-4.6.3/bin/gcc \
GCCBASE=/opt/gcc-4.6.3 \
./bootstrap --abi=64
It is recommended that an external gcc be used only for bootstrapping,
and that you set USE_PKGSRC_GCC=yes in mk.conf so that the appropriate
pkgsrc gcc is installed and used.
Binary packages of gcc can be found through
http://www.sunfreeware.com/
If you are using Sun WorkShop
-----------------------------
You will need at least the following packages installed to build C and
C++ packages.
WorkShop 5.0:
SPROcc Sun WorkShop Compiler C 5.0
SPROcpl Sun WorkShop Compiler C++ 5.0
SPROild Sun WorkShop Incremental Linker
SPROlang Sun WorkShop Compilers common components
Sun ONE Studio 8:
SPROcc Sun ONE Studio 8 Compiler C
SPROcpl Sun ONE Studio 8 Compiler C++
SPROdwrfb DwarfSupportLibrary binaries
SPROild Sun ONE Studio 8 Incremental Linker
SPROlang Sun ONE Studio 8 Compilers Common Components
SPROsbld Sun ONE Studio 8 Linker Stab Library
SPROscl Sun ONE Studio 8 Standard Class Library for C++
SPROtlbn7 Sun ONE Studio 8 Tools.h++ 7.1 Class Library for C++
SPROutool Sun ONE Studio 8 Common Tools
The corresponding 64-bit packages are also required to build 64-bit
binaries and libraries.
To build 64-bit binaries, pass '--abi=64' to bootstrap, and also see the
crle(1) man page to configure the runtime linking environment.
pkgsrc defaults to finding the Sun compiler in /opt/SUNWspro. If you use a
different prefix, pass SUNWSPROBASE in the environment to bootstrap. If 'cc'
is not in your path, pass CC as well. So, to build 64-bit Sun compiler
bootstrap with a non-standard install:
env CC=/opt/studio12/SUNWspro/bin/cc \
SUNWSPROBASE=/opt/studio12/SUNWspro \
./bootstrap --abi=64
When bootstrap is finished your default mk.conf will contain ABI and
SUNWSPROBASE so you will not need to set these variables again.
Whichever compiler you use, please ensure the compiler tools and
your $prefix are in your PATH. This includes /usr/ccs/{bin,lib}
and eg. /usr/pkg/{bin,sbin}.
You should set the following variables in your mk.conf file:
CC= cc
CXX= CC
CPP= cc -E
CXXCPP= CC -E
Common problems
---------------
Sometimes, when using libtool, /bin/ksh crashes with a segmentation fault. The
workaround is to use another shell for the configure scripts, for example by
installing shells/bash and adding the following lines to your mk.conf:
CONFIG_SHELL= ${LOCALBASE}/bin/bash
WRAPPER_SHELL= ${LOCALBASE}/bin/bash
Then, rebuild the devel/libtool-base package.
bootstrap-pkgsrc has been tested on Solaris 2.6 -> 11.