I believe this bug is behind my build failure on my Linux boxes:
1:34.88 In file included from /home/thomas/win60/tor-browser/media/libvpx/libvpx/vp8/decoder/onyxd_int.h:18:0, 1:34.88 from /home/thomas/win60/tor-browser/media/libvpx/libvpx/vp8/decoder/decodeframe.c:14: 1:34.90 /home/thomas/win60/tor-browser/media/libvpx/libvpx/vp8/common/threading.h:76:23: fatal error: semaphore.h: Datei oder Verzeichnis nicht gefunden 1:34.91 #include <semaphore.h> 1:34.91
I am currently verifying that theory and am testing a potential fix.
I believe this bug is behind my build failure on my Linux boxes:
{{{
1:34.88 In file included from /home/thomas/win60/tor-browser/media/libvpx/libvpx/vp8/decoder/onyxd_int.h:18:0,
1:34.88 from /home/thomas/win60/tor-browser/media/libvpx/libvpx/vp8/decoder/decodeframe.c:14:
1:34.90 /home/thomas/win60/tor-browser/media/libvpx/libvpx/vp8/common/threading.h:76:23: fatal error: semaphore.h: Datei oder Verzeichnis nicht gefunden
1:34.91 #include <semaphore.h>
1:34.91
}}}
I am currently verifying that theory and am testing a potential fix.
This should be reviewed once we switched to an ESR60-based tor-browser branch.
Is this something we could merge before switching to ESR60, or would this cause some issues with the ESR52 build?
I doubt it would cause issues. I think I just don't want to have this in the next alpha (to avoid surprises) assuming this is the last one ESR52-based. Once it is out next week. I am fine merging this patch even though we might not directly switch to ESR60 then.
After building using this patch, and firefox 52.8, I have the following error:
/var/tmp/dist/mingw-w64/helpers/i686-w64-mingw32-g++ -std=gnu++11 -mwindows -o Unified_cpp_media_libstagefright1.o -c -I/var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/stl_wrappers -DNDEBUG=1 -DTRIMMED=1 -DANDROID_SMP=0 -DLOG_NDEBUG=1 -DHAVE_MS_C_RUNTIME -D__PRETTY_FUNCTION__=__FUNCTION__ -DFAKE_LOG_DEVICE -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright -I/var/tmp/build/firefox-f8f42fea2af3/obj-mingw/media/libstagefright -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/ports/win32/include -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/binding/include-I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/frameworks/av/include -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/frameworks/av/include/media/stagefright/foundation -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/frameworks/av/media/libstagefright -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/stubs/empty -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/stubs/include -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/stubs/include/media/stagefright/foundation -I/var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/system/core/include -I/var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/include -I/var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/include/nspr -I/var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/include/nss -DMOZILLA_CLIENT -include /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/mozilla-config.h -MD -MP -MF .deps/Unified_cpp_media_libstagefright1.o.pp -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-format -fno-lifetime-dse -fno-exceptions -fno-strict-aliasing -mms-bitfields -mstackrealign -fno-keep-inline-dllexport -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -O -fno-omit-frame-pointer -Wno-format -Wno-format-security -Wno-multichar -Wno-sign-compare -Wno-unused /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/media/libstagefright/Unified_cpp_media_libstagefright1.cppIn file included from /var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/i686-w64-mingw32/bits/gthr.h:148:0, from /var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/ext/atomicity.h:35, from /var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/bits/ios_base.h:39, from /var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/ios:42, from /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/stl_wrappers/ios:44, from /var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/ostream:38, from /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/stl_wrappers/ostream:44, from /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/include/mozilla/gfx/BasePoint.h:10, from /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/include/mozilla/gfx/Point.h:13, from /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/include/nsSize.h:11, from /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/dist/include/MediaData.h:11, from /var/tmp/build/firefox-f8f42fea2af3/media/libstagefright/binding/Adts.cpp:6, from /var/tmp/build/firefox-f8f42fea2af3/obj-mingw/media/libstagefright/Unified_cpp_media_libstagefright0.cpp:2:/var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/i686-w64-mingw32/bits/gthr-default.h:47:9: error: 'pthread_t' does not name a type typedef pthread_t __gthread_t; ^~~~~~~~~/var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/i686-w64-mingw32/bits/gthr-default.h:48:9: error: 'pthread_key_t' does not name a type typedef pthread_key_t __gthread_key_t; ^~~~~~~~~~~~~/var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/i686-w64-mingw32/bits/gthr-default.h:49:9: error: 'pthread_once_t' does not name a type typedef pthread_once_t __gthread_once_t; ^~~~~~~~~~~~~~/var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/i686-w64-mingw32/bits/gthr-default.h:50:9: error: 'pthread_mutex_t' does not name a type typedef pthread_mutex_t __gthread_mutex_t; ^~~~~~~~~~~~~~~/var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/i686-w64-mingw32/bits/gthr-default.h:51:9: error: 'pthread_mutex_t' does not name a type typedef pthread_mutex_t __gthread_recursive_mutex_t; ^~~~~~~~~~~~~~~/var/tmp/dist/mingw-w64/i686-w64-mingw32/include/c++/6.4.0/i686-w64-mingw32/bits/gthr-default.h:52:9: error: 'pthread_cond_t' does not name a type typedef pthread_cond_t __gthread_cond_t;[...]
So it looks like something we want to merge at the same time as switching to ESR60.