That's a good hypothesis, Brecht. It's behaving as if it's trying to resolve __sync_fetch_and_add_8 as a called function at link time, instead of properly recognizing that it's an intrinsic that should correspond to a machine instruction.
On Jan 2, 2014, at 9:21 AM, Brecht Van Lommel <[email protected]> wrote: > Perhaps look at the output of "gcc -v", and see what the default > target architecture is. If it's lower than i686 than that may be the > problem, and compiling OIIO with -march=i686 would be a solution. > > As far as I can tell OIIO uses the default gcc target architecture, > which may lower than your CPU. > > On Thu, Jan 2, 2014 at 5:22 PM, Larry Gritz <[email protected]> wrote: >> Hmmm. >> >> OK, how about this: >> >> make nuke >> make VERBOSE=1 USE_TBB=1 > build.log >> >> and then email me (privately is ok) the build.log file. I want to see where >> it's finding everything (or not). >> >> >> >> On Jan 1, 2014, at 11:05 PM, YuGiOhJCJ Mailing-List >> <[email protected]> wrote: >> >>> I was in the "oiio-1.3.9" directory instead of the "oiio-Release-1.3.9". >>> The "oiio-1.3.9" is a directory I have created manually in order to build >>> outside of the source directory. >>> >>> So, in the good directory, this is what happened: >>> $ make nuke >>> platform=linux, hw=i686 >>> [...] >>> $ make USE_TBB=1 >>> platform=linux, hw=i686 >>> [...] >>> [ 74%] Building CXX object >>> src/libOpenImageIO/CMakeFiles/atomic_test.dir/atomic_test.cpp.o >>> Linking CXX executable atomic_test >>> libOpenImageIO.so.1.3.9: undefined reference to `__sync_fetch_and_add_8' >>> libOpenImageIO.so.1.3.9: undefined reference to >>> `__sync_bool_compare_and_swap_8' >>> collect2: error: ld returned 1 exit status >>> make[3]: *** [src/libOpenImageIO/atomic_test] Error 1 >>> make[3]: Leaving directory >>> `/home/yugiohjcj/documents/downloads/software/oiio-Release-1.3.9/build/linux' >>> make[2]: *** [src/libOpenImageIO/CMakeFiles/atomic_test.dir/all] Error 2 >>> make[2]: Leaving directory >>> `/home/yugiohjcj/documents/downloads/software/oiio-Release-1.3.9/build/linux' >>> make[1]: *** [all] Error 2 >>> make[1]: Leaving directory >>> `/home/yugiohjcj/documents/downloads/software/oiio-Release-1.3.9/build/linux' >>> make: *** [cmake] Error 2 >>> >>> It seems to be the same error, isn't it? >>> >>> On Wed, 1 Jan 2014 22:07:26 -0800 >>> Larry Gritz <[email protected]> wrote: >>> >>>> What directory are you in when you did 'make nuke'? >>>> >>>> I'm talking about the top-level Makefile "wrapper", not the Makefile that >>>> CMake generates. >>>> >>>> >>>> On Jan 1, 2014, at 10:02 PM, YuGiOhJCJ Mailing-List >>>> <[email protected]> wrote: >>>> >>>>> $ make nuke >>>>> make: *** No rule to make target `nuke'. Stop. >>>>> >>>>> $ make USE_TBB=1 >>>>> [ 73%] Built target OpenImageIO >>>>> Linking CXX executable atomic_test >>>>> CMakeFiles/atomic_test.dir/atomic_test.cpp.o: In function >>>>> `do_int64_math(int)': >>>>> atomic_test.cpp:(.text+0x178): undefined reference to >>>>> `__sync_fetch_and_add_8' >>>>> atomic_test.cpp:(.text+0x194): undefined reference to >>>>> `__sync_fetch_and_add_8' >>>>> atomic_test.cpp:(.text+0x1b0): undefined reference to >>>>> `__sync_fetch_and_add_8' >>>>> atomic_test.cpp:(.text+0x1cc): undefined reference to >>>>> `__sync_fetch_and_add_8' >>>>> atomic_test.cpp:(.text+0x1e8): undefined reference to >>>>> `__sync_fetch_and_add_8' >>>>> CMakeFiles/atomic_test.dir/atomic_test.cpp.o:atomic_test.cpp:(.text+0x204): >>>>> more undefined references to `__sync_fetch_and_add_8' follow >>>>> CMakeFiles/atomic_test.dir/atomic_test.cpp.o: In function >>>>> `test_atomic_int64(int, int)': >>>>> atomic_test.cpp:(.text+0x455): undefined reference to >>>>> `__sync_bool_compare_and_swap_8' >>>>> atomic_test.cpp:(.text+0x5f1): undefined reference to >>>>> `__sync_fetch_and_add_8' >>>>> atomic_test.cpp:(.text+0x615): undefined reference to >>>>> `__sync_fetch_and_add_8' >>>>> collect2: error: ld returned 1 exit status >>>>> make[2]: *** [src/libOpenImageIO/atomic_test] Error 1 >>>>> make[1]: *** [src/libOpenImageIO/CMakeFiles/atomic_test.dir/all] Error 2 >>>>> make: *** [all] Error 2 >>>>> >>>>> I am using: boost-1.49.0. >>>>> >>>>> Is it normal that I have no target nuke ? >>>>> >>>>> On Wed, 1 Jan 2014 21:22:04 -0800 >>>>> Larry Gritz <[email protected]> wrote: >>>>> >>>>>> I'm not quite sure what's going on. >>>>>> >>>>>> You could try building against TBB instead of using the gcc intrinsics: >>>>>> >>>>>> make nuke >>>>>> make USE_TBB=1 >>>>>> >>>>>> see if that helps? >>>>>> >>>>>> Also, just for reference (and to give me a head start if that doesn't >>>>>> help), what Boost version are you using? >>>>>> >>>>>> >>>>>> >>>>>> On Jan 1, 2014, at 8:56 PM, YuGiOhJCJ Mailing-List >>>>>> <[email protected]> wrote: >>>>>> >>>>>>> Here is the CPU: >>>>>>> $ cat /proc/cpuinfo >>>>>>> processor : 0 >>>>>>> vendor_id : GenuineIntel >>>>>>> cpu family : 6 >>>>>>> model : 42 >>>>>>> model name : Intel(R) Celeron(R) CPU G440 @ 1.60GHz >>>>>>> stepping : 7 >>>>>>> microcode : 0x28 >>>>>>> cpu MHz : 1599.968 >>>>>>> cache size : 1024 KB >>>>>>> fdiv_bug : no >>>>>>> f00f_bug : no >>>>>>> coma_bug : no >>>>>>> fpu : yes >>>>>>> fpu_exception : yes >>>>>>> cpuid level : 13 >>>>>>> wp : yes >>>>>>> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr >>>>>>> pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe >>>>>>> nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc >>>>>>> aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 >>>>>>> ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave >>>>>>> lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority >>>>>>> ept vpid >>>>>>> bogomips : 3199.93 >>>>>>> clflush size : 64 >>>>>>> cache_alignment : 64 >>>>>>> address sizes : 36 bits physical, 48 bits virtual >>>>>>> power management: >>>>>>> >>>>>>> Do you think about a hardware incompatibility ? >>>>>>> >>>>>>> On Wed, 1 Jan 2014 19:27:28 -0800 >>>>>>> Larry Gritz <[email protected]> wrote: >>>>>>> >>>>>>>> x86? What CPU exactly? >>>>>>>> >>>>>>>> >>>>>>>> On Jan 1, 2014, at 6:42 PM, YuGiOhJCJ Mailing-List >>>>>>>> <[email protected]> wrote: >>>>>>>> >>>>>>>>> Here for hardware platform: Linux x86 (32 bits). >>>>>>>>> >>>>>>>>> Here for gcc: >>>>>>>>> $ gcc --version >>>>>>>>> gcc (GCC) 4.7.1 >>>>>>>>> >>>>>>>>> Any idea ? >>>>>>>>> >>>>>>>>> On Wed, 1 Jan 2014 17:04:24 -0800 >>>>>>>>> Larry Gritz <[email protected]> wrote: >>>>>>>>> >>>>>>>>>> Which hardware platform? >>>>>>>>>> Which gcc version? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Jan 1, 2014, at 4:42 PM, YuGiOhJCJ Mailing-List >>>>>>>>>> <[email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hello, >>>>>>>>>>> >>>>>>>>>>> I am compiling oiio-1.3.9 on Slackware 14.0 but I got an error: >>>>>>>>>>> $ tar xvf oiio-Release-1.3.9.tar.gz >>>>>>>>>>> $ mkdir oiio-1.3.9 >>>>>>>>>>> $ cd oiio-1.3.9 >>>>>>>>>>> $ cmake ../oiio-Release-1.3.9 >>>>>>>>>>> $ make >>>>>>>>>>> [...] >>>>>>>>>>> Linking CXX shared library libOpenImageIO.so >>>>>>>>>>> [ 73%] Built target OpenImageIO >>>>>>>>>>> Scanning dependencies of target atomic_test >>>>>>>>>>> [ 74%] Building CXX object >>>>>>>>>>> src/libOpenImageIO/CMakeFiles/atomic_test.dir/atomic_test.cpp.o >>>>>>>>>>> Linking CXX executable atomic_test >>>>>>>>>>> CMakeFiles/atomic_test.dir/atomic_test.cpp.o: In function >>>>>>>>>>> `do_int64_math(int)': >>>>>>>>>>> atomic_test.cpp:(.text+0x178): undefined reference to >>>>>>>>>>> `__sync_fetch_and_add_8' >>>>>>>>>>> atomic_test.cpp:(.text+0x194): undefined reference to >>>>>>>>>>> `__sync_fetch_and_add_8' >>>>>>>>>>> atomic_test.cpp:(.text+0x1b0): undefined reference to >>>>>>>>>>> `__sync_fetch_and_add_8' >>>>>>>>>>> atomic_test.cpp:(.text+0x1cc): undefined reference to >>>>>>>>>>> `__sync_fetch_and_add_8' >>>>>>>>>>> atomic_test.cpp:(.text+0x1e8): undefined reference to >>>>>>>>>>> `__sync_fetch_and_add_8' >>>>>>>>>>> CMakeFiles/atomic_test.dir/atomic_test.cpp.o:atomic_test.cpp:(.text+0x204): >>>>>>>>>>> more undefined references to `__sync_fetch_and_add_8' follow >>>>>>>>>>> CMakeFiles/atomic_test.dir/atomic_test.cpp.o: In function >>>>>>>>>>> `test_atomic_int64(int, int)': >>>>>>>>>>> atomic_test.cpp:(.text+0x455): undefined reference to >>>>>>>>>>> `__sync_bool_compare_and_swap_8' >>>>>>>>>>> atomic_test.cpp:(.text+0x5f1): undefined reference to >>>>>>>>>>> `__sync_fetch_and_add_8' >>>>>>>>>>> atomic_test.cpp:(.text+0x615): undefined reference to >>>>>>>>>>> `__sync_fetch_and_add_8' >>>>>>>>>>> collect2: error: ld returned 1 exit status >>>>>>>>>>> make[2]: *** [src/libOpenImageIO/atomic_test] Error 1 >>>>>>>>>>> make[1]: *** [src/libOpenImageIO/CMakeFiles/atomic_test.dir/all] >>>>>>>>>>> Error 2 >>>>>>>>>>> make: *** [all] Error 2 >>>>>>>>>>> >>>>>>>>>>> Can you help me? >>>>>>>>>>> >>>>>>>>>>> Thank you. >>>>>>>>>>> Best regards. >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Oiio-dev mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Larry Gritz >>>>>>>>>> [email protected] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Oiio-dev mailing list >>>>>>>>>> [email protected] >>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>>>>> _______________________________________________ >>>>>>>>> Oiio-dev mailing list >>>>>>>>> [email protected] >>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>>>> >>>>>>>> -- >>>>>>>> Larry Gritz >>>>>>>> [email protected] >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Oiio-dev mailing list >>>>>>>> [email protected] >>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>>> _______________________________________________ >>>>>>> Oiio-dev mailing list >>>>>>> [email protected] >>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>> >>>>>> -- >>>>>> Larry Gritz >>>>>> [email protected] >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Oiio-dev mailing list >>>>>> [email protected] >>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>> _______________________________________________ >>>>> Oiio-dev mailing list >>>>> [email protected] >>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>> >>>> -- >>>> Larry Gritz >>>> [email protected] >>>> >>>> >>>> >>>> _______________________________________________ >>>> Oiio-dev mailing list >>>> [email protected] >>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> _______________________________________________ >>> Oiio-dev mailing list >>> [email protected] >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >> >> -- >> Larry Gritz >> [email protected] >> >> >> >> _______________________________________________ >> Oiio-dev mailing list >> [email protected] >> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > _______________________________________________ > Oiio-dev mailing list > [email protected] > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz [email protected] _______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
