pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
HOWTO: 32-bit pkgsrc on amd64
Hey folks,
I have been playing around with the new multilib support in 5.0 and have
managed to setup parallel amd64 and i386 pkgsrc trees. I'm posting
instructions on how to get started in case somebody else wants to play.
Note that the following instructions are for amd64, but should work for
sparc64 as well.
How to build 32-bit packages on 64-bit platforms with pkgsrc
============================================================
1. Check out a fresh pkgsrc tree from Dec 15 or later:
$ mkdir ~/pkgsrc32
$ cd ~/pkgsrc32
$ export CVSROOT=anoncvs%anoncvs.netbsd.org@localhost:/cvsroot
$ cvs co -P pkgsrc
2. Build bootstrap:
$ cd ~/pkgsrc32/pkgsrc/bootstrap
$ sudo ./bootstrap --prefix /usr/pkg32 \
--pkgdbdir /var/db/pkg32 \
--sysconfdir /usr/pkg32/etc \
--varbase /usr/pkg32/var \
--abi 32
3. Add the following lines to /usr/pkg32/etc/mk.conf after
the 'ABI=' line:
_COMPILER_ABI_FLAG.32= -m32
MACHINE_ARCH= i386
LIBABISUFFIX= /${MACHINE_ARCH}
X11_TYPE= modular
4. Until toolchain/40170 is resolved, the following changes are required for
m32 ldscripts. For each /usr/libdata/ldscripts/elf_i386.* file, look for
the line:
SEARCH_DIR("/usr/x86_64--netbsd/lib");
and change it to:
SEARCH_DIR("/usr/x86_64--netbsd/lib"); SEARCH_DIR("/usr/lib/i386");
The elf_i386.xc file will also require SEARCH_DIR("/usr/pkg32/lib"); in
addition to the above two paths.
5. Build packages (make sure you use /usr/pkg32/bin/bmake and not
/usr/bin/make):
$ cd ~/pkgsrc32/pkgsrc/category/package
$ /usr/pkg32/bin/bmake install
Cheers,
Jared
Home |
Main Index |
Thread Index |
Old Index