qt compile mac os undefined symbols AVFMediaPlayerService AVFVideoRendererControl - macos

Im trying to compile Qt 5.9.x on my Mac OS High Sierra computer.
I configure with the following options:
./configure --prefix=/Users/myuserid/opt/qt593 \
-opensource \
-release -gui -widgets -no-opengl -confirm-license \
-shared -no-dbus -nomake examples
After configuring I compile and after a while it stops with the
following undefined symbols:
Undefined symbols for architecture x86_64:
"AVFVideoRendererControl::staticMetaObject", referenced from:
AVFMediaPlayerService::releaseControl(QMediaControl*) in avfmediaplayerservice.o
"AVFVideoRendererControl::AVFVideoRendererControl(QObject*)", referenced from:
AVFMediaPlayerService::requestControl(char const*) in avfmediaplayerservice.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[5]: *** [../../../../plugins/mediaservice/libqavfmediaplayer.dylib] Error 1
make[4]: *** [sub-mediaplayer-make_first] Error 2
make[3]: *** [sub-avfoundation-make_first] Error 2
make[2]: *** [sub-plugins-make_first] Error 2
make[1]: *** [sub-src-make_first] Error 2
make: *** [module-qtmultimedia-make_first] Error 2
How do I fix or get past this error? I haven't seen an AVMediaPlayer package to download for Mac OS? I really don't need it anyhow since
Im not planning on doing any Sound or Video?
Anyone see this error and know how to fix it?
Thanks

I'm currently compiling Qt 5.9.3 on osx. I get the same error when I use the '--no-opengl' switch, without it, the compilation is successful. I don't know if this is an option for you, though.

Related

Unable to compile library, symbol not found when running make

I am trying to compile a library, MultiNest. I am on Mac OS Catalina, 10.15.6. The instructions to do so are
git clone https://github.com/JohannesBuchner/MultiNest
cd MultiNest/build
cmake ..
make
I get this error when running make:
Undefined symbols for architecture x86_64:
"___nested_MOD_nestrun", referenced from:
_run in eggbox.c.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [../bin/eggboxC] Error 1
make[1]: *** [src/example_eggbox_C/CMakeFiles/eggboxC.dir/all] Error 2
make: *** [all] Error 2

Build PCL on macOS Sierra - Linking CXX shared library error: Undefined symbols for architecture x86_64

I'm trying to install PCL (Point Cloud Library) on my system with macOS Sierra following the instructions here: http://ns50.pointclouds.org/documentation/tutorials/compiling_pcl_macosx.php
I made it to the step "Building PCL" but receive the following error when running the "cmake .." command:
[ 10%] Linking CXX shared library ../lib/libpcl_io.dylib
Undefined symbols for architecture x86_64:
"boost::this_thread::hiden::sleep_until(timespec const&)", referenced from:
pcl::HDLGrabber::readPacketsFromPcap() in hdl_grabber.cpp.o
pcl::OpenNIGrabber::start() in openni_grabber.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]: *** [lib/libpcl_io.1.8.0.99.dylib] Error 1
make[1]: *** [io/CMakeFiles/pcl_io.dir/all] Error 2
make: *** [all] Error 2
Thanks for your help!

Undefined symbol ___ctzdi2

I am trying to install a debugger called Valgrind on OSX 10.11.2.
While running make, I get the following error
Undefined symbols for architecture i386:
"___ctzdi2", referenced from:
_doRegisterAllocation in libvex-x86-darwin.a(libvex_x86_darwin_a-host_generic_reg_alloc2.o)
ld: symbol(s) not found for architecture i386
make[3]: *** [memcheck-x86-darwin] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Do you know how to fix this?
This may or may not work for you, as I am operating in the following environment:
OS X 10.11.2,
Xcode 7.3.1
Custom built GCC 6.2.0 from source (which I am using instead of Xcode's clang compiler)
The following patch file applied to valgrind-3.12.0:
https://gist.github.com/milljm/22e40e723fb9faf201b83197fc23b4a1
I received the same error as OP, until I used the following extra configure argument:
./configure --enable-only64bit

VLC Compilation Mac OS

I'm trying to compile VLC by myself as described here and the build.sh throw this error
make all-am
CCLD libvlccore.la
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
__nl_find_msg in libintl.a(dcigettext.o)
(maybe you meant: _vlc_iconv_open, _vlc_iconv , _vlc_iconv_close )
"_iconv_open", referenced from:
__nl_find_msg in libintl.a(dcigettext.o)
(maybe you meant: _vlc_iconv_open)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [libvlccore.la] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
And I have not the single clue of what I should do. I'm running Mac OS 10.8.4 and Xcode 4.6.2
You might need to remove references to existing package managers like fink or macports in your environment.
For this, use these commands before doing anything else:
https://wiki.videolan.org/OSXCompile#3rd_party_packagers_and_PATH

When trying to link an OpenMP program on OS X ld returns an error

I am currently working on an OpenMP program running both on Linux (openSUSE 12.2) and OS X (10.8.1), both x86_64. Linking is no problem on Linux, on OS X however I get the following error:
Undefined symbols for architecture x86_64:
"_gomp_tls_key", referenced from:
_GOMP_barrier in libgomp.a(barrier.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [src/resolma_t] Error 1
make[1]: *** [src/CMakeFiles/resolma_t.dir/all] Error 2
make: *** [all] Error 2
How do I fix this? g++ is invoked with -fopenmp so this obviously can't be the reason. My gcc version is i686-apple-darwin11-llvm-gcc-4.2, other OpenMP programs link and work perfectly on the same machine.

Resources