That will certainly avoid the problem, but then any app using OIIO has to be absolutely sure it is not calling OIIO from more than one thread!
On Jan 2, 2014, at 1:36 PM, YuGiOhJCJ Mailing-List <[email protected]> wrote: > But this work: > $ make NOTHREADS=1 > > Success :) > > On Thu, 2 Jan 2014 21:51:22 +0100 > YuGiOhJCJ Mailing-List <[email protected]> wrote: > >> It does not work: >> $ make nuke >> $ make MYCXX="g++ -march=i686" >> [...] >> [ 73%] Building CXX object >> src/libOpenImageIO/CMakeFiles/OpenImageIO.dir/__/jpeg2000.imageio/jpeg2000output.cpp.o >> Linking CXX shared library libOpenImageIO.so >> make[3]: Leaving directory >> `/home/yugiohjcj/documents/downloads/software/oiio-Release-1.3.9/build/linux' >> [ 73%] Built target OpenImageIO >> make[3]: Entering directory >> `/home/yugiohjcj/documents/downloads/software/oiio-Release-1.3.9/build/linux' >> Scanning dependencies of target atomic_test >> make[3]: Leaving directory >> `/home/yugiohjcj/documents/downloads/software/oiio-Release-1.3.9/build/linux' >> make[3]: Entering directory >> `/home/yugiohjcj/documents/downloads/software/oiio-Release-1.3.9/build/linux' >> [ 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[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 >> >> Any other idea ? >> >> On Thu, 2 Jan 2014 11:17:48 -0800 >> Larry Gritz <[email protected]> wrote: >> >>> 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 >> _______________________________________________ >> 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
