app programming on freebsd amd64

Steve Kargl sgk at troutmask.apl.washington.edu
Thu Jul 31 23:41:07 UTC 2008


On Thu, Jul 31, 2008 at 06:58:56PM -0400, Chuck Robey wrote:
> Peter Jeremy wrote:
> > 
> > There are a couple of open PRs about this but fixing it is non-trivial.
> > 
> > Your only current option is to install an i386 world (as well as your
> > amd64 world) and chroot into it to build i386 apps.
> 
> Oh, you're telling me that if I run one app as 32 bit (compiling it, the whole
> enchilada, as 32 bit) would only work if I had the OS, kernel and all libs, as
> 32 bits?  I couldn't just run the X11 as 32 bits?  I mean, not only run it as 32
> bits, also compile it as 32 bits?  If I did that, it would use the OS and libs
> as 64 bits, and be therefore incorrect?
> 
> If that's so, it does throw a wrench into things, forcing another set of
> decisions on me, so I need a confirmation, you'll understand.

He's telling you that -m32 doesn't work because the necessary
run time support is missing.

troutmask:kargl[202] cat h.c
#include <stdio.h>
int main(void)
{
  printf("Hello world!\n");
  return 0;
}
troutmask:kargl[203] cc -o z h.c
troutmask:kargl[205] ldd z
z:
        libc.so.7 => /lib/libc.so.7 (0x20063c000)
troutmask:kargl[206] file z
z: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), for FreeBSD 8.0 (800040), dynamically linked (uses shared libs), FreeBSD-style, not stripped
troutmask:kargl[207] cc -o z -m32 h.c
/usr/bin/ld: skipping incompatible /usr/lib/libgcc.a when searching for -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc

-- 
Steve


More information about the freebsd-amd64 mailing list