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

Reply via email to