Updated by Andrey Kamaev about 13 years ago
when trying to build 2.3.1a on Solaris 11 with Solaris Studio 12.3, the below error is encountered.
it's interesting that in the two below libraries, the redirectError function slightly differs, so the problem may be somewhere in the defines.
I don't have a solution ATM.
<pre>
../../lib/libopencv_calib3d.so.2.3.1
r89 | 0| 0|FUNC |GLOB |0 |UNDEF |int(*cv::redirectError(int(*)(int,const char*,const char*,const char*,int,void*),void*,void**))(int,const char*,const char*,const char*,int,void*)
../../lib/libopencv_core.so
r2267 | 690976| 66|FUNC |GLOB |3 |13 |int(*cv::redirectError(int(*)(int,const char*,const char*,const char*,int,void*)extern"C",void*,void**))(int,const char*,const char*,const char*,int,void*)extern"C"
</pre>
<pre>
------------
Linking CXX executable ../../bin/opencv_test_calib3d
cd /opt/test2/packages/BUILD/OpenCV-2.3.1a/i386/OpenCV-2.3.1/build/modules/calib3d && /opt/kde4/bin/cmake -E cmake_link_script CMakeFiles/opencv_test_calib3d.dir/link.txt --verbose=1
/opt/test2/SolarisStudio12.3-solaris-x86-bin/solarisstudio12.3/bin/CC -D_REENTRANT -DNDEBUG -D+EXTENSIONS+ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS -DNO_DEBUG -D_UNICODE -DUNICODE -D_RWSTD_REENTRANT -D_XOPEN_SOURCE=500 -D_XPG5 -I/opt/kde4/include -features=extensions,nestedaccess,tmplrefstatic -template=geninlinefuncs -xlang=c99 -xustr=ascii_utf16_ushort -Qoption ccfe -features=gcc -Qoption ccfe -features=zla -Qoption ccfe ++boolflag:sunwcch=false -xinline=%auto -xprefetch=auto -xprefetch_auto_type=indirect_array_access -xprefetch_level=3 -KPIC -DPIC -xipo=0 -xO3 -xregs=no%frameptr -xjobs=2 -xrestrict=%all -xthreadvar=%all -z combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z absexec -xldscope=symbolic -xlibmil -m32 -xarch=sse2 -lc -lm -ldl -lpthread -lposix4 -lrt -Y P,/opt/kde4/lib -i -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Bdynamic -library=stdcxx4 -lCrun -lc -lm -m32 -g -Y P,/opt/kde4/lib -i -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Bdynamic -library=stdcxx4 -lCrun -lc -lm -m32 -xarch=sse2 -xipo=0 -xO3 -xO3 -DNDEBUG -m32 -g -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -z combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z absexec -xldscope=symbolic -xlibmil -lc -lm -ldl -lpthread -lposix4 -lrt CMakeFiles/opencv_test_calib3d.dir/test/test_precomp.o CMakeFiles/opencv_test_calib3d.dir/test/test_chessboardgenerator.o CMakeFiles/opencv_test_calib3d.dir/test/test_cameracalibration.o CMakeFiles/opencv_test_calib3d.dir/test/test_undistort.o CMakeFiles/opencv_test_calib3d.dir/test/test_affine3d_estimator.o CMakeFiles/opencv_test_calib3d.dir/test/test_compose_rt.o CMakeFiles/opencv_test_calib3d.dir/test/test_cornerssubpix.o CMakeFiles/opencv_test_calib3d.dir/test/test_undistort_badarg.o CMakeFiles/opencv_test_calib3d.dir/test/test_chesscorners.o CMakeFiles/opencv_test_calib3d.dir/test/test_chesscorners_badarg.o CMakeFiles/opencv_test_calib3d.dir/test/test_cameracalibration_artificial.o CMakeFiles/opencv_test_calib3d.dir/test/test_cameracalibration_badarg.o CMakeFiles/opencv_test_calib3d.dir/test/test_main.o CMakeFiles/opencv_test_calib3d.dir/test/test_reproject_image_to_3d.o CMakeFiles/opencv_test_calib3d.dir/test/test_stereomatching.o CMakeFiles/opencv_test_calib3d.dir/test/test_solvepnp_ransac.o CMakeFiles/opencv_test_calib3d.dir/test/test_chesscorners_timing.o CMakeFiles/opencv_test_calib3d.dir/test/test_fundam.o CMakeFiles/opencv_test_calib3d.dir/test/test_posit.o -o ../../bin/opencv_test_calib3d -ldl -lm -lpthread -lrt ../../lib/libopencv_calib3d.so.2.3.1 ../../lib/libopencv_core.so.2.3.1 ../../lib/libopencv_imgproc.so.2.3.1 ../../lib/libopencv_highgui.so.2.3.1 ../../lib/libopencv_features2d.so.2.3.1 ../../lib/libopencv_flann.so.2.3.1 ../../lib/libopencv_ts.so.2.3.1 ../../lib/libopencv_highgui.so.2.3.1 ../../lib/libopencv_imgproc.so.2.3.1 ../../lib/libopencv_core.so.2.3.1 -ldl -lm -lpthread -lrt -lz -R/opt/test2/packages/BUILD/OpenCV-2.3.1a/i386/OpenCV-2.3.1/build/lib
ld: warning: file ../../lib/libopencv_highgui.so.2.3.1: attempted multiple inclusion of file
ld: warning: file ../../lib/libopencv_imgproc.so.2.3.1: attempted multiple inclusion of file
ld: warning: file ../../lib/libopencv_core.so.2.3.1: attempted multiple inclusion of file
Undefined first referenced
symbol in file
int(*cv::redirectError(int(*)(int,const char*,const char*,const char*,int,void*),void*,void**))(int,const char*,const char*,const char*,int,void*) ../../lib/libopencv_calib3d.so.2.3.1
ld: fatal: symbol referencing errors. No output written to ../../bin/opencv_test_calib3d
</pre>
it's interesting that in the two below libraries, the redirectError function slightly differs, so the problem may be somewhere in the defines.
I don't have a solution ATM.
<pre>
../../lib/libopencv_calib3d.so.2.3.1
r89 | 0| 0|FUNC |GLOB |0 |UNDEF |int(*cv::redirectError(int(*)(int,const char*,const char*,const char*,int,void*),void*,void**))(int,const char*,const char*,const char*,int,void*)
../../lib/libopencv_core.so
r2267 | 690976| 66|FUNC |GLOB |3 |13 |int(*cv::redirectError(int(*)(int,const char*,const char*,const char*,int,void*)extern"C",void*,void**))(int,const char*,const char*,const char*,int,void*)extern"C"
</pre>
<pre>
------------
Linking CXX executable ../../bin/opencv_test_calib3d
cd /opt/test2/packages/BUILD/OpenCV-2.3.1a/i386/OpenCV-2.3.1/build/modules/calib3d && /opt/kde4/bin/cmake -E cmake_link_script CMakeFiles/opencv_test_calib3d.dir/link.txt --verbose=1
/opt/test2/SolarisStudio12.3-solaris-x86-bin/solarisstudio12.3/bin/CC -D_REENTRANT -DNDEBUG -D+EXTENSIONS+ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS -DNO_DEBUG -D_UNICODE -DUNICODE -D_RWSTD_REENTRANT -D_XOPEN_SOURCE=500 -D_XPG5 -I/opt/kde4/include -features=extensions,nestedaccess,tmplrefstatic -template=geninlinefuncs -xlang=c99 -xustr=ascii_utf16_ushort -Qoption ccfe -features=gcc -Qoption ccfe -features=zla -Qoption ccfe ++boolflag:sunwcch=false -xinline=%auto -xprefetch=auto -xprefetch_auto_type=indirect_array_access -xprefetch_level=3 -KPIC -DPIC -xipo=0 -xO3 -xregs=no%frameptr -xjobs=2 -xrestrict=%all -xthreadvar=%all -z combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z absexec -xldscope=symbolic -xlibmil -m32 -xarch=sse2 -lc -lm -ldl -lpthread -lposix4 -lrt -Y P,/opt/kde4/lib -i -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Bdynamic -library=stdcxx4 -lCrun -lc -lm -m32 -g -Y P,/opt/kde4/lib -i -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Bdynamic -library=stdcxx4 -lCrun -lc -lm -m32 -xarch=sse2 -xipo=0 -xO3 -xO3 -DNDEBUG -m32 -g -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -z combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z absexec -xldscope=symbolic -xlibmil -lc -lm -ldl -lpthread -lposix4 -lrt CMakeFiles/opencv_test_calib3d.dir/test/test_precomp.o CMakeFiles/opencv_test_calib3d.dir/test/test_chessboardgenerator.o CMakeFiles/opencv_test_calib3d.dir/test/test_cameracalibration.o CMakeFiles/opencv_test_calib3d.dir/test/test_undistort.o CMakeFiles/opencv_test_calib3d.dir/test/test_affine3d_estimator.o CMakeFiles/opencv_test_calib3d.dir/test/test_compose_rt.o CMakeFiles/opencv_test_calib3d.dir/test/test_cornerssubpix.o CMakeFiles/opencv_test_calib3d.dir/test/test_undistort_badarg.o CMakeFiles/opencv_test_calib3d.dir/test/test_chesscorners.o CMakeFiles/opencv_test_calib3d.dir/test/test_chesscorners_badarg.o CMakeFiles/opencv_test_calib3d.dir/test/test_cameracalibration_artificial.o CMakeFiles/opencv_test_calib3d.dir/test/test_cameracalibration_badarg.o CMakeFiles/opencv_test_calib3d.dir/test/test_main.o CMakeFiles/opencv_test_calib3d.dir/test/test_reproject_image_to_3d.o CMakeFiles/opencv_test_calib3d.dir/test/test_stereomatching.o CMakeFiles/opencv_test_calib3d.dir/test/test_solvepnp_ransac.o CMakeFiles/opencv_test_calib3d.dir/test/test_chesscorners_timing.o CMakeFiles/opencv_test_calib3d.dir/test/test_fundam.o CMakeFiles/opencv_test_calib3d.dir/test/test_posit.o -o ../../bin/opencv_test_calib3d -ldl -lm -lpthread -lrt ../../lib/libopencv_calib3d.so.2.3.1 ../../lib/libopencv_core.so.2.3.1 ../../lib/libopencv_imgproc.so.2.3.1 ../../lib/libopencv_highgui.so.2.3.1 ../../lib/libopencv_features2d.so.2.3.1 ../../lib/libopencv_flann.so.2.3.1 ../../lib/libopencv_ts.so.2.3.1 ../../lib/libopencv_highgui.so.2.3.1 ../../lib/libopencv_imgproc.so.2.3.1 ../../lib/libopencv_core.so.2.3.1 -ldl -lm -lpthread -lrt -lz -R/opt/test2/packages/BUILD/OpenCV-2.3.1a/i386/OpenCV-2.3.1/build/lib
ld: warning: file ../../lib/libopencv_highgui.so.2.3.1: attempted multiple inclusion of file
ld: warning: file ../../lib/libopencv_imgproc.so.2.3.1: attempted multiple inclusion of file
ld: warning: file ../../lib/libopencv_core.so.2.3.1: attempted multiple inclusion of file
Undefined first referenced
symbol in file
int(*cv::redirectError(int(*)(int,const char*,const char*,const char*,int,void*),void*,void**))(int,const char*,const char*,const char*,int,void*) ../../lib/libopencv_calib3d.so.2.3.1
ld: fatal: symbol referencing errors. No output written to ../../bin/opencv_test_calib3d
</pre>