Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#64615 closed defect (invalid)

qt4-mac fails on 10.6.8 Rosetta when using older unreleased 10A190 SDK: Undefined symbols: __Unwind_Resume

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: powerpc, snowleopard, rosetta Cc:
Port: qt4-mac

Description

:info:configure ld: symbol(s) not found
:info:configure collect2: ld returned 1 exit status
:info:configure gmake: *** [Makefile:106: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.7/bin/qmake] Error 1
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.7" && ./configure -v -confirm-license -opensource -prefix /opt/local/libexec/qt4 -bindir /opt/local/libexec/qt4/bin -libdir /opt/local/libexec/qt4/lib -docdir /opt/local/libexec/qt4/share/doc -headerdir /opt/local/libexec/qt4/include -plugindir /opt/local/libexec/qt4/share/plugins -importdir /opt/local/libexec/qt4/share/imports -datadir /opt/local/libexec/qt4/share -translationdir /opt/local/libexec/qt4/share/translations -sysconfdir /opt/local/libexec/qt4/share/sysconf -examplesdir /opt/local/libexec/qt4/share/examples -demosdir /opt/local/libexec/qt4/share/demos -openssl-linked -dbus-linked -fast -no-pch -framework -no-phonon -no-phonon-backend --jobs=4 -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -D BOOL_DEFINED -nomake demos -nomake examples -release -no-declarative-debug -arch "ppc" -sdk /Developer/SDKs/MacOSX10.6.sdk 
:info:configure Exit code: 2
:error:configure Failed to configure qt4-mac: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
:debug:configure     while executing
:debug:configure "$procedure $targetname"

Attachments (1)

main.log (561.5 KB) - added by barracuda156 2 years ago.

Download all attachments as: .zip

Change History (14)

Changed 2 years ago by barracuda156

Attachment: main.log added

comment:1 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: qt4-mac fails on 10.6.8 Rosetta: collect2: ld returned 1 exit statusqt4-mac fails on 10.6.8 Rosetta: Undefined symbols: __Unwind_Resume

You can search the Internet for Undefined symbols __Unwind_Resume and see if any suggestions help.

comment:2 Changed 2 years ago by evanmiller (Evan Miller)

_Unwind_Resume comes from the C++ run-time (libstdc++). So it's likely either not finding the library or the symbol isn't properly baked into the ppc slice.

comment:3 Changed 2 years ago by kencu (Ken)

actually it's in libSystem.dylib on 10.6.8

$ uname -a
Darwin KensMacBookPro.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386

$ nm -arch ppc -a /usr/lib/libSystem.dylib | grep Unwind_Resume
001d3c88 S $ld$hide$os10.3$__Unwind_Resume
001d3ca0 S $ld$hide$os10.3$__Unwind_Resume_or_Rethrow
001d3c89 S $ld$hide$os10.4$__Unwind_Resume
001d3ca1 S $ld$hide$os10.4$__Unwind_Resume_or_Rethrow
001d3c8a S $ld$hide$os10.5$__Unwind_Resume
001d3ca2 S $ld$hide$os10.5$__Unwind_Resume_or_Rethrow
00196e7c T __Unwind_Resume
001971e0 T __Unwind_Resume_or_Rethrow

$ nm -arch i386 -a /usr/lib/libSystem.dylib | grep Unwind_Resume
001a29a0 S $ld$hide$os10.4$__Unwind_Resume
001a29b0 S $ld$hide$os10.4$__Unwind_Resume_or_Rethrow
001a29a1 S $ld$hide$os10.5$__Unwind_Resume
001a29b1 S $ld$hide$os10.5$__Unwind_Resume_or_Rethrow
00086ae0 T __Unwind_Resume
00086b30 T __Unwind_Resume_or_Rethrow

$ nm -arch x86_64 -a /usr/lib/libSystem.dylib | grep Unwind_Resume
000000000017a1e0 S $ld$hide$os10.4$__Unwind_Resume
000000000017a1f0 S $ld$hide$os10.4$__Unwind_Resume_or_Rethrow
000000000017a1e1 S $ld$hide$os10.5$__Unwind_Resume
000000000017a1f1 S $ld$hide$os10.5$__Unwind_Resume_or_Rethrow
000000000006f790 T __Unwind_Resume
0000000000073610 T __Unwind_Resume_or_Rethrow

