Bug#771556: x265: FTBFS on powerpc
Mips platform does not have 64-bit __sync_* operations. To avoid this behavior it is needed to use corresponding __atomic_* from libatomic library. I was able to successfully built x265 for mipsel. I will prepare the patch, so Sebastian could test it on powerpc. Regards, Dejan From: James Cowgill [james...@cowgill.org.uk] Sent: Tuesday, December 02, 2014 5:01 PM To: Sebastian Ramacher Cc: 771...@bugs.debian.org; debian-m...@lists.debian.org Subject: Re: Bug#771556: x265: FTBFS on powerpc On Tue, 2014-12-02 at 16:51 +0100, Sebastian Ramacher wrote: > On 2014-11-30 18:34:42, Sebastian Ramacher wrote: > > Source: x265 > > Version: 1.4-1 > > Severity: important > > > > Let's record this so I don't forget: x265 failed to build on powerpc: > > | /usr/bin/c++ -g -O2 -fstack-protector-strong -Wformat > > -Werror=format-security -D_FORTIFY_SOURCE=2-Wl,-z,relro -Wl,--as-needed > > CMakeFiles/cli.dir/input/y4m.cpp.o CMakeFiles/cli.dir/input/yuv.cpp.o > > CMakeFiles/cli.dir/input/input.cpp.o CMakeFiles/cli.dir/output/y4m.cpp.o > > CMakeFiles/cli.dir/output/yuv.cpp.o CMakeFiles/cli.dir/output/output.cpp.o > > CMakeFiles/cli.dir/filters/filters.cpp.o CMakeFiles/cli.dir/x265.cpp.o -o > > x265 -rdynamic libx265.so.35 -lpthread -lrt > > -Wl,-rpath,/«PKGBUILDDIR»/obj-powerpc-linux-gnu: > > | libx265.so.35: undefined reference to `__sync_val_compare_and_swap_8' > > | libx265.so.35: undefined reference to `__sync_or_and_fetch_8' > > | collect2: error: ld returned 1 exit status > > > > https://buildd.debian.org/status/fetch.php?pkg=x265&arch=powerpc&ver=1.4-2&stamp=1417367767 > > > > powerpc porters, do you have any idea what the problem is? Are > > __sync_val_compare_and_swap and __sync_or_and_fetch not supported on > > powerpc? > > The builds for mips and mipsel have failed with the same issue. I'm also > CCing the mips porters in the hope that they can shed some light on the > problem. Does it work if you link with -latomic ? James -- To UNSUBSCRIBE, email to debian-mips-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/1417536096.15123.21.ca...@cowgill.org.uk ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
Bug#771556: x265: FTBFS on powerpc
Hello Sebastian, the patch is attached. Please try it on ppc, I hope that the condition for ppc arch is correct. Here you can see related issue, with more info: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748932 I had noticed that idba still FTBFS on ppc. Could you also test my patch posted on #748932? It is needed to update condition to cover pcc. > # if defined(__mips__) && !defined(__mips64) Regards, Dejandiff -uNr x265-1.4.orig/debian/rules x265-1.4/debian/rules --- x265-1.4.orig/debian/rules 2014-11-29 20:49:54.0 + +++ x265-1.4/debian/rules 2014-12-03 17:17:49.0 + @@ -11,7 +11,8 @@ override_dh_auto_configure: dh_auto_configure -- \ - -DLIB_INSTALL_DIR=lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + -DLIB_INSTALL_DIR=lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) \ + -DPLATFORM_LIBS=-latomic override_dh_auto_build-indep: $(MAKE) -C doc/reST html diff -uNr x265-1.4.orig/source/CMakeLists.txt x265-1.4/source/CMakeLists.txt --- x265-1.4.orig/source/CMakeLists.txt 2014-12-03 17:15:20.0 + +++ x265-1.4/source/CMakeLists.txt 2014-12-03 17:16:20.0 + @@ -56,7 +56,7 @@ endif() if(UNIX) -SET(PLATFORM_LIBS pthread) +SET(PLATFORM_LIBS ${PLATFORM_LIBS} pthread) find_library(LIBRT rt) if(LIBRT) set(PLATFORM_LIBS ${PLATFORM_LIBS} rt) diff -uNr x265-1.4.orig/source/common/threading.h x265-1.4/source/common/threading.h --- x265-1.4.orig/source/common/threading.h 2014-10-31 18:24:01.0 + +++ x265-1.4/source/common/threading.h 2014-12-03 17:29:15.0 + @@ -51,8 +51,15 @@ #define CLZ32(id, x)id = (unsigned long)__builtin_clz(x) ^ 31 #define CTZ64(id, x)id = (unsigned long)__builtin_ctzll(x) + +#if (defined(__mips__) && !defined(__mips64)) || (defined(__powerpc__) && !defined(__powerpc64__)) +#define ATOMIC_OR(ptr, mask)__atomic_or_fetch(ptr, mask, __ATOMIC_SEQ_CST) +#define ATOMIC_CAS(ptr, oldval, newval) __atomic_compare_exchange(ptr, &oldval, &newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) +#else #define ATOMIC_OR(ptr, mask)__sync_or_and_fetch(ptr, mask) #define ATOMIC_CAS(ptr, oldval, newval) __sync_val_compare_and_swap(ptr, oldval, newval) +#endif + #define ATOMIC_CAS32(ptr, oldval, newval) __sync_val_compare_and_swap(ptr, oldval, newval) #define ATOMIC_INC(ptr) __sync_add_and_fetch((volatile int32_t*)ptr, 1) #define ATOMIC_DEC(ptr) __sync_add_and_fetch((volatile int32_t*)ptr, -1) ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
Bug#830886: ffmpeg FTBFS for mips64el on configure
Package: ffmpeg Version: 7:3.0.2-1 Severity: serious Tags: sid, patch Justification: FTBFS User: debian-m...@lists.debian.org Usertags: mips-patch Package ffmpeg FTBFS for mips64el on configure with the following error: > ERROR: LoadLibrary/dlopen not found for avisynth Error message from config.log: > /usr/bin/ld: /tmp/ffconf.09oJ6qCG.o: linking -mnan=2008 module with previous > -mnan=legacy modules > /usr/bin/ld: failed to merge target specific data of file > /tmp/ffconf.09oJ6qCG.o > collect2: error: ld returned 1 exit status The reason for that is usage of -mips64r6 flag that triggers -mnan=200 flag. Solution is to disable mips64r6 in debian rules. Patch that includes this fix is attached. I will rebuild locally latest ffmpeg version (7:3.1.1-1) for mips/mipsel/mips64el to confirm that patch fixes mips64el and does not break mips/mipsel. Regards, Dejandiff -uNr debian.orig/rules debian/rules --- debian.orig/rules 2016-07-12 02:53:53.0 +0200 +++ debian/rules 2016-07-12 18:47:04.548881017 +0200 @@ -169,7 +169,8 @@ CONFIG += --disable-mipsdsp \ --disable-mipsdspr2 \ --disable-loongson3 \ - --disable-mips32r6 + --disable-mips32r6 \ + --disable-mips64r6 endif ifneq (,$(filter $(DEB_HOST_ARCH),mips mipsel)) CONFIG += --disable-mipsfpu ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
Bug#836327: gsequencer: FTBFS on mips and powerpc: ags_functional_audio_test segmentation fault
Any updates on this issue? I have tested newer releases (0.7.73 and 0.7.83) on local mips machine, both build failed with Segmentation fault: > PASS: ags_thread_test > PASS: ags_audio_test > PASS: ags_channel_test > PASS: ags_recycling_test > PASS: ags_audio_signal_test > PASS: ags_recall_test > PASS: ags_pattern_test > PASS: ags_notation_test > PASS: ags_automation_test > ./test-driver: line 107: 10633 Segmentation fault "$@" > $log_file 2>&1 > FAIL: ags_functional_audio_test ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers