Opened 2 years ago

Last modified 20 months ago

#63612 new defect

quassel @0.13.1_1: build fails with undefined symbols for architecture x86_64

Reported by: cooljeanius (Eric Gallager) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc:
Port: quassel

Description

I've seen other build failures like this before so I'm wondering if it might just be an issue with my computer:

[ 99%] Linking CXX executable ../quassel
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/quassel.dir/link.txt --verbose=ON
/usr/bin/clang++ -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -std=c++11 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wextra -Wpointer-arith -Wformat-security -Woverloaded-virtual -fno-common -Wno-deprecated-register  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -mmacosx-version-min=11.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk CMakeFiles/quassel.dir/quassel_autogen/mocs_compilation.cpp.o CMakeFiles/quassel.dir/common/main.cpp.o CMakeFiles/quassel.dir/qtui/monoapplication.cpp.o -o ../quassel  -Wl,-rpath,/opt/local/lib -framework Carbon qtui/libmod_qtui.a uisupport/libmod_uisupport.a client/libmod_client.a core/libmod_core.a common/libmod_common.a /opt/local/libexec/qt5/lib/QtMultimedia.framework/QtMultimedia /opt/local/libexec/qt5/lib/QtWebEngine.framework/QtWebEngine /opt/local/libexec/qt5/lib/QtWebEngineWidgets.framework/QtWebEngineWidgets /opt/local/libexec/qt5/lib/QtWebEngineCore.framework/QtWebEngineCore /opt/local/libexec/qt5/lib/QtWebChannel.framework/QtWebChannel /opt/local/libexec/qt5/lib/QtPositioning.framework/QtPositioning /opt/local/libexec/qt5/lib/QtQuick.framework/QtQuick /opt/local/libexec/qt5/lib/QtQmlModels.framework/QtQmlModels /opt/local/libexec/qt5/lib/QtQml.framework/QtQml /opt/local/libexec/qt5/lib/QtPrintSupport.framework/QtPrintSupport /opt/local/lib/libdbusmenu-qt5.2.6.0.dylib /opt/local/libexec/qt5/lib/QtDBus.framework/QtDBus /opt/local/libexec/qt5/lib/QtWidgets.framework/QtWidgets /opt/local/libexec/qt5/lib/QtGui.framework/QtGui -framework Foundation -framework Carbon /opt/local/libexec/qt5/lib/QtNetwork.framework/QtNetwork -framework CoreServices -framework CoreFoundation /opt/local/lib/libz.dylib /opt/local/libexec/qt5/lib/QtScript.framework/QtScript /opt/local/libexec/qt5/lib/QtSql.framework/QtSql /opt/local/libexec/qt5/lib/QtCore.framework/QtCore /opt/local/lib/libldap.dylib /opt/local/lib/liblber.dylib 
ld: warning: dylib (/opt/local/libexec/qt5/lib/QtWebChannel.framework/QtWebChannel) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/libexec/qt5/lib/QtPositioning.framework/QtPositioning) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/libdbusmenu-qt5.2.6.0.dylib) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/libldap.dylib) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/liblber.dylib) was built for newer macOS version (11.2) than being linked (11.0)
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_NSUserNotification", referenced from:
      objc-class-ref in libmod_qtui.a(osxnotificationbackend.mm.o)
  "_OBJC_CLASS_$_NSUserNotificationCenter", referenced from:
      objc-class-ref in libmod_qtui.a(osxnotificationbackend.mm.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [quassel] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel/work/build'
make[1]: *** [src/CMakeFiles/quassel.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel/work/build'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel/work/build'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel/work/build" && /usr/bin/make -j16 -w all VERBOSE=ON 
Exit code: 2
Error: Failed to build quassel: command execution failed
DEBUG: Error code: CHILDSTATUS 60051 2

I'm on Big Sur (11.6) with Xcode 13, for reference.

Change History (3)

comment:1 Changed 2 years ago by cooljeanius (Eric Gallager)

I get a similar build failure for the separate quassel-client port, too, btw:

[ 99%] Linking CXX executable ../quasselclient
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel-client/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/quasselclient.dir/link.txt --verbose=ON
/usr/bin/clang++ -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -std=c++11 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wextra -Wpointer-arith -Wformat-security -Woverloaded-virtual -fno-common -Wno-deprecated-register  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -mmacosx-version-min=11.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk CMakeFiles/quasselclient.dir/quasselclient_autogen/mocs_compilation.cpp.o CMakeFiles/quasselclient.dir/common/main.cpp.o -o ../quasselclient  -Wl,-rpath,/opt/local/lib -framework Carbon qtui/libmod_qtui.a uisupport/libmod_uisupport.a client/libmod_client.a common/libmod_common.a -framework Carbon -framework CoreServices -framework CoreFoundation /opt/local/lib/libz.dylib /opt/local/libexec/qt5/lib/QtMultimedia.framework/QtMultimedia /opt/local/libexec/qt5/lib/QtWebEngine.framework/QtWebEngine /opt/local/libexec/qt5/lib/QtWebEngineWidgets.framework/QtWebEngineWidgets /opt/local/libexec/qt5/lib/QtWebEngineCore.framework/QtWebEngineCore /opt/local/libexec/qt5/lib/QtWebChannel.framework/QtWebChannel /opt/local/libexec/qt5/lib/QtPositioning.framework/QtPositioning /opt/local/libexec/qt5/lib/QtQuick.framework/QtQuick /opt/local/libexec/qt5/lib/QtQmlModels.framework/QtQmlModels /opt/local/libexec/qt5/lib/QtQml.framework/QtQml /opt/local/libexec/qt5/lib/QtNetwork.framework/QtNetwork /opt/local/libexec/qt5/lib/QtPrintSupport.framework/QtPrintSupport /opt/local/lib/libdbusmenu-qt5.2.6.0.dylib /opt/local/libexec/qt5/lib/QtDBus.framework/QtDBus /opt/local/libexec/qt5/lib/QtWidgets.framework/QtWidgets /opt/local/libexec/qt5/lib/QtGui.framework/QtGui /opt/local/libexec/qt5/lib/QtCore.framework/QtCore -framework Foundation 
ld: warning: dylib (/opt/local/libexec/qt5/lib/QtWebChannel.framework/QtWebChannel) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/libexec/qt5/lib/QtPositioning.framework/QtPositioning) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/libdbusmenu-qt5.2.6.0.dylib) was built for newer macOS version (11.2) than being linked (11.0)
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_NSUserNotification", referenced from:
      objc-class-ref in libmod_qtui.a(osxnotificationbackend.mm.o)
  "_OBJC_CLASS_$_NSUserNotificationCenter", referenced from:
      objc-class-ref in libmod_qtui.a(osxnotificationbackend.mm.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [quasselclient] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel-client/work/build'
make[1]: *** [src/CMakeFiles/quasselclient.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel-client/work/build'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel-client/work/build'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_irc_quassel/quassel-client/work/build" && /usr/bin/make -j16 -w all VERBOSE=ON 
Exit code: 2
Error: Failed to build quassel-client: command execution failed
DEBUG: Error code: CHILDSTATUS 61311 2

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

NSUserNotification has been deprecated since 10.14 – possibly ripped out altogether by now? It should be replaced in client code with UNNotification and friends on 10.14 and up.

The quassel build bots are pretty bloody (https://ports.macports.org/port/quassel/builds/) so I wouldn't get too excited.

It looks like they've been prepping a new 0.14 release, so you may want to file an issue (or see if one has been filed) upstream: https://bugs.quassel-irc.org

comment:3 in reply to:  2 Changed 20 months ago by cooljeanius (Eric Gallager)

Replying to evanmiller:

It looks like they've been prepping a new 0.14 release, so you may want to file an issue (or see if one has been filed) upstream: https://bugs.quassel-irc.org

Hm, looks like I'd have to create a new account to report it upstream, and I'm trying to reduce the number of new sites I create accounts for... could someone who already has an account there file something?

Note: See TracTickets for help on using tickets.