#55090 closed defect (fixed)
libalkimia fails to link lots of undefined symbols
Reported by: | barry-scott (Barry) | Owned by: | mkae (Marko Käning) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | pixilla (Bradley Giesbrecht), huppmann, tryonlinux (Jordan Tryon) | |
Port: | libalkimia |
Description (last modified by mf2k (Frank Schima))
Extract from:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_libalkimia/libalkimia/main.log
:info:build /usr/bin/clang++ -pipe -Os -stdlib=libc++ -fno-common -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -Woverloaded-virtual -fno-common -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -Wno-return-type-c-linkage -fexceptions -UQT_NO_EXCEPTIONS -O2 -DNDEBUG -DQT_NO_DEBUG -arch x86_64 -mmacosx-version-min=10.13 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names CMakeFiles/alkcompanytest.dir/alkcompanytest_automoc.cpp.o CMakeFiles/alkcompanytest.dir/alkcompanytest.cpp.o -o alkcompanytest.app/Contents/MacOS/alkcompanytest -Wl,-rpath,/opt/local/lib ../lib/libalkimia.4.3.2.dylib /opt/local/libexec/qt4/lib/libQtCore.dylib /opt/local/libexec/qt4/lib/libQtTest.dylib :info:build Undefined symbols for architecture x86_64: :info:build "AlkCompany::setExchange(QString const&)", referenced from: :info:build AlkCompanyTest::copyCtor() in alkcompanytest.cpp.o :info:build AlkCompanyTest::settersAndGetters() in alkcompanytest.cpp.o :info:build "AlkCompany::setRecordId(QString const&)", referenced from: :info:build AlkCompanyTest::copyCtor() in alkcompanytest.cpp.o :info:build AlkCompanyTest::settersAndGetters() in alkcompanytest.cpp.o
Attachments (3)
Change History (16)
Changed 7 years ago by barry-scott (Barry)
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Cc: | pixilla added |
---|---|
Owner: | set to mkae |
Port: | libalkimia added |
Status: | new → assigned |
In the future, please use WikiFormatting, fill in the Port field and Cc the port maintainers (port info --maintainers libalkimia
).
comment:2 Changed 7 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:3 Changed 7 years ago by huppmann
this seems to result from the libalkimia objects being built without external linkage; i.e., the symbols aren't "exported". i hacked the Portfile as attached and it builds thus, but it does so by lying to kdemacros.h and telling it that clang is gcc. obviously something more systematic may be required so that other libraries don't have the same issue, but i'm not sure how interested the KDE developers would be in this task, since they've moved on to KDE 5 and the macports stuff is KDE 4
there is some related discussion at https://lists.macports.org/pipermail/macports-tickets/2012-July/115190.html
Changed 7 years ago by huppmann
Attachment: | libalkimia-KDE_HAVE_GCC_VISIBILITY-hack.patch added |
---|
patch to macports-port 586bfa29 kde/libalkimia
comment:4 Changed 7 years ago by huppmann
Cc: | huppmann added |
---|
comment:5 Changed 7 years ago by tryonlinux (Jordan Tryon)
Cc: | tryonlinux added |
---|
comment:6 Changed 7 years ago by tryonlinux (Jordan Tryon)
Is there a way I can add this patch to KmyMoney4? I can't build it because libalkimia fails due to this bug.
I apologize if I shouldn't ask this here, please let me know where I should.
comment:7 Changed 7 years ago by kencu (Ken)
I thought I might fix this for you today, but strangely enough libalkimia installed without issue building with clang-3.9 (10.6.8/libc++) without using this patch. I see the buildbots build it on darwin 11 through 16 so far. So must be more to this question than just this patch...
Changed 7 years ago by tryonlinux (Jordan Tryon)
Attachment: | main.2.log added |
---|
comment:8 Changed 7 years ago by tryonlinux (Jordan Tryon)
I attached my log it looks like I am building on Darwin_17? Thanks by the way for taking a look at this!
comment:9 Changed 7 years ago by kencu (Ken)
Pull request submitted to maintainers: <https://github.com/macports/macports-ports/pull/972>
comment:11 Changed 7 years ago by ken-cunningham-webuse
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:12 Changed 7 years ago by kencu (Ken)
see also 55104. I pushed this fix through because there were multiple tickets about it recently, and it was holding people up, but the same error is showing up in other kde4 ports, and therefore it is looking for a proper, more comprehensive fix than this.
comment:13 Changed 7 years ago by tryonlinux (Jordan Tryon)
This fixed the liableimia install on High Sierra, which fixed my kMyMoney install. Thanks!
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_libalkimia/libalkimia/main.log