When using OpenCSW GCC 4.9 or 5.5 :echo "Hacking pkgsrc to work with SFW GCC"perl -pi -e 's|_OPSYS_SUPPORTS_SSP= yes|_OPSYS_SUPPORTS_SSP= no|g' /usr/pkgsrc/mk/platform/SunOS.mkecho "Bootstraping pkgsrc"cd /usr/pkgsrc/bootstrapenv CC=/usr/sfw/bin/gcc CPP=/usr/sfw/bin/cpp CXX=/usr/sfw/bin/cpp CFLAGS='-O2' GCCBASE=/usr/sfw ./bootstrap --abi=64 | tee bootstrap.log
As far I remember, at this point you will face a circular depedency when compiling lot of packages. Most of them you try to fetch their tarball using nbftp including ncurse which is required to compile nbftp itself. Ncurse is not installed on my Solaris systems. The quick workaround I suggest you would be to compile and install "fetch" (which does not require ncurse) and then add this to you mk.conf file :echo "Bootstraping pkgsrc"cd /usr/pkgsrc/bootstrapenv CC=/opt/csw/bin/gcc CPP=/opt/csw/bin/cpp CXX=opt/csw/bin/cpp CFLAGS='-O2' GCCBASE=/opt/csw/bin ./bootstrap --abi=64 | tee bootstrap.log
Hope it helps...FETCH_USING= fetch
env CC=/home/pkgsrc/gcc49/bin/gcc GCCBASE=/home/pkgsrc/gcc49 ./bootstrap
--abi=32 --prefix=/export/home/pkgsrc/2017Q3 --unprivileged
...
===> Installing dependencies for bsdinstall-20160108
=> Configuring and building libnbcompat
...
checking whether the C compiler works... no
configure: error: in
`/export/home/pkgsrc/2017Q3/pkgsrc/bootstrap/work/wrk/ sysutils/bsdinstall/work/ libnbcompat':
configure: error: C compiler cannot create executables
>From config.log this is due to:
ld: fatal: option -dn and -P are incompatible
Where is ld getting a -P option? Passing CFLAGS=-v in to bootstrap, this
appears to be due to an option '-rpath' passed through gcc collect2.
/home/pkgsrc/gcc49/libexec/gcc/sparc-sun-solaris2.10/4.9. 4/collect2 -V -Y
P,/usr/ccs/lib:/lib:/usr/lib -Qy
/home/pkgsrc/gcc49/lib/gcc/sparc-sun-solaris2.10/4.9.4/ crt1.o
/usr/lib/crti.o /usr/ccs/lib/values-Xa.o
/home/pkgsrc/gcc49/lib/gcc/sparc-sun-solaris2.10/4.9.4/ crtbegin.o
-L/export/home/pkgsrc/2017Q3/pkgsrc/bootstrap/work/wrk/ sysutils/bsdinstall/work/ libnbcompat
-L/home/pkgsrc/gcc49/lib/gcc/sparc-sun-solaris2.10/4.9.4
-L/home/pkgsrc/gcc49/lib/gcc/sparc-sun-solaris2.10/4.9.4/.. /../../../sparc-sun-solaris2. 10/lib
-L/usr/ccs/lib
-L/home/pkgsrc/gcc49/lib/gcc/sparc-sun-solaris2.10/4.9.4/.. /../.. -rpath
/export/home/pkgsrc/2017Q3/lib /var/tmp//ccak8y6Q.o -lssp_nonshared -lssp
-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc
/home/pkgsrc/gcc49/lib/gcc/sparc-sun-solaris2.10/4.9.4/ crtend.o /usr/lib/crtn.o
Solaris ld has valid single character options -r -p -a -t and -h. -p and -P
are closely related, so possibly the error on -P could be due to the actual -p.
My first thought for a source was libtool, since it is providing platform
independent link options. It's configuration has a transform related to
rpath with a double --, but nothing for -Wl,-rpath.
work/wrk/pkgtools/bootstrap-mk-files/work/.cwrapper/ config/libtool:transform=opt:- Wl,--rpath:-Wl,-R
work/wrk/sysutils/bsdinstall/work/.cwrapper/config/libtool: transform=opt:-Wl,--rpath:-Wl, -R
I'm not sure bootstrap has gotten to calling libtool yet.
> find work -type f -exec grep -l '.-Wl,-rpath' {} \;
work/share/mk/bsd.prog.mk
work/wrk/pkgtools/cwrappers/work/cwrappers-20170611/ cleanup-cc.c
work/wrk/pkgtools/cwrappers/work/cwrappers-20170611/fixup- libtool.c
work/wrk/pkgtools/cwrappers/work/cwrappers-20170611/ generic-transform-cc.c
work/wrk/pkgtools/cwrappers/work/cwrappers-20170611/ normalise-cc.c
work/wrk/pkgtools/cwrappers/work/.wrapper/tmp/gen- transform
work/wrk/pkgtools/cwrappers/work/.wrapper/tmp/transform. sed
work/wrk/pkgtools/cwrappers/work/.wrapper/tmp/untransform. sed
work/wrk/pkgtools/cwrappers/work/.wrapper/tmp/arg-pp-main
work/wrk/pkgtools/cwrappers/work/.wrapper/tmp/arg-source
work/wrk/pkgtools/bootstrap-mk-files/work/bootstrap-mk- files-20170802/bsd.prog.mk
work/wrk/pkgtools/bootstrap-mk-files/work/.destdir/export/ home/pkgsrc/2017Q3/share/mk/bs d.prog.mk
work/wrk/pkgtools/bootstrap-mk-files/work/.packages/ bootstrap-mk-files-20170802. tgz
work/wrk/sysutils/bsdinstall/work/.work.log
On last line of work/wrk/sysutils/bsdinstall/work/.work.log, which might be
coming out of cwrappers:
<.>
/export/home/pkgsrc/2017Q3/pkgsrc/bootstrap/work/wrk/ sysutils/bsdinstall/work/.gcc/ bin/gcc
-m32 -v -D_FORTIFY_SOURCE=2 '-D_PATH_DEVNULL=\"/dev/null\"'
'-DTARGET_STRIP=\"/usr/ccs/bin/strip\"' -DHAVE_NBCOMPAT_H=1
-I/export/home/pkgsrc/2017Q3/pkgsrc/bootstrap/work/wrk/ sysutils/bsdinstall/work/ libnbcompat
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-L/export/home/pkgsrc/2017Q3/pkgsrc/bootstrap/work/wrk/ sysutils/bsdinstall/work/ libnbcompat
-Wl,-rpath,/export/home/pkgsrc/2017Q3/lib conftest.c -D_FORTIFY_SOURCE=2
-fstack-protector
-I/export/home/pkgsrc/2017Q3/pkgsrc/bootstrap/work/wrk/ sysutils/bsdinstall/work/. buildlink/include
It is getting quite intricate at this point, so I'm hoping someone more
familiar might share a tip to progress or diagnosis.
- Andy Hooper