>________________________________ > From: Pierre Free Pascal <pie...@freepascal.org> >To: 'Leonardo M. Ramé' <martinr...@yahoo.com>; 'FPC developers' list' ><fpc-devel@lists.freepascal.org> >Sent: Friday, April 27, 2012 11:20 AM >Subject: RE: [fpc-devel] OpenBsd cross compiler > > Hi Leonardo, > >> -----Message d'origine----- >> De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- >> boun...@lists.freepascal.org] De la part de Leonardo M. Ramé >> Envoyé : jeudi 26 avril 2012 21:10 >> À : FPC developers' list >> Objet : [fpc-devel] OpenBsd cross compiler >> >> Hi, I usually create Win32 targets using this: >> >> make crossinstall OS_TARGET=win32 CPU_TARGET=i386 >> PP=/home/leonardo/Desarrollo/fpc/i386-linux-ppc386 >> >> Now I want to create an OpenBSD cross compiler, so I just replaced "win32" >by "openbsd": > >Yes, but you do need cross-binutils for openbsd! > >The problem is that current GNU Binutils source do >not generate correct objects/executables for openbsd. > >Which means that you need to get an openbsd specific binutils source >install it, and configure it for the target you are interested in: > > I checked the internet, and it seems to be difficult to fond. >Thus I added it to >ftp://ftp.freepascal.org/pub/fpc/contrib/cross/openbsd/ > >1) Downloaded >ftp://ftp.freepascal.org/pub/fpc/contrib/cross/openbsd/binutils-openbsd-2.15 >.tar.gz >file. > >2) Untar it >tar -xvzf binutils-openbsd-2.15.tar.gz > >3) Create build directory: >mkdir build-cross-i386-openbsd >cd build-cross-i386-openbsd >4) Run configure for that target >../binutils-4.9/configure --target=i386-pc-openbsd > --program-prefix=i386-openbsd- > >(That's what I used on mingw32, but >to compile on mingw you also need to apply >the patch that I added in the same directory on ftp server). > >5) Compile and install everything: >make all-gas all-binutils all-ld >make install-gas install-binutils install-ld >prefix=PATH/TO/WHERE/YOU/WANT/IT > >This should install >i386-openbsd-as >i386-openbsd-ld >and a few more into >PATH/TO/WHERE/YOU/WANT/IT/bin directory > >Note that I didn't use the same procedure on mingw >(because I wanted to get binaries that did not depend >on any mingw specific DLLs) > >> make crossinstall OS_TARGET=openbsd CPU_TARGET=i386 >> PP=/home/leonardo/Desarrollo/fpc/i386-linux-ppc386 >> >> But the linker is not found. This is the error I get: >> >> make[5]: se ingresa al directorio >> «/home/leonardo/Desarrollo/fpc/rtl/openbsd» >> /bin/mkdir -p /home/leonardo/Desarrollo/fpc/rtl/units/i386-openbsd >> i386-openbsd-as -o /home/leonardo/Desarrollo/fpc/rtl/units/i386- >> openbsd/prt0.o i386/prt0.as >> make[5]: i386-openbsd-as: No se encontró el programa >> make[5]: *** [prt0.o] Error 127 >> make[5]: se sale del directorio >«/home/leonardo/Desarrollo/fpc/rtl/openbsd» >> make[4]: *** [openbsd_all] Error 2 >> make[4]: se sale del directorio «/home/leonardo/Desarrollo/fpc/rtl» >> make[3]: *** [rtl] Error 2 >> make[3]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» >> make[2]: *** [cycle] Error 2 >> make[2]: se sale del directorio «/home/leonardo/Desarrollo/fpc/compiler» >> make[1]: *** [compiler_cycle] Error 2 >> make[1]: se sale del directorio «/home/leonardo/Desarrollo/fpc» >> make: *** [build-stamp.i386-openbsd] Error 2 >> >> Is there an "i386-openbsd-as" linker?. Where can I find it. > > i386-openbsd-as is the assembler, not the linker >i386-openbsd-ld is the linker. > >> BTW. I'm on Linux x86_64 (Ubuntu 11.10). > > You could repeat the steps for >x86_64-openbsd target >by simply using > --target=x86_646pc-openbsd > >Hoping the above will help, > >Pierre >
Thanks Pierre, I'll try the binutils package you uploaded. Leonardo M. Ramé http://leonardorame.blogspot.com _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel