iPXE discussion forum

Full Version: code model kernel does not support PIC mode
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

When I'm building "make bin-x86_64-pcbios/ipxe.lkrn", I get this error:
Code:
cc1: error: code model kernel does not support PIC mode
Makefile.housekeeping:936: recipe for target 'bin-x86_64-pcbios/__umoddi3.o' failed
make: *** [bin-x86_64-pcbios/__umoddi3.o] Error 1
And when I build it in 32 bit, I get a different error:
Code:
util/zbin.c:7:10: fatal error: lzma.h: No such file or directory
#include <lzma.h>
          ^~~~~~~~
compilation terminated.
Makefile.housekeeping:1381: recipe for target 'util/zbin' failed
make: *** [util/zbin] Error 1
I found a way to solve the "kernel does not support PIC mode". You just add "-fno-pie" at the end of this line in Makefile.housekeeping. Apparently it's a bug with gcc v5+. link
Code:
CFLAGS          += $(WORKAROUND_CFLAGS) $(EXTRA_CFLAGS) -fno-pie

On both architecture, I get the lzma.h error. Does anybody have a clue?
Any particular reason you are building bin-x86_64-pcbios instead of bin-i386-pcbios ?
in regards to lzma, check the http://ipxe.org/download#source_code page, relevant prerequsit: "liblzma or xz header files"

Are you building from latest git master? or what is the git commit that you are using?
Just needed to reinstall the liblzma package. Don't know why but now it works. Thanks!
Reference URL's