On Sat, 31 Oct 2020 21:01:45 +0000
Jonathan Perkin <jperkin%joyent.com@localhost> wrote:
I didn't mean to come across like that, the point is that pkgsrc
should just work, and if it doesn't, then we should investigate why,
and fix it.
Just for the record, pkgsrc-2020Q3 bootstrap works for me on SPARC
Solaris 11.3. I don't know what the "official" recommendation is for
this platform, but as I mentioned previously, I first build my own GCC,
then bootstrap pkgsrc using that GCC.
MAKE_JOBS=64
GCC_PATH="/opt/gcc-9.2.0-sparc64"
PKGBUILD_PATH="/opt/pkgbuild"
PKG_TOP_PATH="/opt/pkg"
PKG_BIN_PATH="${PKG_TOP_PATH:?}/bin:${PKG_TOP_PATH:?}/sbin:${PKG_TOP_PATH:?}/libexec"
PKG_MAN_PATH="${PKG_TOP_PATH:?}/man:${PKG_TOP_PATH:?}/share/man"
SYS_BIN_PATH="/usr/ccs/bin:/usr/ccs/lib:/usr/xpg4/bin:/usr/bin:/sbin:/usr/sbin:/usr/openwin/bin:/usr/dt/bin"
SYS_MAN_PATH="/usr/man:/usr/openwin/man:/usr/dt/man"
LD_OPTIONS="-L${GCC_PATH:?}/lib -R${GCC_PATH:?}/lib -L${GCC_PATH:?}/lib/sparcv9 -R${GCC_PATH:?}/lib/sparcv9"
PATH=${PKGBUILD_PATH:?}/scripts:${GCC_PATH:?}/bin:${PKG_BIN_PATH:?}:${SYS_BIN_PATH:?}
MANPATH=${PKG_MAN_PATH:?}:${SYS_MAN_PATH:?}
export PATH MANPATH LD_OPTIONS
cd /opt/pkgbuild/pkgsrc/bootstrap/
env MAKECONF="" DISTDIR=${PKGBUILD_PATH:?}/distfiles USE_NATIVE_GCC=yes PKGSRC_COMPILER=gcc \
CC=${PKGBUILD_PATH:?}/scripts/gcc CXX=${PKGBUILD_PATH:?}/scripts/g++ \
./bootstrap --abi 64 --prefer-pkgsrc no --make-jobs ${MAKE_JOBS:?} \
--workdir ${PKGBUILD_PATH:?}/objects/bootstrap --prefix ${PKG_TOP_PATH:?} --pkgdbdir ${PKG_TOP_PATH:?}/db/pkg
mkdir ${PKGBUILD_PATH:?}/packages/bootstrap && \
/bin/tar -cf - -C / ${PKG_TOP_PATH:?} | /bin/gzip -c > ${PKGBUILD_PATH:?}/packages/bootstrap/pkgsrc-bootstrap.tgz
And for reference:
cat /opt/pkgbuild/scripts/gcc
#!/bin/ksh
exec /opt/gcc-9.2.0-sparc64/bin/gcc "$@" -O2 -m64 -mcpu=niagara2 -Wa,-xarch=sparcvis
cat /opt/pkgbuild/scripts/g++
#!/bin/ksh
exec /opt/gcc-9.2.0-sparc64/bin/g++ "$@" -O2 -m64 -mcpu=niagara2 -Wa,-xarch=sparcvis