[ipxe-devel] ipxe.efi does not compile (hidden symbol _etextdata isn't defined)

Jean Weisbuch jean at phpnet.org
Tue Mar 28 22:46:26 UTC 2017


It was in fact the "config/local/" folder that wasnt clean (general.h, 
general.h.efi and colour.h were not empty).

I got fooled by the "make clean" that didnt clean this folder and as it 
has a .gitignore "*", there wasnt any change reported by "git status".

Shoudnt "make clean" be cleaning these files (or maybe add a distclean)?


Le 28/03/2017 à 20:45, Christian Nilsson a écrit :
> Official repo as stated on http://ipxe.org/download is via
> git://git.ipxe.org/ipxe.git (which you are using even if you write
> GitHub)
> doing clean checkout (to empty directory) as such:
> git clone git://git.ipxe.org/ipxe.git ipxetest
> cd ipxetest/src
> make -j16 bin-x86_64-efi/ipxe.efi
>
> Works without any issues for me.
>
> So back to your config issue you have local changes otherwise you
> should not be able to get any such errors.
> check with git status, and git diff origin/master
>
> Also check that all your files in src/config/local is zero bytes (or
> remove them since they will be recreated on build)
>
> On Tue, Mar 28, 2017 at 8:36 PM, Jean Weisbuch <jean at phpnet.org> wrote:
>> There isnt any customization as its (re)based on the GitHub HEAD just before
>> the compilation.
>>
>> The same error happens even if i undef or define IMAGE_COMBOOT on
>> config/general.h.
>>
>>
>>
>> Le 28/03/2017 à 20:03, Michael Brown a écrit :
>>> On 28/03/17 20:40, Jean Weisbuch wrote:
>>>> While undionly.kpxe and ipxe.lkrn are compiling without any issue, i
>>>> cannot compile ipxe.efi using the latest code from GitHub on a Debian
>>>> Squeeze amd64 :
>>>> <snip>
>>>>      bin-x86_64-efi/blib.a(com32_wrapper.o): In function
>>>>      `com32_farcall_wrapper':
>>>>      (.text+0x1): relocation truncated to fit: R_X86_64_32 against symbol
>>>
>>> You are trying to enable IMAGE_COMBOOT, which is conceptually impossible
>>> on EFI since it's intrinsically a BIOS-only format.
>>>
>>>> Is there any specific parameters to set on general.h to compile the efi
>>>> binary?
>>>
>>> No.  If you check out a clean copy of the iPXE code, then a sensible set
>>> of default targets (including bin-x86_64-efi/ipxe.efi) will build correctly.
>>>
>>> As a general rule for everyone (on pretty much any codebase): if you get a
>>> build failure then the first thing you should try is removing any build
>>> customisations you have made.
>>>
>>> Michael
>> _______________________________________________
>> ipxe-devel mailing list
>> ipxe-devel at lists.ipxe.org
>> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel




More information about the ipxe-devel mailing list