Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#61865 closed defect (fixed)

octave @6.1.0 libobjc not being linked in on macOS 10.11

Reported by: snowflake (Dave Evans) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.6.99
Keywords: Cc: kencu (Ken)
Port: octave

Description

commit 52e8215d1b has a fix for systems up to 10.9. It seems to be required on 10.11 as well.

Here's my local build log, which is confirmed by the buildbots.

libtool: link: /opt/local/bin/clang++-mp-9.0 -dynamiclib  -o libgui/.libs/liboctgui.6.dylib  libgui/.libs/liboctgui_la-liboctgui-build-in
fo.o   -Wl,-force_load,libgui/qterminal/.libs/libqterminal.a -Wl,-force_load,libgui/graphics/.libs/libgraphics.a -Wl,-force_load,libgui/s
rc/.libs/libgui-src.a  -L/opt/local/lib -L/opt/local/libexec/qt5/lib libinterp/.libs/liboctinterp.dylib -L/opt/local/lib/gcc10 liboctave/
.libs/liboctave.dylib -framework QtNetwork -framework QtPrintSupport -framework QtHelp -framework QtWidgets -framework QtGui -framework Q
tSql -framework QtXml -framework QtCore -lqscintilla2_qt5 -framework QtOpenGL -lhdf5 -lGraphicsMagick++ -lGraphicsMagick -lz -framework O
penGL -lfontconfig -lfreetype -framework Carbon -lgl2ps -lcurl -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitespar
seconfig -larpack -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -lvecLibFort -lreadline -lncurses -lpcre -ldl -lgfortran -
lquadmath -liconv -lm  -pthread -Os -stdlib=libc++ -arch x86_64 -F/opt/local/libexec/qt5/lib -F/opt/local/libexec/qt5/lib -Wl,-headerpad_
max_install_names -arch x86_64 -Wl,-framework -Wl,CoreFoundation -Wl,-dylib_file -Wl,/opt/local/lib/octave/6.1.0/liboctave.8.dylib:/opt/local/var/macports/build/_Users_davidevans_macports_sources_github.com_macports_macports-ports_math_octave/octave/work/octave-6.1.0/liboctave/.libs/liboctave.dylib   -pthread -framework OpenGL -framework Carbon -framework QtNetwork -framework QtPrintSupport -framework QtHelp -framework QtWidgets -framework QtGui -framework QtSql -framework QtXml -framework QtCore -framework QtOpenGL -install_name  /opt/local/lib/octave/6.1.0/liboctgui.6.dylib -compatibility_version 7 -current_version 7.0 -Wl,-single_module
Undefined symbols for architecture x86_64:
  "_class_getClassMethod", referenced from:
      octave::base_qobject::base_qobject(octave::qt_application&) in libgui-src.a(libgui_src_la-octave-qobject.o)
  "_class_getInstanceMethod", referenced from:
      octave::base_qobject::base_qobject(octave::qt_application&) in libgui-src.a(libgui_src_la-octave-qobject.o)
  "_objc_getClass", referenced from:
      octave::base_qobject::base_qobject(octave::qt_application&) in libgui-src.a(libgui_src_la-octave-qobject.o)
  "_objc_msgSend", referenced from:
      octave::base_qobject::base_qobject(octave::qt_application&) in libgui-src.a(libgui_src_la-octave-qobject.o)
  "_sel_getUid", referenced from:
      octave::base_qobject::base_qobject(octave::qt_application&) in libgui-src.a(libgui_src_la-octave-qobject.o)
ld: symbol(s) not found for architecture x86_64

Change History (4)

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

thanks for info....are building qt4 or qt5 variant?

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

Resolution: fixed
Status: assignedclosed

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

no doubt this is not the purely correct fix. qt should be using the Objective-C linker or some such.

comment:4 Changed 3 years ago by snowflake (Dave Evans)

I'm building qt5 variabt.

Note: See TracTickets for help on using tickets.