#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)
Change History (14)
Changed 3 years ago by barracuda156
comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | qt4-mac fails on 10.6.8 Rosetta: collect2: ld returned 1 exit status → qt4-mac fails on 10.6.8 Rosetta: Undefined symbols: __Unwind_Resume |
---|
comment:2 Changed 3 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 follow-up: 4 Changed 3 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
comment:4 Changed 3 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 follow-up: 6 Changed 3 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 Changed 3 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
comment:7 Changed 3 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 follow-up: 9 Changed 3 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 Changed 3 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:10 follow-up: 12 Changed 3 years ago by kencu (Ken)
comment:11 Changed 3 years ago by kencu (Ken)
Resolution: | → invalid |
---|---|
Status: | new → closed |
Summary: | qt4-mac fails on 10.6.8 Rosetta: Undefined symbols: __Unwind_Resume → qt4-mac fails on 10.6.8 Rosetta when using older unreleased 10A190 SDK: Undefined symbols: __Unwind_Resume |
comment:12 Changed 3 years ago by barracuda156
Replying to kencu:
https://stackoverflow.com/questions/17180964/linking-to-libraries-with-ldhideos10-x-symbols-in-osx https://stackoverflow.com/questions/10134189/what-does-the-ldaddos10-4-prefix-mean-when-i-use-nm-to-look-at-a-symbol-list
Thank you very much! I apologize that I don't know some important things - but I learn in the process.
comment:13 Changed 3 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!
You can search the Internet for
Undefined symbols __Unwind_Resume
and see if any suggestions help.