32-bit/i386 ports/packges on amd64

Peter Jeremy peterjeremy at optushome.com.au
Tue Mar 20 18:27:51 UTC 2007


On 2007-Mar-20 12:00:51 +0200, Andriy Gapon <avg at icyb.net.ua> wrote:
>Well the problem with this approach is that you can't have both amd64
>and i386 versions of the same package installed.
>At least a few problems here are as follows:
>1. package name doesn't include platform, so packages conflict even on
>pkgdb level
>2. files are installed into the same locations
>3. properly tracking dependencies is also not possible because of #1
>4. even if all i386 and all amd64 packages are unrelated then there
>still can be problems because of i386 shared libraries being installed
>into 64-bit "lib" directories and thus not visible to run-time linker.

The solution to all these problems is to have two different sets of
hierarchies.  The easiest would be /var/db/pkg32, /usr/X11R632 and
/usr/local32 (and maybe /var/db/ports32).  This means that the
hierarchy within the ports/packages doesn't change, just the base
directory.  The location choice would need to be controlled by a flag
(eg '-32') on the pkg* tools since there's easy way to distinguish
between different architectures within packages.  (Packages get
unpacked into temporary directories so maybe an architecture flag
within +CONTENTS would be useful, though some packages are architecture
independent).

>There is another problem with arch specification in ports: currently
>i386-only is used to mean several different things - (1) software indeed
>makes sense only on i386 platform; (2) software is actually a thirdparty
>i386 binary; (3) software is not 64-bit clean.

Is this such a problem?  An amd64 in 32-bit mode looks mostly like an
i386 so there any need to distiguish these sub-classes.

>As Peter Jeremy already mentioned 32-bit Java is not running on amd64,
>even in such a chroot-ed environment. For me it either crashes or hangs.

I didn't mention it but the way forward for this is for someone
interested to develop small test cases that don't work so the
underlying cause can be tracked down.  Java is such a big app that
just saying it doesn't work isn't helpful.  OTOH, a 50 line test
program that doesn't work would be manageable.

-- 
Peter Jeremy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-amd64/attachments/20070320/f733f34d/attachment.pgp


More information about the freebsd-amd64 mailing list