Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#12839 closed Bug Report - General (fixed)

zoneminder plugin linking fails under OS X

Reported by: warpme@… Owned by: Paul Harrison <pharrison@…>
Priority: minor Milestone: 0.28.1
Component: Plugin - MythZoneminder Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

building zonemider plugin fails on linking stage. system is El-Capitain 10.11.6 with Xcode 7.3.1 (7D1014)

log says following:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.9 -L/Users/piotro/Devel/mythtv-master/.osx-packager/build/lib -F/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib  -Wl,-dynamic,-search_paths_first -Qunused-arguments -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -stdlib=libc++ -mmacosx-version-min=10.7 -single_module -dynamiclib -o libmythzoneminder.dylib main.o zmconsole.o zmplayer.o zmevents.o zmliveplayer.o zmsettings.o zmclient.o alarmnotifythread.o zmminiplayer.o moc_zmconsole.o moc_zmplayer.o moc_zmevents.o moc_zmliveplayer.o moc_zmclient.o moc_zmminiplayer.o  -F/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib -L/Users/piotro/Devel/mythtv-master/.osx-packager/build/lib -framework QTKit -framework Foundation -framework QuartzCore -framework CoreVideo -framework AVFoundation -framework CoreMedia -framework CoreFoundation -framework VideoToolbox -framework VideoDecodeAcceleration -liconv -Wl,-framework,CoreFoundation -Wl,-framework,Security -Wl,-framework,OpenGL -framework CoreGraphics -lm -pthread -framework CoreServices -lfreetype -lz -lbz2 -lmp3lame -F/Users/piotro/Devel/mythtv-master/.osx-packager/build/lib -framework AVCVideoServices -lmythbase-29 -lmyth-29 -lmythui-29 -lmythupnp-29 -lmythservicecontracts-29 -lmythavcodec -lmythavutil -lmythavformat -lmythswresample -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -framework QtNetwork -framework QtSql -framework QtXml -framework OpenGL -framework AGL  
/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/bin/moc -D_GNU_SOURCE -DPREFIX="/Users/piotro/Devel/mythtv-master/.osx-packager/build" -DMMX -DUSING_APPLEREMOTE -D_FILE_OFFSET_BITS=64 -DMPLUGIN_API -DQT_NO_DEBUG -DQT_PLUGIN -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -D__APPLE__ -D__GNUC__=4 -D__APPLE_CC__ -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/mkspecs/macx-clang -I/Users/piotro/Devel/mythtv-master/.osx-packager/src/myth-git/mythplugins/mytharchive/mytharchive -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include/mythtv -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include/mythtv/libmythbase -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include/mythtv/libmythui -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include/mythtv/libmyth -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include/mythtv/libmythservicecontracts -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include/mythtv/libavformat -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include/mythtv/libswscale -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtOpenGL.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtWidgets.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtGui.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtXml.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtSql.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtNetwork.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtCore.framework/Headers -F/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib importnative.h -o moc_importnative.cpp
Undefined symbols for architecture x86_64:
  "ZMLivePlayer::getMonitorList()", referenced from:
      ZMLivePlayer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in moc_zmliveplayer.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]: *** [libmythzoneminder.dylib] Error 1
make[1]: *** [sub-mythzoneminder-make_first] Error 2
make: *** [sub-mythzoneminder-make_first] Error 2
make: *** Waiting for unfinished jobs....

Change History (7)

comment:1 Changed 3 years ago by ctreleaven@…

