Opened 4 years ago
Closed 4 years ago
#61398 closed defect (duplicate)
gcc48: error: non-local symbol required in directive
Reported by: | dbl001 (dbl) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.3 |
Keywords: | Cc: | ||
Port: | gcc48 |
Description
Building gcc4.8 on OS X 10.11.6.
:info:build <stdin>:69:17: error: non-local symbol required in directive :info:build .no_dead_strip L_OBJC_Module :info:build ^ :info:build make[2]: *** [NXConstStr.lo] Error 1
Change History (7)
comment:1 Changed 4 years ago by kencu (Ken)
comment:2 Changed 4 years ago by mf2k (Frank Schima)
Keywords: | gcc4.8 removed |
---|---|
Port: | gcc48 added; gcc4.8 removed |
comment:3 Changed 4 years ago by dbl001 (dbl)
Do you think that your patch 'gcc48-high-sierra.zip' will work on:
- 10.11.6
- Xcode 8.2.1?
Thanks in advance.
comment:4 follow-up: 7 Changed 4 years ago by kencu (Ken)
yes it probably will -- it did in 2018, and nothing much has changed.
MacPorts as a group more-or-less made a decision to cut off trying to fix older gcc versions (< gcc5) for newer systems. Are you able to use gcc5 (or greater)? It works better.
If only gcc48 can fulfill you, then the patch I posted up in the the other ticket will likely work with minimal hassles. The test suite for g++ had too many errors for me to push on it in 2018, and the same logic will hold now.
comment:5 follow-up: 6 Changed 4 years ago by dbl001 (dbl)
Do you advise that I remove gcc48 and then make gcc9 or gcc10 the active port?
$ port select --list gcc Available versions for gcc: mp-gcc10 mp-gcc48 (active) mp-gcc49 mp-gcc5 mp-gcc9 none
comment:6 Changed 4 years ago by kencu (Ken)
Replying to dbl001:
Do you advise that I remove gcc48 and then make gcc9 or gcc10 the active port?
Oh, absolutely, if your code base has been maintained at all. gcc10 has many improvements over gcc48, but some old, bitrotted code may not compile with gcc10 without updates.
Every version of a compiler is more strict than the one before, so code needs to be cleaned up on an ongoing basis. Which is good, really...
comment:7 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Summary: | Error: Failed to build gcc48: command execution failed → gcc48: error: non-local symbol required in directive |
This is a well-known error -- the clang assembler doesn't like symbols that start with L.
THere is a fix here 56996 but i never pushed it to the main repo.
And there are a couple of other tickets in Trac about the same error. Search for "L_OBJC_Module" in the search box in the top right corner here and you'll find them.