I think this is the culprit. 486 didn't have the instructions it would need to
implement the atomic operations.
Try:
make nuke # this is just to fully clear any previous build cache
make MYCXX="g++ -march=i686"
Maybe that will work? Assuming your gcc was built with support for 686.
On Jan 2, 2014, at 10:47 AM, YuGiOhJCJ Mailing-List
<[email protected]> wrote:
> According to the output of "gcc -v" I am on i486 (it's lower than i686):
> $ gcc -v
> Reading specs from /usr/lib/gcc/i486-slackware-linux/4.7.1/specs
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i486-slackware-linux/4.7.1/lto-wrapper
> Target: i486-slackware-linux
> Configured with: ../gcc-4.7.1/configure --prefix=/usr --libdir=/usr/lib
> --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap
> --enable-languages=ada,c,c++,fortran,go,java,lto,objc --enable-threads=posix
> --enable-checking=release --enable-objc-gc --with-system-zlib
> --with-python-dir=/lib/python2.7/site-packages --disable-libunwind-exceptions
> --enable-__cxa_atexit --enable-libssp --enable-lto --with-gnu-ld --verbose
> --enable-java-home --with-java-home=/usr/lib/jvm/jre
> --with-jvm-root-dir=/usr/lib/jvm --with-jvm-jar-dir=/usr/lib/jvm/jvm-exports
> --with-arch-directory=i386
> --with-antlr-jar=/root/slackware-current/source/d/gcc/antlr-runtime-3.4.jar
> --enable-java-awt=gtk --disable-gtktest --with-arch=i486
> --target=i486-slackware-linux --build=i486-slackware-linux
> --host=i486-slackware-linux
> Thread model: posix
> gcc version 4.7.1 (GCC)
>
> So, what line in which file I need to modify in order to apply the
> -march=i686 gcc option please ?
>
> On Thu, 2 Jan 2014 18:21:22 +0100
> 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
> _______________________________________________
> 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