Bug 233120 - fix build of multimedia/gnome-mpv on gcc-based architectures
Summary: fix build of multimedia/gnome-mpv on gcc-based architectures
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Jan Beich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-11 04:02 UTC by Mark Linimon
Modified: 2018-11-14 21:59 UTC (History)
0 users

See Also:
jbeich: maintainer-feedback+


Attachments
patch to multimedia/gnome-mpv/Makefile (540 bytes, patch)
2018-11-11 04:02 UTC, Mark Linimon
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Linimon freebsd_committer freebsd_triage 2018-11-11 04:02:15 UTC
Created attachment 199118 [details]
patch to multimedia/gnome-mpv/Makefile

Similarly to other recent ports commits, this port needs USES=c++11-lang to build on powerpc64 (and presumably other gcc-bases archs.)

Tested on powerpc64, amd64.
Comment 1 Jan Beich freebsd_committer freebsd_triage 2018-11-11 07:25:25 UTC
Can you give more details? The port builds fine with base GCC 4.2.
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2018-11-12 22:47:55 UTC
(In reply to Jan Beich from comment #1)

I don't have access to that log anymore.  I'll comment the change out and run it again (once I have finished building gcc* llvm*).
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2018-11-14 21:10:20 UTC
build started at Tue Nov 13 23:53:23 UTC 2018
port directory: /usr/ports/multimedia/gnome-mpv
package name: gnome-mpv-0.15
building for: FreeBSD 111-head-powerpc64-default-job-02 11.1-RELEASE FreeBSD 11.1-RELEASE powerpc
maintained by: jbeich@FreeBSD.org
Makefile ident:      $FreeBSD: head/multimedia/gnome-mpv/Makefile 480918 2018-09-29 20:35:03Z jbeich $
[...]
mv -f media_keys/.deps/gnome_mpv-gmpv_media_keys.Tpo media_keys/.deps/gnome_mpv-gmpv_media_keys.Po
cc -I/usr/local/include/gtk-3.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/fribidi -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I
/usr/local/include/freetype2 -I/usr/local/include/libdrm -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include/atk-1.0 -I/usr/local/includ
e/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -D_THREAD_SAFE -pthread  -DG_SETTINGS_ENABLE_BACKEND -DPACKAGE_LOCALEDIR=\""/usr/local/share/locale"\" -Impris -O2 -pipe
-fno-strict-aliasing  -std=gnu99 -funsigned-char -fstack-protector-strong -fPIE -fPIC -Wall -Wextra -Wconversion -Winline -Wno-padded -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Werror=implicit-function-declaration -
Werror=pointer-arith -Werror=init-self -Werror=format-security -Werror=format=2 -Werror=missing-include-dirs  -Wl,--as-needed  -pie -Wl,-z,relro -Wl,-z,now -o gnome-mpv gnome_mpv-gmpv_main.o gnome_mpv-gmpv_application.o gnome_mpv-gmpv_c
ommon.o gnome_mpv-gmpv_controller.o gnome_mpv-gmpv_controller_actions.o gnome_mpv-gmpv_controller_input.o gnome_mpv-gmpv_control_box.o gnome_mpv-gmpv_file_chooser.o gnome_mpv-gmpv_header_bar.o gnome_mpv-gmpv_main_window.o gnome_mpv-gmpv
_menu.o gnome_mpv-gmpv_metadata_cache.o gnome_mpv-gmpv_model.o gnome_mpv-gmpv_mpv.o gnome_mpv-gmpv_open_location_dialog.o gnome_mpv-gmpv_player.o gnome_mpv-gmpv_player_options.o gnome_mpv-gmpv_playlist_widget.o gnome_mpv-gmpv_plugins_ma
nager.o gnome_mpv-gmpv_plugins_manager_item.o gnome_mpv-gmpv_preferences_dialog.o gnome_mpv-gmpv_seek_bar.o gnome_mpv-gmpv_shortcuts_window.o gnome_mpv-gmpv_video_area.o gnome_mpv-gmpv_view.o gnome_mpv-gmpv_mpv_wrapper.o mpris/gnome_mpv
-gmpv_mpris.o mpris/gnome_mpv-gmpv_mpris_module.o mpris/gnome_mpv-gmpv_mpris_base.o mpris/gnome_mpv-gmpv_mpris_player.o mpris/gnome_mpv-gmpv_mpris_track_list.o mpris/gnome_mpv-gmpv_mpris_gdbus.o gnome_mpv-gmpv_marshal.o media_keys/gnome
_mpv-gmpv_media_keys.o  -L/usr/local/lib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lpthread -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -lmpv -lepoxy
//usr/local/lib/libopencv_core.so.3.4: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
[...]
//usr/local/lib/libopencv_core.so.3.4: undefined reference to `std::__throw_bad_function_call()@GLIBCXX_3.4.14'
gmake[3]: *** [Makefile:540: gnome-mpv] Error 1
gmake[3]: Leaving directory '/wrkdirs/usr/ports/multimedia/gnome-mpv/work/gnome-mpv-0.15/src'
gmake[2]: *** [Makefile:435: all] Error 2
gmake[2]: Leaving directory '/wrkdirs/usr/ports/multimedia/gnome-mpv/work/gnome-mpv-0.15/src'
gmake[1]: *** [Makefile:406: all-recursive] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/multimedia/gnome-mpv/work/gnome-mpv-0.15'
*** Error code 1

Stop.
make: stopped in /usr/ports/multimedia/gnome-mpv
=>> Cleaning up wrkdir
===>  Cleaning for gnome-mpv-0.15
build of multimedia/gnome-mpv | gnome-mpv-0.15 ended at Tue Nov 13 23:58:04 UTC 2018
build time: 424015:45:24
!!! build failure encountered !!!
Comment 4 commit-hook freebsd_committer freebsd_triage 2018-11-14 21:40:10 UTC
A commit references this bug:

Author: jbeich
Date: Wed Nov 14 21:39:16 UTC 2018
New revision: 484946
URL: https://svnweb.freebsd.org/changeset/ports/484946

Log:
  multimedia/gnome-mpv: chase compiler used by mpv

  On GCC architectures OPENCV option in multimedia/ffmpeg appears to
  require consumers to pass -L${_GCC_RUNTIME}. So, use modern GCC where
  this is implicit.

  //usr/local/lib/libopencv_core.so.3.4: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
  //usr/local/lib/libopencv_core.so.3.4: undefined reference to `std::__throw_bad_function_call()@GLIBCXX_3.4.14'

  PR:		233120
  Submitted by:	linimon

Changes:
  head/multimedia/gnome-mpv/Makefile
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-11-14 21:41:13 UTC
A commit references this bug:

Author: jbeich
Date: Wed Nov 14 21:40:30 UTC 2018
New revision: 484947
URL: https://svnweb.freebsd.org/changeset/ports/484947

Log:
  MFH: r484946

  multimedia/gnome-mpv: chase compiler used by mpv

  On GCC architectures OPENCV option in multimedia/ffmpeg appears to
  require consumers to pass -L${_GCC_RUNTIME}. So, use modern GCC where
  this is implicit.

  //usr/local/lib/libopencv_core.so.3.4: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
  //usr/local/lib/libopencv_core.so.3.4: undefined reference to `std::__throw_bad_function_call()@GLIBCXX_3.4.14'

  PR:		233120
  Submitted by:	linimon
  Approved by:	ports-secteam blanket

Changes:
_U  branches/2018Q4/
  branches/2018Q4/multimedia/gnome-mpv/Makefile
Comment 6 Jan Beich freebsd_committer freebsd_triage 2018-11-14 21:59:48 UTC
Thanks for reporting! I've slightly altered the fix as this port has no C++ sources. On Clang platforms libgcc_s causes a similar issue.

In future, try to always attach poudriere log e.g., via "curl -sF 'c=@-' https://ptpb.pw </path/to/logs/errors/package.log". Mainly to remove ambiguities, otherwise only rubberstamp is possible but not a proper review.