Hi folks, While updating the packages to 2.0.0 I found that the build fails on PPC.
I am not an expert on PPC arch, but I think it doesn't support atomic operations of 8 bytes (64bit) on 32bit system, then there is no GCC built-in[1] for those cases which breaks the build. [1] http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html [...] /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined gcc -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wdeclaration-after-statement -Wformat-security -Wswitch-enum -Wunused-parameter -Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wmissing-prototypes -Wmissing-field-initializers -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -mcpu=power7 -mtune=power7 -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o tests/test-heap tests/test-heap.o lib/libopenvswitch.a -lssl -lcrypto -lpthread -lrt -lm reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_store_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_fetch_add_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_fetch_sub_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_fetch_or_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_fetch_and_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_fetch_xor_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:86: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_store_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_fetch_add_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_fetch_sub_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_fetch_or_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_fetch_and_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_fetch_xor_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:87: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_store_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_fetch_add_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_fetch_sub_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_fetch_or_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_fetch_and_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_fetch_xor_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:90: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `gcc -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wdeclaration-after-statement -Wformat-security -Wswitch-enum -Wunused-parameter -Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wmissing-prototypes -Wmissing-field-initializers -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -mcpu=power7 -mtune=power7 -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o tests/test-hindex tests/test-hindex.o lib/libopenvswitch.a -lssl -lcrypto -lpthread -lrt -lm gcc -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wdeclaration-after-statement -Wformat-security -Wswitch-enum -Wunused-parameter -Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wmissing-prototypes -Wmissing-field-initializers -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -mcpu=power7 -mtune=power7 -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o tests/test-hmap tests/test-hmap.o lib/libopenvswitch.a -lssl -lcrypto -lpthread -lrt -lm __atomic_store_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_fetch_add_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_fetch_sub_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_fetch_or_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_fetch_and_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_fetch_xor_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:91: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_store_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_fetch_add_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_fetch_sub_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_fetch_or_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_fetch_and_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_fetch_xor_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:100: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_store_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_fetch_add_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_fetch_sub_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_fetch_or_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_fetch_and_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_fetch_xor_8' /builddir/build/BUILD/openvswitch-2.0.0/tests/test-atomic.c:101: undefined reference to `__atomic_load_8' collect2: error: ld returned 1 exit status make[2]: *** [tests/test-atomic] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/builddir/build/BUILD/openvswitch-2.0.0' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/builddir/build/BUILD/openvswitch-2.0.0' make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.QDqaaa (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.QDqaaa (%build) Child returncode was: 1 fbl _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev