Opened 5 years ago
Closed 5 years ago
#59499 closed defect (fixed)
gstreamer010-gst-plugins-good @0.10.31_12 (gnome) Failed to build on Catalina
Reported by: | s0nik42 | Owned by: | jmroot (Joshua Root) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | haspatch | Cc: | dbevans (David B. Evans), hapaguy (Brian Kurt Fujikawa), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), lbschenkel (Leonardo Brondani Schenkel) |
Port: | gstreamer010-gst-plugins-good, libxml2, icu |
Description
First of all, sorry if I didn't report it properly, its my first Ticket on that system.
There is no way to install gstreamer010-gst-plugins-good even from a clean fresh install of macports on Catalina.
It seems to be related to the CXX tag.
libtool: error: ignoring unknown tag CXX libtool: error: ignoring unknown tag disable-static [...] ^/opt/local/include/unicode/localpointer.h :71:51: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] static void* U_EXPORT2 operator new(size_t) = delete; ^ /opt/local/include/unicode/localpointer.h:72:53: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] static void* U_EXPORT2 operator new[](size_t) = delete; ^ /opt/local/include/unicode/localpointer.h:74:58: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] /opt/local/include/unicode/localpointer.h:224:40: static void* U_EXPORT2 operator new(size_t, void*) = delete; error: ^ expected ';' at end of declaration list LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^ [...]
I attached a patch that solve the issue for me. Xcode 11.0 (Build version 11A420a) Hope that help others
Julien
Attachments (2)
Change History (11)
Changed 5 years ago by s0nik42
Attachment: | gstreamer010-gst-plugins-good.patch added |
---|
comment:1 Changed 5 years ago by jmroot (Joshua Root)
Thanks for the report. Could you please attach the full main.log from the failed build?
comment:2 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
I see at least 2 problems so far.
- /opt/local/include/unicode/localpointer.h is provided by port icu. icu was recently updated to a new version that requires C++11. So anything that uses icu now needs to use C++11 or newer (
compiler.cxx_standard 2011
or newer). - port gstreamer010-gst-plugins-good does not declare a dependency on port icu. But based on the output you've shown above, gstreamer010-gst-plugins-good appears to use icu, yet I can't find mention of that in the gstreamer010-gst-plugins-good source code. Perhaps seeing the main.log will help us understand what's really going on.
comment:4 Changed 5 years ago by hapaguy (Brian Kurt Fujikawa)
Cc: | hapaguy added |
---|
comment:5 Changed 5 years ago by jmroot (Joshua Root)
Cc: | ryandesign added |
---|---|
Port: | libxml2 icu added |
The failing command seems to be
:info:build libtool: compile: /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I../.. -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -D_REENTRANT -I/opt/local/include/gstreamer-0.10 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libxml2 -I../../gst-libs -D_REENTRANT -I/opt/local/include/gstreamer-0.10 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libxml2 -DG_THREADS_MANDATORY -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -Wall -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -g -I/opt/local/include/taglib -Wno-attributes -pipe -Os -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -MT libgsttaglib_la-gstid3v2mux.lo -MD -MP -MF .deps/libgsttaglib_la-gstid3v2mux.Tpo -c gstid3v2mux.cc -fno-common -DPIC -o .libs/libgsttaglib_la-gstid3v2mux.o
and the error involves the libxml2 headers
:info:build In file included from gstid3v2mux.cc:51: :info:build In file included from ./gstid3v2mux.h:24: :info:build In file included from ./gsttaglibmux.h:24: :info:build In file included from /opt/local/include/gstreamer-0.10/gst/gst.h:35: :info:build In file included from /opt/local/include/gstreamer-0.10/gst/gstbin.h:27: :info:build In file included from /opt/local/include/gstreamer-0.10/gst/gstelement.h:55: :info:build In file included from /opt/local/include/gstreamer-0.10/gst/gstconfig.h:200: :info:build In file included from /opt/local/include/libxml2/libxml/parser.h:810: :info:build In file included from /opt/local/include/libxml2/libxml/encoding.h:31: :info:build In file included from /opt/local/include/unicode/ucnv.h:53: :info:build In file included from /opt/local/include/unicode/uenum.h:23: :info:build /opt/local/include/unicode/localpointer.h:71:51: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] :info:build static void* U_EXPORT2 operator new(size_t) = delete; :info:build ^ :info:build /opt/local/include/unicode/localpointer.h:72:53: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] :info:build static void* U_EXPORT2 operator new[](size_t) = delete; :info:build ^ :info:build /opt/local/include/unicode/localpointer.h:74:58: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] :info:build static void* U_EXPORT2 operator new(size_t, void*) = delete; :info:build ^ :info:build /opt/local/include/unicode/localpointer.h:224:34: warning: rvalue references are a C++11 extension [-Wc++11-extensions] :info:build LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { :info:build ^ :info:build /opt/local/include/unicode/localpointer.h:224:40: error: expected ';' at end of declaration list :info:build LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { :info:build ^ :info:build ; :info:build /opt/local/include/unicode/localpointer.h:405:30: warning: rvalue references are a C++11 extension [-Wc++11-extensions] :info:build LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { :info:build ^ :info:build /opt/local/include/unicode/localpointer.h:405:36: error: expected ';' at end of declaration list :info:build LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { :info:build ^ :info:build ;
The icu headers' use of C++11 seems to be leaking in to something that is not trying to use icu at all, but just llibxml2's C API.
comment:6 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | MarcusCalhoun-Lopez lbschenkel added; ryandesign removed |
---|
comment:7 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)
I don't have a Catalina (10.15) system, but I was trying to reproduce this in Mojave (10.14) and I couldn't even get to this point. gstreamer010-gst-plugins-base
fails to build in my system:
libtool: link: /usr/bin/grep -E -e "^_*gst_plugin_desc.*" ".libs/libgstaudioresample.exp" > ".libs/libgstaudioresample.expT" libtool: link: mv -f ".libs/libgstaudioresample.expT" ".libs/libgstaudioresample.exp" libtool: link: sed -e 's,^,_,' < .libs/libgstaudioresample.exp > .libs/libgstaudioresample-symbols.expsym libtool: link: /usr/bin/clang -o .libs/libgstaudioresample.so -bundle .libs/libgstaudioresample_la-gstaudioresample.o .libs/libgstaudioresample_la-speex_resampler_int.o .libs/libgstaudioresample_la-speex_resampler_float.o .libs/libgstaudioresample_la-speex_resampler_double.o -L/opt/local/lib -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -lxml2 -lorc-0.4 -lorc-test-0.4 -Os -arch x86_64 -Wl,-headerpad_max_install_names -Wl,-syslibroot -Wl,/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -arch x86_64 -Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreFoundation -Wl,-exported_symbols_list,.libs/libgstaudioresample-symbols.expsym duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstaudioresample_la-gstaudioresample.o .libs/libgstaudioresample_la-speex_resampler_int.o duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstaudioresample_la-gstaudioresample.o .libs/libgstaudioresample_la-speex_resampler_float.o duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstaudioresample_la-gstaudioresample.o .libs/libgstaudioresample_la-speex_resampler_double.o ld: 3 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
comment:8 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)
This is so strange. I managed to skip building -base
by setting the exact needed variants and forcing a binary installation, but then -gst-plugins-good
fails to build due to a very similar reason:
duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstdeinterlace_la-gstdeinterlace.o .libs/libgstdeinterlace_la-tomsmocomp.o duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstdeinterlace_la-gstdeinterlace.o .libs/libgstdeinterlace_la-greedyh.o duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstdeinterlace_la-gstdeinterlace.o .libs/libgstdeinterlace_la-vfir.o duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstdeinterlace_la-gstdeinterlace.o .libs/libgstdeinterlace_la-linear.o duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstdeinterlace_la-gstdeinterlace.o .libs/libgstdeinterlace_la-linearblend.o duplicate symbol _OrcTargetPowerPCFlags in: .libs/libgstdeinterlace_la-gstdeinterlace.o .libs/libgstdeinterlace_la-tmp-orc.o ld: 6 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[4]: *** [libgstdeinterlace.la] Error 1
I also grepped for unicode
in my build logs and there's no match to be found. So in my system (10.14 + XCode 11.0) the build process didn't pick up the ICU headers.
comment:9 Changed 5 years ago by jmroot (Joshua Root)
Owner: | set to jmroot |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Disable CXX