HOWEVER if I recall last summer's explorations, it was not in libSystem.dylib on the bootleg 10.6-for-PPC I tried, so perhaps barracuda156 is really building on that system and posting here as a rosetta question?

If not -- if this is truly 10.6.8 rosetta -- well then I have no idea why libSystem.dylib isn't being linked in. Something must be totally borked.

PS. Symbols also seem to be in the 10.6 SDK:

$ nm -arch ppc -a /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib | grep Unwind_Resume
001d3c88 S $ld$hide$os10.3$__Unwind_Resume
001d3ca0 S $ld$hide$os10.3$__Unwind_Resume_or_Rethrow
001d3c89 S $ld$hide$os10.4$__Unwind_Resume
001d3ca1 S $ld$hide$os10.4$__Unwind_Resume_or_Rethrow
001d3c8a S $ld$hide$os10.5$__Unwind_Resume
001d3ca2 S $ld$hide$os10.5$__Unwind_Resume_or_Rethrow
00196e7c T __Unwind_Resume
001971e0 T __Unwind_Resume_or_Rethrow
Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:4 in reply to:  3 Changed 2 years ago by barracuda156

Replying to kencu:

HOWEVER if I recall last summer's explorations, it was not in libSystem.dylib on the bootleg 10.6-for-PPC I tried, so perhaps barracuda156 is really building on that system and posting here as a rosetta question?

If not -- if this is truly 10.6.8 rosetta -- well then I have no idea why libSystem.dylib isn't being linked in. Something must be totally borked.

PS. Symbols also seem to be in the 10.6 SDK:

@kencu why would I do that? Firstly, I think being honest is not only ethical but also beneficial – mutual trust is conducive to cooperation. Secondly, if I describe the problem in a wrong way, suggestions to fix it will be wrong either.

As you asked me before, I do not open any tickets for 10.6 PPC problems, explicitly or otherwise. If I get a problem on 10.6 PPC, I try building a port on 10.5.8 and/or 10.6.8, and if it still fails, open a ticket specifying an OS version. If a port actually builds on 10.5.8 and/or 10.6.8, I can replicate it on 10.6 PPC, and if not, in the worst case pre-build it and import into 10.6 PPC. So far the only case which comes to my mind is ux-trie, which builds on 10.6.8 but not on 10.6 PPC. In other cases it is other way round: many ports do build on 10.6 PPC with no tweaks but fail on 10.6.8, sometimes fixing those on 10.6.8 is far from trivial (example x265). I do refer to 10.6 PPC at times, and that is done explicitly, for cases when something builds on 10.6 PPC but fails on 10.5.8 or/and 10.6.8. And surely, my aim of getting involved with 10.6.8 Rosetta is fix building for 10.6 PPC, which, I believe, I have mentioned earlier, besides of that being a common sense: there is no point to build for ppc on 10.6.8 Rosetta to use exclusively on 10.6.8 as we have it.

It might be the case though if a port is addressing content of /Developer including SDK folder, that causes some specific issue. I use Xcode 3.2 (currently the release version from 10A433) on this system and an SDK from 10A190. The latter I needed to build gcc10ppc and gcc11ppc to install those on 10.6 PPC (since so far I was unable to fix building those natively: I mentioned a linker problem in Iain’s thread). I can swipe SDK back to the stock one or test on another installation of 10.6.8 where I was building for x86_64 + ppc, I have Xcode 4.2 and stock SDK from it there.

comment:5 Changed 2 years ago by kencu (Ken)

I know - sorry - I guess I'm confused as to how that could have happened, and I know how enthusiastic you are for 10.6 on PPC.

Do you see the ppc symbols for Unwind_Resume in your 10.6 SDK on your system too (see above for how to check).

If you do -- then I'm out of ideas!

comment:6 in reply to:  5 Changed 2 years ago by barracuda156

Replying to kencu:

I know - sorry - I guess I'm confused as to how that could have happened, and I know how enthusiastic you are for 10.6 on PPC.

Do you see the ppc symbols for Unwind_Resume in your 10.6 SDK on your system too (see above for how to check).

If you do -- then I'm out of ideas!

