Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile on Arch Linux #112

Open
drtebi opened this issue Sep 8, 2018 · 17 comments
Open

Cannot compile on Arch Linux #112

drtebi opened this issue Sep 8, 2018 · 17 comments

Comments

@drtebi
Copy link

drtebi commented Sep 8, 2018

I have tried the master branch as well as the dev branch, make stops with errors.

Am I missing some dependencies, or is there something else I am not getting? I just downloaded the .zip archive from github, extracted the files, changed into that directory and ran "make". Tried "make dist-64" as well with no luck.
My system was updated just three days ago. gcc, cmake and (g)make are installed.

Here the last few lines of the error messages, I can provide more if that helps:

make[4]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[3]: *** [CMakeFiles/Makefile2:226: 3rdparty/tbb/CMakeFiles/tbb.dir/all] Error 2
In file included from /home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/enumerable_thread_specific.h:32,
                 from /home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/combinable.h:32,
                 from /home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/tbb.h:49,
                 from /home/drtebi/Downloads/x3f-master/deps/src/opencv/modules/core/include/opencv2/core/private.hpp:65,
                 from /home/drtebi/Downloads/x3f-master/deps/src/opencv/modules/flann/src/precomp.hpp:23,
                 from /home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/modules/flann/opencv_flann_pch_dephelp.cxx:1:
/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/concurrent_vector.h: In member function ‘tbb::concurrent_vector<T, A>::iterator tbb::concurrent_vector<T, A>::grow_by(tbb::concurrent_vector<T, A>::size_type)’:
/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/concurrent_vector.h:645:38: error: operands to ?: have different types ‘tbb::internal::concurrent_vector_base_v3::size_type’ {aka ‘long unsigned int’} and ‘tbb::atomic<long unsigned int>’
         return iterator(*this, delta ? internal_grow_by( delta, sizeof(T), &initialize_array, NULL ) : my_early_size);
                                ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/concurrent_vector.h:645:38: note:   and each type can be converted to the other
/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/concurrent_vector.h: In member function ‘tbb::concurrent_vector<T, A>::iterator tbb::concurrent_vector<T, A>::grow_by(tbb::concurrent_vector<T, A>::size_type, tbb::concurrent_vector<T, A>::const_reference)’:
/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/concurrent_vector.h:658:38: error: operands to ?: have different types ‘tbb::internal::concurrent_vector_base_v3::size_type’ {aka ‘long unsigned int’} and ‘tbb::atomic<long unsigned int>’
         return iterator(*this, delta ? internal_grow_by( delta, sizeof(T), &initialize_array_by, static_cast<const void*>(&t) ) : my_early_size);
                                ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build/3rdparty/tbb/tbb41_20130116oss/include/tbb/concurrent_vector.h:658:38: note:   and each type can be converted to the other
make[4]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs_pch_dephelp.dir/build.make:72: modules/imgcodecs/CMakeFiles/opencv_imgcodecs_pch_dephelp.dir/opencv_imgcodecs_pch_dephelp.cxx.o] Error 1
make[4]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[3]: *** [CMakeFiles/Makefile2:2168: modules/imgcodecs/CMakeFiles/opencv_imgcodecs_pch_dephelp.dir/all] Error 2
make[4]: *** [modules/imgproc/CMakeFiles/opencv_imgproc_pch_dephelp.dir/build.make:72: modules/imgproc/CMakeFiles/opencv_imgproc_pch_dephelp.dir/opencv_imgproc_pch_dephelp.cxx.o] Error 1
make[4]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[3]: *** [CMakeFiles/Makefile2:1445: modules/imgproc/CMakeFiles/opencv_imgproc_pch_dephelp.dir/all] Error 2
make[4]: *** [modules/ml/CMakeFiles/opencv_ml_pch_dephelp.dir/build.make:72: modules/ml/CMakeFiles/opencv_ml_pch_dephelp.dir/opencv_ml_pch_dephelp.cxx.o] Error 1
make[4]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[3]: *** [CMakeFiles/Makefile2:1678: modules/ml/CMakeFiles/opencv_ml_pch_dephelp.dir/all] Error 2
make[4]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/build.make:72: modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o] Error 1
make[4]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[3]: *** [CMakeFiles/Makefile2:1224: modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all] Error 2
make[4]: *** [modules/flann/CMakeFiles/opencv_flann_pch_dephelp.dir/build.make:72: modules/flann/CMakeFiles/opencv_flann_pch_dephelp.dir/opencv_flann_pch_dephelp.cxx.o] Error 1
make[4]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[3]: *** [CMakeFiles/Makefile2:1386: modules/flann/CMakeFiles/opencv_flann_pch_dephelp.dir/all] Error 2
make[3]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[2]: *** [Makefile:152: all] Error 2
make[2]: Leaving directory '/home/drtebi/Downloads/x3f-master/deps/src/linux-x86_64/opencv_build'
make[1]: *** [makefile:52: deps/lib/linux-x86_64/opencv/.success] Error 1
make[1]: Leaving directory '/home/drtebi/Downloads/x3f-master'
make: *** [makefile:31: dist-64] Error 2
@rolkar
Copy link
Contributor

