pkgsrc-Users archive

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

Re: Seeking status reports on unusual operating systems



On 22/04/04 08:56AM, Greg Troxel wrote:
> 
> Thanks for the details.  I updated the README and the wiki page.  Feel
> free to have another look.  At this point I only really want to fix
> errors, label things as old or delete if now wrong.  I don't want to dig
> into adding details for N systems.

Hi Greg, I really appreciate the work you have done on the README and I
second the approach you have adopted in reorganizing the info provided.

This induced me to attempt to fix it once and for all, by expanding the
paragraphs which you flagged in brackets as unclear. I also fixed the
dead link to the sunfreeware repo, since it has been superseded by CSW
over a decade ago. 

Let me know if anything is wrong. I may take some time to reply, as I'll
probably be short in time.

Here is the diff. Kind regards.


--- README.Solaris.orig	2022-04-04 18:34:55.057117785 +0200
+++ README.Solaris	2022-04-04 21:30:41.055362944 +0200
@@ -41,10 +41,7 @@
 
 Solaris Zones:
 
-(It is not clear if this is really about zones, or is just a different
-prereq list for a particular variant.)
-
-If you are trying to bootstrap pkgsrc in a Solaris Zone then you will
+If you are trying to bootstrap pkgsrc in a Sun Solaris[8-10] Zone you will
 need to install the following packages (assuming you will bootstrap using
 Sun's gcc package):
 
@@ -60,15 +57,32 @@
 	- SUNWloc
 	- SUNWsndm
 
-Tested on OpenSolaris 5.11 snv_105 and pkgsrc bootstrap as at Jan 2009.
+On illumos you can configure a ipkg or sparse branded zone to host your
+pkgsrc tree. Since the software database is generally managed
+independently from the host, the same essential development tools,
+required to deploy pkgsrc on the host distribution, need to be installed
+within the zone.  
+
+OmniOS also provides pkgsrc branded zones. A pkgsrc zone is a sparse
+zone which is pre-configured to use Joyent’s binary package repository.
+Refer to https://omnios.org/setup/zones 
 
 General
 ------
 
+Sun Solaris and Illumos come by default with a mixed {32,64}-bit
+userland. This can include the compiler, which may shipped as a
+32-bit ELF. In this case, the compiler by default will create 32-bit
+executables and shared libraries, unless told otherwise. 
+
 To build 64-bit binaries, pass '--abi=64' to bootstrap, and also see
 the crle(1) man page to configure the runtime linking environment.
-(It is not clear if this is the default on sparc64/amd64, and if not,
-why not.)
+64-bit runtime libraries can be usually found at /usr/lib/amd64.
+NB: passing '-m64' to the compiler is not needed when using --abi=64.
+
+It is unclear whether --abi=64 is still a requirement on some modern
+illumos distributions, which provide a 64bit compiler. Joyent doesn't
+mention it in their pkgsrc bootstrap guide for SmartOS.
 
 Generally, illumos-based distributions come with gcc, and gcc is the
 standard approach.  As of 2022, there are no recent reports of using
@@ -78,10 +92,6 @@
 If you are using gcc
 --------------------
 
-See https://wiki.netbsd.org/pkgsrc/solarish/ for information about
-installing gcc on various illumos distributions.  One can use a
-distribution-provided gcc, or a gcc that has been built from sources.
-
 If the gcc installation is not in your $PATH you will need to pass
 additional flags to bootstrap, for example:
 
@@ -93,17 +103,23 @@
 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/
-[2020-04-04: This link appears no longer valid and is on a 30-day timer to be fixed or deleted.]
+Binary SVR4 packages of gcc can be found through:
+https://www.opencsw.org/get-it/packages/
+The CSW repo is most useful on Solaris 10, OpenSolaris and SXCE. 
 
+On Solaris 11 it is preferrable to install the IPS package for the
+preferred GCC version, available in the official repository. 
+
+See https://wiki.netbsd.org/pkgsrc/solarish/ for information about
+installing gcc on various illumos distributions.  One can use a
+distribution-provided gcc, or a gcc that has been built from sources.
 
 Alternatively, see https://pkgsrc.joyent.com/install-on-illumos/ for
 binary kits and initial packages (including gcc) that run on illumos
 variants.
 
 
-If you are using Sun Studio
+If you are using Solaris Studio
 ---------------------------
 
 This section describes the use of Sun-provided compilers, variously
@@ -111,16 +127,21 @@
 
 You must ensure that the compiler tools and your $prefix are in your
 PATH.  This includes /usr/ccs/{bin,lib} and e.g. /usr/pkg/{bin,sbin}.
-Set the following variables in your mk.conf file:
+
+Usually, passing 'env CC=cc PKGSRC_COMPILER=sunpro' should be enough to
+use Solaris Studio. Additional compiler settings will be generated
+automatically by the boostrap process and written to $PREFIX/etc/mk.conf   
+
+In the past, however, the following mk.conf variables have been
+recommended:
+
 	CC= 	cc
 	CXX=	CC
 	CPP=	cc -E
 	CXXCPP=	CC -E
+
 NB: The make variable CC holds the command for the C compiler, and the
 command for the C++ compiler is CC.
-[It is not clear if one needs to specify these variables to bootstrap
-or not, and if so, whether they are in the generated mk.conf,a nd if
-not, why not.]
 
 The following indented sections provide a list of Solaris packages
 that must be installed in order for pkgsrc to build C and C++




-- 
----------------------------+----------------------------
vms[-at]retrobsd.ddns.net   |   https://retrobsd.ddns.net

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index