Sorry for delay, symbols are there:

Sergey-Fedorovs-Mac-mini:~ svacchanda$ nm -arch ppc -a /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib | grep Unwind_Resume
001c5b50 S $ld$hide$os10.3$__Unwind_Resume
001c5b70 S $ld$hide$os10.3$__Unwind_Resume_or_Rethrow
001c5b51 S $ld$hide$os10.4$__Unwind_Resume
001c5b71 S $ld$hide$os10.4$__Unwind_Resume_or_Rethrow
001c5b52 S $ld$hide$os10.5$__Unwind_Resume
001c5b72 S $ld$hide$os10.5$__Unwind_Resume_or_Rethrow
001c5b53 S $ld$hide$os10.6$__Unwind_Resume
001c5b73 S $ld$hide$os10.6$__Unwind_Resume_or_Rethrow
0018be04 T __Unwind_Resume
0018c0cc T __Unwind_Resume_or_Rethrow

And this is 10A190 SDK. However, notice it has os10.6, while OS 10.6.8 itself does not:

Sergey-Fedorovs-Mac-mini:~ svacchanda$ nm -arch ppc -a /usr/lib/libSystem.dylib | grep Unwind_Resume
001d3c88 S $ld$hide$os10.3$__Unwind_Resume
001d3ca0 S $ld$hide$os10.3$__Unwind_Resume_or_Rethrow
001d3c89 S $ld$hide$os10.4$__Unwind_Resume
001d3ca1 S $ld$hide$os10.4$__Unwind_Resume_or_Rethrow
001d3c8a S $ld$hide$os10.5$__Unwind_Resume
001d3ca2 S $ld$hide$os10.5$__Unwind_Resume_or_Rethrow
00196e7c T __Unwind_Resume
001971e0 T __Unwind_Resume_or_Rethrow
Last edited 2 years ago by barracuda156 (previous) (diff)

comment:7 Changed 2 years ago by kencu (Ken)

Well that’s what I was referring to re 10.6-on-ppc

It’s not really fair to post tickets building against the 10A190 SDK, it’s not the official sdk. It’s broken in various ways, that cause errors like this.

comment:8 Changed 2 years ago by kencu (Ken)

to make this work against the 10A190 SDK, you’d have to build with the gcc-4.2 in there, I think. That version of gcc knows I believe that Unwind_Resume is not available in libSystem on that 10.6 SDK, and links in the right gcc library.

Or you can manually add the gcc library that has that symbol, which is, I believe, libgcc_s.1.dylib (pls double check first) to hack around the change.

As I don’t use 10.6 on PPC or that 10A190 SDK, I’ll leave the rest with you, though. It’s likely to get messy.

comment:9 in reply to:  8 Changed 2 years ago by barracuda156

Replying to kencu:

to make this work against the 10A190 SDK, you’d have to build with the gcc-4.2 in there, I think. That version of gcc knows I believe that Unwind_Resume is not available in libSystem on that 10.6 SDK, and links in the right gcc library.

Or you can manually add the gcc library that has that symbol, which is, I believe, libgcc_s.1.dylib (pls double check first) to hack around the change.

As I don’t use 10.6 on PPC or that 10A190 SDK, I’ll leave the rest with you, though. It’s likely to get messy.

Thank you!

Why is it though that the output from 10A190 SDK has extra symbols? I mean, it is supposed to lack something, but instead we have:

001c5b53 S $ld$hide$os10.6$__Unwind_Resume
001c5b73 S $ld$hide$os10.6$__Unwind_Resume_or_Rethrow

Two extra lines.

comment:11 Changed 2 years ago by kencu (Ken)

Resolution: invalid
Status: newclosed
Summary: qt4-mac fails on 10.6.8 Rosetta: Undefined symbols: __Unwind_Resumeqt4-mac fails on 10.6.8 Rosetta when using older unreleased 10A190 SDK: Undefined symbols: __Unwind_Resume

comment:13 Changed 2 years ago by kencu (Ken)

You are learning very fast! We are investing in you by answering all of your questions as best we can in the hopes that you will become a valuable contributor in the future.

Everyone -- absolutely everyone -- started where you were and moved along from there!

Note: See TracTickets for help on using tickets.