rolkar commented Sep 8, 2018

I am not sure what this is. It seems like there is a type mismatch between "NULL" and "internal_grow_by(". Some kind of library versions that differs maybe.

@erikrk
Copy link
Contributor

erikrk commented Sep 8, 2018 via email

@drtebi
Copy link
Author

drtebi commented Sep 9, 2018

My gcc version is 8.2.1
My TBB version says it's up to date as well (intel-tbb-2018_20180618-1).
Is there any way I can fix this? I am not afraid to dig into some code, if someone tells me where to look :)

@erikrk
Copy link
Contributor

erikrk commented Sep 9, 2018 via email

@drtebi
Copy link
Author

drtebi commented Sep 9, 2018

Thank you, just what I hoped for. Arch Linux has an "official" package for OpenCV.

I will try that later today and report back.

@drtebi
Copy link
Author

drtebi commented Sep 10, 2018

Well, it did not work out yet...

I started with a freshly extracted x3f archive.
Change OCV_URL and OCV_HASH in install_opencv.sh:

OCV_URL=https://github.com/opencv/opencv.git
OCV_HASH=b38c50b3d0c31e82294315ec44b54b7ef559ef12

The OpenCV install succeeded. After that I had to create symlinks to the lib64 directories (lib -> lib64). Got a bit further but then I got this:

