Opened 8 years ago

Closed 8 years ago

#51832 closed defect (fixed)

libgcc, libgcc-devel: /opt/local/bin/strip: symbols names listed in: .../libgcc-darwin.10.4.ver not in: .../libgcc_s.dylib

Reported by: smeingast (Stefan Meingast) Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: e-t-h-a-n, jeremyhu (Jeremy Huddleston Sequoia), ryandesign (Ryan Carsten Schmidt)
Port: libgcc, libgcc-devel, cctools

Description

I have been doing a clean install of macOS 10.12 (+ Xcode 8 beta 2) to check if any of my ports fail to build. The first one that fails is libgcc. I hope this log helps to clear up the issue before the final release in the Fall.

Attachments (2)

main.log (12.5 MB) - added by smeingast (Stefan Meingast) 8 years ago.
libgcc-sierra.diff (679 bytes) - added by e-t-h-a-n 8 years ago.
Temporary workaround

Change History (20)

Changed 8 years ago by smeingast (Stefan Meingast)

Attachment: main.log added

comment:1 Changed 8 years ago by smeingast (Stefan Meingast)

Cc: stefan.meingast@… added

Cc Me!

comment:2 Changed 8 years ago by mf2k (Frank Schima)

Cc: stefan.meingast@… removed
Keywords: sierra added; Sierra removed
Owner: changed from macports-tickets@… to mww@…

In the future, please Cc the port maintainers (port info --maintainers libgcc), if any. As reporter, you do not need to Cc yourself.

comment:3 in reply to:  2 Changed 8 years ago by smeingast (Stefan Meingast)

Replying to mf2k@…:

In the future, please Cc the port maintainers (port info --maintainers libgcc), if any. As reporter, you do not need to Cc yourself.

Thanks, I will keep that in mind. Just started out submitting tickets here. :)

comment:4 Changed 8 years ago by e-t-h-a-n

Cc: ethansherriff@… added

Cc Me!

Changed 8 years ago by e-t-h-a-n

Attachment: libgcc-sierra.diff added

Temporary workaround

comment:5 Changed 8 years ago by e-t-h-a-n

I managed to get this building on Sierra with Xcode 8 beta 2 and the above patch. Please bear in mind this is only a workaround and don't sue me if it breaks your system :P

comment:6 in reply to:  5 Changed 8 years ago by smeingast (Stefan Meingast)

Replying to ethansherriff@…:

I managed to get this building on Sierra with Xcode 8 beta 2 and the above patch. Please bear in mind this is only a workaround and don't sue me if it breaks your system :P

Thanks! I had to revert to 10.11 for the moment since my testing computer (MacBook Pro late 2009) does not support 10.12 anymore and I depend on Macports (and gcc) for work. It would be great if you could try to build it with the latest beta versions of 10.12 and Xcode.

comment:7 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jeremyhu@… ryandesign@… added
Keywords: sierra removed
Port: libgcc-devel cctools added
Summary: libgcc command execution failed on macOS 10.12 Sierralibgcc, libgcc-devel: /opt/local/bin/strip: symbols names listed in: .../libgcc-darwin.10.4.ver not in: .../libgcc_s.dylib

This issue is not Sierra-specific; I see it too with libgcc-devel on El Capitan, and it's the reason why I haven't updated the gcc7 port to the latest versions. I assume a recent update of cctools (the port that provides the strip program) is responsible for this. Jeremy, is this change intentional? If so, is the patch proposed in this ticket what we should do?

comment:8 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Are you sure that it was a change between cctools-877.8 and cctools-886 that caused this? strip.c didn't change much between those two versions, and certainly not in a way that would manifest like this...

comment:9 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Also, adding -i just tells strip to mask those errors. It's more likely that the error is in whatever is creating the object files not including whatever symbols you expect to be there.

comment:10 Changed 8 years ago by e-t-h-a-n

I know, that's why I said it's only a workaround :P. I'm willing to look more into this issue and come back with a better patch.

comment:11 in reply to:  8 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to jeremyhu@…:

Are you sure that it was a change between cctools-877.8 and cctools-886 that caused this? strip.c didn't change much between those two versions, and certainly not in a way that would manifest like this...

I have downgraded cctools from 886 to 877.8 and am re-trying the build of libgcc-devel @7-20160717 that failed for me before. It's been going for awhile now; I think it failed by now with cctools @886 but I'll report back later when it's done.

comment:12 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

libgcc-devel succeeds with cctools 877.8.

comment:13 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Ok, well then it's probably something else (not strip) that is the difference here.

What variant are you using for cctools?

I wonder if it's related to nm changing to llvm-nm when using llvm37 and higher. In such cases, if you change /opt/local/bin/nm to point to nm-classic instead of llvm-nm-mp-X.Y, does it work for you?

comment:14 in reply to:  13 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to jeremyhu@…:

What variant are you using for cctools?

+llvm37+universal

I wonder if it's related to nm changing to llvm-nm when using llvm37 and higher. In such cases, if you change /opt/local/bin/nm to point to nm-classic instead of llvm-nm-mp-X.Y, does it work for you?

Yes, that does work.

comment:15 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Ok, so then the issue is a regression in llvm-nm compared to nm-classic (at least with llvm-3.7). We should check if the same issue still occurs with +llvm39 (and if not, determine if +llvm38 is impacted).

I'll look through the log to see if there is an indication as to how they're invoking nm.

comment:16 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

:info:build llvm-nm: Unknown command line argument '-pg'.  Try: '/opt/local/libexec/llvm-3.7/bin/llvm-nm -help'
:info:build llvm-nm: Did you mean '-g'?

comment:17 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

3.8 supports it but 3.7 doesn't. I'll update cctools to use nm-classic for +llvm37

comment:18 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.