[ipxe-devel] Unable to Make iPXE on Mac OSX 10.8.3
Robin Smidsrød
robin at smidsrod.no
Mon Aug 19 08:02:58 UTC 2013
I think this is related to the license Makefile changes done
during/after the hackathon i July. Maybe a needed modification was not
performed on those files below. Look at those commits and see if you can
make sense of it.
-- Robin
On 19.08.2013 08:43, Richard D. Hornbaker wrote:
> Team,
>
> Any takers here?
>
>
> [BUILD] bin/__divdi3.o
> cc1: error in backend: Global variable 'obj___divdi3' has an invalid
> section specifier '.provided': mach-o section specifier requires a
> segment and section separated by a comma
> make: *** [bin/__divdi3.o] Error 1
>
> This seems to be an issue with the section directive in
> src/include/compiler.h. The only suspicious thing is that the section
> appears to be referenced differently for assembly vs. non-assembly modules:
> #define PROVIDE_SYMBOL( _sym ) \
> *.section ".provided", "a", @nobits ;*
>
> But seems to define this for non-assembly modules:
> #define PROVIDE_SYMBOL( _sym ) \
> __attribute__ (( *section ( ".provided" )* ))
>
> The format of the __attribute__ statement seems to be missing the
> section name that the original error is compaining about. Toying with
> the contents of this statement yielded different errors but no real
> progress (e.g., 'section ( ".provided,a" )'.
>
>
> Any ideas? I'm really out of my depth to troubleshoot this, but it
> smells close.
>
>
> -------- Original Message --------
> Subject: Unable to Make iPXE on Mac OSX 10.8.3
> From: "Richard D. Hornbaker" <Richard at Hornbaker.com
> <mailto:Richard at Hornbaker.com>>
> Date: Thu, July 25, 2013 10:51 pm
> To: "iPXE Developers" <ipxe-devel at lists.ipxe.org
> <mailto:ipxe-devel at lists.ipxe.org>>
>
> All,
>
> Redirecting from http://forum.ipxe.org/showthread.php?tid=6979 at
> Robin's suggestion...
>
> I'm trying to build this package on Mac OS 10.8.3 (command-line
> tools from Xcode 4.6.3), but getting an error during the make
> process. I've only found one hit on the forums, but no resolution -
> I've got the same issue:
> http://forum.ipxe.org/showthread.php?tid=4559
>
> $ make
> FATAL:/usr/bin/../libexec/as/x86_64/as: I don't understand '-' flag!
> [...]
> [DEPS] libgcc/__divdi3.c
> FATAL:/usr/bin/../libexec/as/x86_64/as: I don't understand '-' flag!
> [...]
> FATAL:/usr/bin/../libexec/as/x86_64/as: I don't understand '-' flag!
> [BUILD] bin/__divdi3.o
> In file included from <command-line>:0:
> ./include/compiler.h:196:1: error: "__weak" redefined
> <built-in>: error: this is the location of the previous definition
> make: *** [bin/__divdi3.o] Error 1
>
>
> I managed to narrow down the error to this shell call in
> Makefile.housekeeping:
> OLDGAS := $(shell $(AS) --version | grep -q '2\.9\.1' && $(ECHO)
> -DGAS291)
>
> In this context, it looks like the "fatal" console error is probably
> cosmetic, and due to --version flag not being supported by 'as'.
> The real hangup was this hard error:
> ./include/compiler.h:196:1: error: "__weak" redefined
>
> I searched for "__weak" and only got a hit in compiler.h for its
> definition. I first tried making it conditional, then tried
> commenting it out, both with the same result (apparently it's being
> pre-defined somewhere outside of ipxe's source). That
> pre-definition may in itself be a conflict, but getting past that
> error just revealed the next layer of the onion:
>
> [BUILD] bin/__divdi3.o
> cc1: error in backend: Global variable 'obj___divdi3' has an invalid
> section specifier '.provided': mach-o section specifier requires a
> segment and section separated by a comma.
> make: *** [bin/__divdi3.o] Error 1
>
> At Robin's suggestion, I tried make NO_WERROR=1 with the same result.
>
>
> I'm happy to be a test mule here to get this debugged. Caveat: I'm
> a hack programmer, so a bit out of my element here; patience please. ;-)
>
> It seems to me that a few things need to be fixed:
> * Add some intelligence around the 'as' check to skip it on certain
> platforms like Xcode
> * Figure out what's up with the pre-definition of __weak, and if
> that's an issue
> * Linker error for .provided
>
> Thanks,
> Richard
>
>
>
> _______________________________________________
> 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