make -C src all
make[1]: Entering directory '/home/drtebi/Downloads/x3f-master/src'
fatal: not a git repository (or any of the parent directories): .git
g++ ../bin/linux-x86_64/x3f_extract.o ../bin/linux-x86_64/x3f_version--linux-x86_64.o ../bin/linux-x86_64/x3f_io.o ../bin/linux-x86_64/x3f_process.o ../bin/linux-x86_64/x3f_meta.o ../bin/linux-x86_64/x3f_image.o ../bin/linux-x86_64/x3f_spatial_gain.o ../bin/linux-x86_64/x3f_output_dng.o ../bin/linux-x86_64/x3f_output_tiff.o ../bin/linux-x86_64/x3f_output_ppm.o ../bin/linux-x86_64/x3f_histogram.o ../bin/linux-x86_64/x3f_print_meta.o ../bin/linux-x86_64/x3f_dump.o ../bin/linux-x86_64/x3f_matrix.o ../bin/linux-x86_64/x3f_dngtags.o ../bin/linux-x86_64/x3f_denoise_utils.o ../bin/linux-x86_64/x3f_denoise_aniso.o ../bin/linux-x86_64/x3f_denoise.o ../bin/linux-x86_64/x3f_printf.o ../deps/lib/linux-x86_64/opencv/lib/libopencv_photo.a ../deps/lib/linux-x86_64/opencv/lib/libopencv_imgproc.a ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a ../deps/lib/linux-x86_64/opencv/share/OpenCV/3rdparty/lib/libtbb.a ../deps/lib/linux-x86_64/opencv/share/OpenCV/3rdparty/lib/liblibtiff.a -o ../bin/linux-x86_64/x3f_extract -lz -ldl -lpthread  -lm
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(system.cpp.o): in function `cv::TLSData<cv::(anonymous namespace)::ThreadID>::createDataInstance() const':
system.cpp:(.text._ZNK2cv7TLSDataINS_12_GLOBAL__N_18ThreadIDEE18createDataInstanceEv+0x37): undefined reference to `__itt_thread_set_name_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::LocationExtraData::LocationExtraData(cv::utils::trace::details::Region::LocationStaticStorage const&)':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraDataC2ERKNS3_21LocationStaticStorageE+0x2f): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraDataC2ERKNS3_21LocationStaticStorageE+0x43): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraDataC2ERKNS3_21LocationStaticStorageE+0x7f): undefined reference to `__itt_string_handle_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraDataC2ERKNS3_21LocationStaticStorageE+0xb3): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::Impl::~Impl()':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region4ImplD2Ev+0x2b): undefined reference to `__itt_id_destroy_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::Impl::release()':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl7releaseEv+0x33): undefined reference to `__itt_id_destroy_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::Impl::registerRegion(cv::utils::trace::details::TraceManagerThreadLocal&)':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl14registerRegionERNS2_23TraceManagerThreadLocalE+0x1f): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl14registerRegionERNS2_23TraceManagerThreadLocalE+0x37): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl14registerRegionERNS2_23TraceManagerThreadLocalE+0xb8): undefined reference to `__itt_id_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl14registerRegionERNS2_23TraceManagerThreadLocalE+0xeb): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::TraceManager::TraceManager()':
trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerC2Ev+0x41b): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerC2Ev+0x433): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerC2Ev+0x4ab): undefined reference to `__itt_region_begin_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerC2Ev+0x4ba): undefined reference to `__itt_string_handle_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerC2Ev+0x673): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::LocationExtraData::init(cv::utils::trace::details::Region::LocationStaticStorage const&)':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraData4initERKNS3_21LocationStaticStorageE+0xc0): undefined reference to `__itt_string_handle_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraData4initERKNS3_21LocationStaticStorageE+0x163): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraData4initERKNS3_21LocationStaticStorageE+0x177): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region17LocationExtraData4initERKNS3_21LocationStaticStorageE+0x1b2): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::Impl::enterRegion(cv::utils::trace::details::TraceManagerThreadLocal&)':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11enterRegionERNS2_23TraceManagerThreadLocalE+0xf0): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11enterRegionERNS2_23TraceManagerThreadLocalE+0x108): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11enterRegionERNS2_23TraceManagerThreadLocalE+0x16b): undefined reference to `__itt_task_begin_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11enterRegionERNS2_23TraceManagerThreadLocalE+0x213): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::Impl::Impl(cv::utils::trace::details::TraceManagerThreadLocal&, cv::utils::trace::details::Region*, cv::utils::trace::details::Region&, cv::utils::trace::details::Region::LocationStaticStorage const&, long)':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region4ImplC2ERNS2_23TraceManagerThreadLocalEPS3_RS3_RKNS3_21LocationStaticStorageEl+0x6f): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4ImplC2ERNS2_23TraceManagerThreadLocalEPS3_RS3_RKNS3_21LocationStaticStorageEl+0x87): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4ImplC2ERNS2_23TraceManagerThreadLocalEPS3_RS3_RKNS3_21LocationStaticStorageEl+0x126): undefined reference to `__itt_id_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4ImplC2ERNS2_23TraceManagerThreadLocalEPS3_RS3_RKNS3_21LocationStaticStorageEl+0x153): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&)':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0x68): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0x80): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0xe0): undefined reference to `__itt_metadata_add_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0xef): undefined reference to `__itt_string_handle_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0x149): undefined reference to `__itt_task_end_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0x255): undefined reference to `__itt_metadata_add_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0x268): undefined reference to `__itt_string_handle_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details6Region4Impl11leaveRegionERNS2_23TraceManagerThreadLocalE+0x30b): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::Region::destroy()':
trace.cpp:(.text._ZN2cv5utils5trace7details6Region7destroyEv+0x1dc): undefined reference to `__itt_id_destroy_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::parallelForAttachNestedRegion(cv::utils::trace::details::Region const&)':
trace.cpp:(.text._ZN2cv5utils5trace7details29parallelForAttachNestedRegionERKNS2_6RegionE+0x93): undefined reference to `__itt_relation_add_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::TraceArg::ExtraData::ExtraData(cv::utils::trace::details::TraceManagerThreadLocal&, cv::utils::trace::details::TraceArg const&)':
trace.cpp:(.text._ZN2cv5utils5trace7details8TraceArg9ExtraDataC2ERNS2_23TraceManagerThreadLocalERKS3_[_ZN2cv5utils5trace7details8TraceArg9ExtraDataC5ERNS2_23TraceManagerThreadLocalERKS3_]+0x1f): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8TraceArg9ExtraDataC2ERNS2_23TraceManagerThreadLocalERKS3_[_ZN2cv5utils5trace7details8TraceArg9ExtraDataC5ERNS2_23TraceManagerThreadLocalERKS3_]+0x33): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8TraceArg9ExtraDataC2ERNS2_23TraceManagerThreadLocalERKS3_[_ZN2cv5utils5trace7details8TraceArg9ExtraDataC5ERNS2_23TraceManagerThreadLocalERKS3_]+0x6f): undefined reference to `__itt_string_handle_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8TraceArg9ExtraDataC2ERNS2_23TraceManagerThreadLocalERKS3_[_ZN2cv5utils5trace7details8TraceArg9ExtraDataC5ERNS2_23TraceManagerThreadLocalERKS3_]+0x93): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, char const*)':
trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEPKc+0x85): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEPKc+0x9d): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEPKc+0xe7): undefined reference to `__itt_metadata_str_add_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEPKc+0x183): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, int)':
trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEi+0x79): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEi+0x91): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEi+0xda): undefined reference to `__itt_metadata_add_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEi+0x173): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, long)':
trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEl+0x7a): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEl+0x92): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEl+0xdb): undefined reference to `__itt_metadata_add_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEl+0x173): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, double)':
trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEd+0x7b): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEd+0x93): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEd+0xdc): undefined reference to `__itt_metadata_add_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details8traceArgERKNS2_8TraceArgEd+0x173): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: ../deps/lib/linux-x86_64/opencv/lib/libopencv_core.a(trace.cpp.o): in function `cv::utils::trace::details::TraceManager::~TraceManager()':
trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerD2Ev+0x3a): undefined reference to `__itt_api_version_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerD2Ev+0x52): undefined reference to `__itt_domain_create_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerD2Ev+0x863): undefined reference to `__itt_region_end_ptr__3_0'
/usr/bin/ld: trace.cpp:(.text._ZN2cv5utils5trace7details12TraceManagerD2Ev+0x8ab): undefined reference to `__itt_domain_create_ptr__3_0'
collect2: error: ld returned 1 exit status
make[1]: *** [makefile:106: ../bin/linux-x86_64/x3f_extract] Error 1
make[1]: Leaving directory '/home/drtebi/Downloads/x3f-master/src'
make: *** [makefile:17: all] Error 2

