cd /usr/sfw/binhave a look to those scripts and notice the modified answer of '--print-search-dirs' and
mv gcc gcc.orig
mv g++ g++.orig
cp gcc.64.patch.i86pc gcc # for amd64
cp gcc.64.patch.sun4u gcc # for sparc64
cp g++.64.patch.i86pc g++ # amd64
cp g++.64.patch.sun4u g++ # sparc64
chmod 755 gcc g++
cp libstdc++.la.32 libstdc++.la.32 #amd/sparcSave your work before making a copy.
cp libsupc++.la.32 libsupc++.la.32 #amd/sparc
cp libstdc++.la.64 libstdc++.la.64 #amd
cp libsupc++.la.64 libsupc++.la.64 #amd
cp libstdc++.la.64.sparcv9 libstdc++.la.64.sparcv9 #sparc
cp libsupc++.la.64.sparcv9 libsupc++.la.64.sparcv9 #sparc
The most important patch is the bootstrap-patch.
Apply it and make the boostrap like this:
cd ${pkgsrcdir}/bootstrap
ABI=64
GCC_ABI=64
CC=gcc
export ABI GCC_ABI CC
unset PKG_PATH
./bootstrap --workdir=/pkg/obj
ln -s $HOME/mk.conf /usr/pkg/etc/mk.conf
# xproto.pc is missing on Solaris, which is a bug.
# some packages test xproto.pc
mkdir -p /usr/pkg/lib/pkgconfig
cp -p /usr/lib/${ABI}/pkgconfig/xproto.pc /usr/pkg/lib/pkgconfig/xproto.pc
Create an account for pkgsrc. Some pkgsrc environment are here. And now try :
[pkgsrc] pwd
/usr/pkgsrc/pkgtools/pkglint
[pkgsrc] bmake show-var VARNAME=MACHINE_ARCH
x86_64
[pkgsrc] bmake show-var VARNAME=MACHINE_GNU_PLATFORM
x86_64-sun-solaris2
This is useful when bmakeing multimedia packages. The configure option
'--host' is set correctly and uses the right assembler files . (or a
'C'
file).
The downside is you can not compile gcc without a heavy patch (I have
it for gcc3.4.3 ;) ..
but not for pkgsrc :( ).
Also some packages compile correctly but crash (x11/xflame) . I think
it is
a 64bits problem.
For a year now, I have been a lot experimenting with playing (?) a lot
with pkgsrc. I maintain a cvs HEAD line
in parallel whith my work.
I have installed over 500 packages on a computer room for students.
Seems work OK...
I have made too many patches to remember them all.
You can find the diff between my
work and pkgsrc HEAD (both are 2006Q4).
Have a look at pkgtools/x11-links for openwin in the diff.
/usr/ucb/install -c -o bin -g bin -m 444 tmac.andoc /usr/share/lib/tmacSecond adjust file for pkgsrc:
mkdir -p /usr/share/tmac
cd /usr/share/tmac
tar xfp mdoc.tar
alias mandoc='man -T/usr/share/lib/tmac/tmac.andoc'
MANPATH=/usr/pkg/man:/usr/pkg/share/man:$MANPATH
cp SunOS.bsd.man.mk pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.man.mkThis file is the brother of NetBSD.bsd.man.mk. Now the man of some packages is readable with Solaris nroff's with the command: "mandoc rxterm".
Comments are welcome.
Thanks to pkgsrc developper.