Same error encountered trying to build with MacPorts?:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -stdlib=libc++  -framework ApplicationServices  -Wl,-dynamic,-search_paths_first -Qunused-arguments -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.7 -single_module -dynamiclib -o libmythzoneminder.dylib main.o zmconsole.o zmplayer.o zmevents.o zmliveplayer.o zmsettings.o zmclient.o alarmnotifythread.o zmminiplayer.o moc_zmconsole.o moc_zmplayer.o moc_zmevents.o moc_zmliveplayer.o moc_zmclient.o moc_zmminiplayer.o  -F/opt/local/libexec/qt5/lib -L/opt/local/lib -framework QTKit -framework Foundation -framework QuartzCore -framework CoreVideo -framework AVFoundation -framework CoreMedia -framework CoreFoundation -framework VideoDecodeAcceleration -lxml2 -lcrypto -lass -lfftw3_threads -lfftw3f -lfftw3 -liconv -Wl,-framework,CoreFoundation -Wl,-framework,Security -Wl,-framework,OpenGL -lx265 -lx264 -lfaac -lbluray -framework CoreGraphics -lm -lbz2 -lz -pthread -framework CoreServices -lfreetype -lmp3lame -lmythbase-0.28 -lmyth-0.28 -lmythui-0.28 -lmythupnp-0.28 -lmythservicecontracts-0.28 -lmythavcodec -lmythavutil -lmythavformat -lmythswresample -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -framework QtNetwork -framework QtSql -framework QtXml -framework OpenGL -framework AGL  
Undefined symbols for architecture x86_64:
  "ZMLivePlayer::getMonitorList()", referenced from:
      ZMLivePlayer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in moc_zmliveplayer.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]: *** [libmythzoneminder.dylib] Error 1

comment:2 Changed 3 years ago by Paul Harrison <pharrison@…>

Owner: set to Paul Harrison <pharrison@…>
Resolution: fixed
Status: newclosed

In 8bb722058f8d065c951dd57170490cad98939e82/mythtv:

MythZoneMinder?: Remove a couple of no longer needed function declarations

Fixes #12839.

comment:3 Changed 3 years ago by Paul Harrison <pharrison@…>

In b631024396ea0d50760ad2d3bb08ef1c638f53b2/mythtv:

MythZoneMinder?: Remove a couple of no longer needed function declarations

Fixes #12839.

(cherry picked from commit 8bb722058f8d065c951dd57170490cad98939e82)

comment:4 Changed 3 years ago by paulh

Milestone: unknown0.28.1

comment:5 Changed 3 years ago by warpme@…

Paul, this commit start to cause following error for me:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.9 -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/mysql -F/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib -DNDEBUG -fomit-frame-pointer -fPIC -DQT_DISABLE_DEPRECATED_BEFORE -msse -pthread -g -Wall -Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Wno-self-assign -Wno-constant-logical-operand -Wno-unused-value -Qunused-arguments -fomit-frame-pointer -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.7 -Wall -W -fPIC -D_GNU_SOURCE -DPREFIX="/Users/piotro/Devel/mythtv-master/.osx-packager/build" -DMMX -DUSING_APPLEREMOTE -D_FILE_OFFSET_BITS=64 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -I/Users/piotro/Devel/mythtv-master/.osx-packager/build/include -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtGui.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtSql.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/mkspecs/macx-clang -F/Users/piotro/Devel/Qt5.5.1/5.5/clang_64/lib -o zmserver.o zmserver.cpp
zmserver.cpp:624:41: error: use of undeclared identifier 'MSG_NOSIGNAL'
    int status = ::send(m_sock, buf, 8, MSG_NOSIGNAL);
                                        ^
zmserver.cpp:629:50: error: use of undeclared identifier 'MSG_NOSIGNAL'
    status = ::send(m_sock, s.c_str(), s.size(), MSG_NOSIGNAL);
                                                 ^
zmserver.cpp:642:41: error: use of undeclared identifier 'MSG_NOSIGNAL'
    int status = ::send(m_sock, buf, 8, MSG_NOSIGNAL);
                                        ^
zmserver.cpp:647:50: error: use of undeclared identifier 'MSG_NOSIGNAL'
    status = ::send(m_sock, s.c_str(), s.size(), MSG_NOSIGNAL);
                                                 ^
zmserver.cpp:652:46: error: use of undeclared identifier 'MSG_NOSIGNAL'
    status = ::send(m_sock, buffer, dataLen, MSG_NOSIGNAL);
                                             ^
5 errors generated.
make[2]: *** [zmserver.o] Error 1
make[1]: *** [sub-mythzmserver-make_first] Error 2
make[1]: *** Waiting for unfinished jobs....

comment:6 Changed 3 years ago by paulh

warpme, it can't be this commit it will be the earlier commit in 11ad81e474. I didn't take into account we need some defines from mythconfig.h for Darwin. See #12966.

comment:7 Changed 3 years ago by warpme@…

With #12966 compiles perfectly. Thx!

Note: See TracTickets for help on using tickets.