No idea what is going on there...

@drtebi
Copy link
Author

drtebi commented Sep 10, 2018

Just tried it on a fresh install of Ubuntu 18.04 LTS, gcc and cmake installed.

Even more errors, not finding g++ etc.

On what Linux Distro was this code tested? Can I get a list of requirements? I would love to use this program, but apparently there are issues compiling the code on recently updated distros.

@drtebi
Copy link
Author

drtebi commented Sep 15, 2018

Well, honestly, I was excited about this project. But if it's difficult or impossible to install, even on a "vanilla" Ubuntu installation, it's disappointing.

I would love to try Kalpanika, but you guys should really make it easier to install Kalpanika on an "average" or "typical" Linux system, how else can we take advantage of it?

@rolkar
Copy link
Contributor

rolkar commented Sep 15, 2018

OK - we see two errors here.
1a. fatal: not a git repository (or any of the parent directories): .git
1b. ... undefined reference ...

  1. not finding g++ etc

The second one is due to your new installation not being complete. It lacks g++. This is how you do it.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential

Note though that you will probably hit problem 1 after doing this anyhow.

The first one is a bit more complicated.

1a. This "git" thing we have not a clue and we do not know if 1b might be a consequence. Probably not.

1b. The "undefined reference" thing is probably because of missing libraries in the linking command. It is probably because the new OpenCV has more dependencies.

