- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Trying to compile the audio video codecs from ipp-samples.8.0.0.005 on Linux.
ipp_8.0.0.061 installed successfully
I don't have opengl so I looked in
documentation/audio-video-codecs.html#_current_build_procedure_limitations_and_requirements
and I saw
- Linux*
-
To build simple_player sample with window rendering support you need to install Mesa3D* development package and X Window System* development package. Alternatively you can comment-out
UMC_ENABLE_SYS_GLX
definition under Linux* section inumc_config.h
to disable window rendering.I commented that out, but when I build, it fails with:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lGL
collect2: ld returned 1 exit statusUnfortunately t's still trying to link with opengl. Any suggestions appreciated.
Thanks!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
You need to go to sources\audio-video-codecs\application\simple_player and modify CMakeLists.txt:
if( Linux )
list( APPEND LIBS GL X11 pthread )
endif( )
Remove GL and X11 entries.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, after removing those 2 entries the build gets much further but unfortunately still fails.
here is the link line and the first of many link errors:
/usr/bin/c++ -m64 -O2 -Wall CMakeFiles/simple_player.dir/src/codec_selector.cpp.o CMakeFiles/simple_player.dir/src/pipeline.cpp.o CMakeFiles/simple_player.dir/src/pipeline_msdk.cpp.o CMakeFiles/simple_player.dir/src/simple_player.cpp.o -o ../../__bin/release/simple_player -rdynamic -L/home/user/intel_ipp/composer_xe_2013_sp1.0.061/ipp/../compiler/lib/intel64 -Xlinker --start-group ../../__lib/release/libapplication_common.a ../../__lib/release/libavi_spl.a ../../__lib/release/libmpeg4_spl.a ../../__lib/release/libmpeg2_spl.a ../../__lib/release/libaac_common.a ../../__lib/release/libaac_dec.a ../../__lib/release/libac3_dec.a ../../__lib/release/libmp3_common.a ../../__lib/release/libmp3_dec.a ../../__lib/release/librenders_audio.a ../../__lib/release/librenders_video.a ../../__lib/release/libh264_dec.a ../../__lib/release/libmpeg2_dec.a ../../__lib/release/libmpeg4_dec.a ../../__lib/release/libvc1_common.a ../../__lib/release/libvc1_dec.a ../../__lib/release/libvc1_spl.a ../../__lib/release/libmjpeg_dec.a ../../__lib/release/libcommon_cc.a ../../__lib/release/libmedia_buffers.a ../../__lib/release/libcontainer_common.a ../../__lib/release/libcodec_common.a ../../__lib/release/libio_umc.a ../../__lib/release/libcore_umc.a ../../__lib/release/libvm_plus.a ../../__lib/release/libvm.a -Xlinker --end-group -lippcore -lipps -lippi -lippj -lippvc -lippcc -lippac -lippdc -lippch -lsvml -limf -lirc -lpthread
/home/user/intel_ipp/composer_xe_2013_sp1.0.061/ipp/lib/intel64/libipps.a(pscopye9cn_l9---ownsSet_32s.o): In function `l9_ownsSet_32s':
pscopye9cn_l9---ownsSet_32s.i:(.text+0x50): undefined reference to `ippGetMaxCacheSizeB'
-lGL is now gone from the link line, so that's good. also here are the env vars:
user@linux ~$ echo $IPPROOT
/home/user/intel_ipp/composer_xe_2013_sp1.0.061/ipp
user@linux ~$ echo $LD_LIBRARY_PATH
/home/user/intel_ipp/composer_xe_2013_sp1.0.061/ipp/../compiler/lib/intel64:/home/user/intel_ipp/composer_xe_2013_sp1.0.061/ipp/lib/intel64
"ippGetMaxCacheSizeB" is defined of course, in libippcore. Somehow the linker is confused. Could it be the order of the ipp libs on the link line?
thanks again for any suggestions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Int B. wrote:
...
../../__lib/release/libvm_plus.a ../../__lib/release/libvm.a -Xlinker --end-group -lippcore -lipps -lippi -lippj -lippvc -lippcc -lippac -lippdc -lippch -lsvml -limf -lirc -lpthread
...
"ippGetMaxCacheSizeB" is defined of course, in libippcore. Somehow the linker is confused. Could it be the order of the ipp libs on the link line?
Hi!
You are right. The IPP's "libippcore" must be the last among the IPP libs in the linker command line. On Linux the order of libs in command line matters.
Regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, how would one go about changing the linker command line? (Sorry, I'm not familiar with CMake). I see a "link.txt" file in this directory:
/home/user/intel_ipp/ipp-samples.8.0.0.005/__cmake/audio-video-codecs.intel64.make.dynamic.release/application/simple_player/CMakeFiles/simple_player.dir/
But it seems to get overwritten every time I start the build so if I edit it, my edits get clobbered.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I don't see such problems. Compiling with both Intel compiler and gcc 4.6.3 with UMC_ENABLE_SYS_GLX commented and " GL and X11 entries" removed is ok. However, the order of libraries is like you provided "-lippcore -lipps ...". Somehow strange.
Refards,
Sergey

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page