SUMMARY elisa git fails to build on High Sierra STEPS TO REPRODUCE 1. brew install elisa OBSERVED RESULT Undefined symbols for architecture x86_64: "AudioWrapper::saveUndoPosition(long long)", referenced from: ElisaApplication::initializePlayer() in elisaapplication.cpp.o AudioWrapper::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in audiowrapper_qtmultimedia.cpp.o "AudioWrapper::restoreUndoPosition()", referenced from: ElisaApplication::initializePlayer() in elisaapplication.cpp.o AudioWrapper::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in audiowrapper_qtmultimedia.cpp.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]: *** [bin/libelisaLib.0.1.dylib] Error 1 make[1]: *** [src/CMakeFiles/elisaLib.dir/all] Error 2 make: *** [all] Error 2 EXPECTED RESULT Build without errors SOFTWARE/OS VERSIONS macOS: 10.13.6 KDE Frameworks Version: 5.56 Qt Version: 5.12.2 ADDITIONAL INFORMATION Full log: https://git.io/fjmGg
ld: symbol(s) not found for architecture x86_64 Sounds like you don't have all the right dependencies installed. I'd contact the homebrew folks to see if their tap/cask/keg/whatever it's called is up-to-date and bug-free.
(In reply to Nate Graham from comment #1) > ld: symbol(s) not found for architecture x86_64 > > Sounds like you don't have all the right dependencies installed. I'd contact > the homebrew folks to see if their tap/cask/keg/whatever it's called is > up-to-date and bug-free. It's actually me, I maintain this tap and had created this formula two days ago. You can examine formula here: https://github.com/KDE-mac/homebrew-kde/blob/master/Formula/elisa.rb Also, I want to mention, that brew builds formulas in sandbox and recursively exposes only those dependencies that was mentioned explicitly. I don't have a build issue on 10.14 (Mojave), but I don't see the GUI in my build, release and nightly Jenkins builds. Also, ninja doesn't work with elisa for me. I will report those issues separately.
> all the right dependencies installed Isn't this must be solved by CMake, which must fail during configure?
Depends on what the missing library is. Can you pinpoint what it is? If you can, and it's not in CMake, then yeah, that would be good to add.
According to https://github.com/KDE/elisa/blob/master/src/audiowrapper.h https://github.com/KDE/elisa/blob/master/src/audiowrapper_qtmultimedia.cpp https://github.com/KDE/elisa/blob/master/src/audiowrapper_libvlc.cpp My suggestion is this lack of some libvlc/qtmultimedia and/or phonon?
(In reply to Yurii Kolesnykov from comment #5) > According to > https://github.com/KDE/elisa/blob/master/src/audiowrapper.h > https://github.com/KDE/elisa/blob/master/src/audiowrapper_qtmultimedia.cpp > https://github.com/KDE/elisa/blob/master/src/audiowrapper_libvlc.cpp > > My suggestion is this lack of some libvlc/qtmultimedia and/or phonon? In fact, one of both is needed. Currently, they are not set as required but the documentation (README.packagers) says that libvlc is recommended and needed to play music. Qt Multimedia is the historical solution and kept for cases where libvlc might be a problem. A solution to your problem could be to add special logic to keep them not required but if both are not found change the result to still report an error.
Thanks for advice Matthieu, but unfortunately I'm not strong on C++/CMake, my main profile is Swift/iOS. Could you please reopen this issue so someone may peek it up?