A bit of explanation is here in place we think. We have chosen to link statically because it was originally closed source and we wanted to be able to distribute self contained binaries. Then you need to be careful when linking, because all dependencies, even secondary ones, needs to be given in the link command. And this is the problem here.

But, for an open source project where the users compile the binaries themselves it would be much easier if the linking would be dynamic as then the secondary dependencies are automatically just working. But, then the machine you plan to run it on needs to have the libraries installed.

@drtebi
Copy link
Author

drtebi commented Sep 27, 2018

Hello,
sorry for the delay. I have followed your suggestions and tried again on the Ubuntu installation.

I am not exactly sure where it failed this time, but I have the complete log starting from "make" uploaded here as a text file:
http://drtebi.com/dump/make-error-log.txt

Any suggestions are greatly appreciated.

@rolkar
Copy link
Contributor

rolkar commented Sep 27, 2018

Hi - it is Erik that is the expert on this. I assume he will need the two cmake log files mentioned at the end of the text file.

@drtebi
Copy link
Author

drtebi commented Sep 29, 2018

The CMake log files are now uploaded here:
http://drtebi.com/dump/CMakeError.log
http://drtebi.com/dump/CMakeOutput.log

I hope that helps.
CMAKE_CXX_COMPILER-NOTFOUND
Seems to be the problem...

@rolkar
Copy link
Contributor

rolkar commented Sep 30, 2018

As you can see, you have no c++ compiler in your Linux installation.
Three posts above I showed how to install it.

When you have installed it, there are two possibilities

  1. It just works
  2. You are back at the original situation, a type mismatch.

/Roland

@drtebi
Copy link
Author

drtebi commented Oct 1, 2018

As you can see, you have no c++ compiler in your Linux installation.

Well, I am not sure which kind of C++ compiler is required. I thought gcc is sufficient, which I installed according to your instructions. Thus I have:

drtebi@vb-ubuntu:~/Downloads/x3f-master$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-16ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3) 

@rolkar
Copy link
Contributor

rolkar commented Oct 1, 2018

Yes, gcc can compile c++ programs. But ...

Please google for "Can you compile C++ with GCC?"

@drtebi
Copy link
Author

drtebi commented Oct 1, 2018

I assumed that this was the place to ask for help, not google.

Maybe you could just tell me on what machine the code actually compiles, as in which Linux distribution, with what packages installed.
It is quite obvious, that any "normal" Ubuntu user will not be able to compile Kalpanika. There is a lack of information on which packages must be present on the users system in order to run the "make" command.

If it was my own code I had published here, I would just go through the trouble and attempt to install it on a "vanilla" Ubuntu installation, and, if necessary, provide a list of required packages for installing Kalpanika.

I feel we are just going back and forth here, with some mystery packages that are missing that I need to guess and keep asking about.

@rolkar
Copy link
Contributor

rolkar commented Oct 2, 2018

I have given you help. I repeat, You should run ...

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential

... to install g++

The googling was only to show you that you DO need to install g++, even if you have gcc. The main web page you will find doing the googling is something that google puts up as an info page and nothing I could find a link for. Thats why googling was recommended.

After that, cmake will find a c++ compiler.

I have also said that, unfortunately, it will probably not help the whole way. You will probably get the original problem back, where you will get complaints on incompatible types. That is a guess, I might be wrong.

Regarding, you being not satisfied with our help. Please understand that we made this software open source as a courtesy to e.g. you and that the main reason is that we no longer have all that much time to develop and maintain it. We are doing other stuff. We have also explained that the build environment is originally designed for our internal builds. It is not optimal for you building it, if you do not have the skills.

All that said, sure you can get help, but you have to understand the background.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants