planetbeing/iphonelinux

Building mk8900image fails on x86_64 (Ubuntu 10.04 with libc6-dev-i386)

Closed this issue · 2 comments

Running "PLATFORM=3G make openiboot.img3" on a fresh clone results in:

Building mk8900image
/usr/bin/ld: i386 architecture of input file x86/libxpwn.a(libxpwn.c.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input filex86/libxpwn.a(nor_files.c.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file x86/libxpwn.a(8900.c.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input filex86/libxpwn.a(ibootim.c.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file x86/libxpwn.a(img2.c.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input filex86/libxpwn.a(img3.c.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file x86/libxpwn.a(lzss.c.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input filex86/libxpwn.a(lzssfile.c.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `x86/libcommon.a(abstractfile.c.o)' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status
make[1]: *** [mk8900image] Fehler 1
make[1]: Verlasse Verzeichnis '/home/jan/iphonelinux/openiboot/mk8900image'
make: *** [mk8900image/mk8900image] Fehler 2

It looks as if the Makefile ignores the Arch and uses the 'x86' anyways.

Changing the Makefile to use the files from x86_64 and compiling gives me this error:

Building mk8900image
x86_64/libxpwn.a(ibootim.c.o): In function replaceBootImage': ibootim.c:(.text+0xdc4): undefined reference topng_set_longjmp_fn'
collect2: ld returned 1 exit status
make[1]: *** [mk8900image] Fehler 1
make[1]: Verlasse Verzeichnis '/home/jan/iphonelinux/openiboot/mk8900image'
make: *** [mk8900image/mk8900image] Fehler 2

nevermind, compiling libxpwn.a and libcommon.a from xpwn and copying them over did the trick...