ports/163418: [PATCH] multimedia/bombono fails to compile with latest binutils 2.22

Heath Nielson heathn at gmail.com
Sat Dec 17 19:40:08 UTC 2011


>Number:         163418
>Category:       ports
>Synopsis:       [PATCH] multimedia/bombono fails to compile with latest binutils 2.22
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 17 19:40:08 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Heath Nielson
>Release:        FreeBSD 8.2-STABLE
>Organization:
>Environment:
FreeBSD hershey.bar.net 8.2-STABLE FreeBSD 8.2-STABLE #9: Mon Dec 12 20:31:44 MST 2011     heath at hershey.bar.net:/usr/obj/usr/src/sys/HERSHEY  amd64
>Description:
When compiling the latest version (1.2.0) of the port with gcc46 and the latest binutil-2.22, the following error occurs:

g++46 -o build/bin/bombono-dvd -pthread build/src/mgui/project/mconstructor-main.o build/src/mgui/dialog.o build/src/mgui/dvdimport.o build/src/mgui/execution.o build/src/mgui/ffviewer.o build/src/mgui/img-factory.o build/src/mgui/img_utils.o build/src/mgui/mcommon_vis.o build/src/mgui/menu-rgn.o build/src/mgui/mux.o build/src/mgui/prefs.o build/src/mgui/redivide.o build/src/mgui/stream_utils.o build/src/mgui/theme.o build/src/mgui/timer.o build/src/mgui/win_utils.o build/src/mgui/author/burn.o build/src/mgui/author/execute.o build/src/mgui/author/gb_devices.o build/src/mgui/author/indicator.o build/src/mgui/author/output.o build/src/mgui/author/render.o build/src/mgui/author/script.o build/src/mgui/editor/actions.o build/src/mgui/editor/bind.o build/src/mgui/editor/kit.o build/src/mgui/editor/region.o build/src/mgui/editor/render.o build/src/mgui/editor/select.o build/src/mgui/editor/text.o build/src/mgui/editor/tool.o build/src/mgui/editor/toolbar.o build/src/mgui/editor/tx
 tool.o build/src/mgui/project/add.o build/src/mgui/project/browser.o build/src/mgui/project/mconstructor.o build/src/mgui/project/mb-actions.o build/src/mgui/project/media-browser.o build/src/mgui/project/menu-actions.o build/src/mgui/project/menu-browser.o build/src/mgui/project/menu-render.o build/src/mgui/project/serialize.o build/src/mgui/project/thumbnail.o build/src/mgui/project/video.o build/src/mgui/render/common.o build/src/mgui/render/rgba.o build/src/mgui/sdk/browser.o build/src/mgui/sdk/dndtreeview.o build/src/mgui/sdk/entry.o build/src/mgui/sdk/gnc-gtk-utils.o build/src/mgui/sdk/cairo_utils.o build/src/mgui/sdk/clearlooks.o build/src/mgui/sdk/menu.o build/src/mgui/sdk/player_utils.o build/src/mgui/sdk/textview.o build/src/mgui/sdk/widget.o build/src/mgui/sdk/window.o build/src/mgui/sdk/libgnome/gnome-util.o build/src/mgui/timeline/layout.o build/src/mgui/timeline/layout-draw.o build/src/mgui/timeline/monitor.o build/src/mgui/timeline/mviewer.o build/src/mgui/tim
 eline/select.o build/src/mgui/timeline/service.o -Lbuild/lib!
  -L/usr/local/lib -lMdBase -lMdDemuxer -lMdLib -lboost_filesystem -lboost_system -lboost_regex -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lgthread-2.0 -lglib-2.0 -lxml++-2.6 -lxml2 -lmpeg2 -lmpeg2convert -ldvdread -lavformat -lavcodec -lswscale -lavutil -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lgtk-x11-2.0 -lcairomm-1.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lgdk_pixbuf-2.0 -lpangoft2-1.0 -lgio-2.0 -lXfixes -lcairo -lX11 -lpango-1.0 -lm -lfreetype -lfontconfig -lgmodule-2.0
/usr/local/bin/ld: build/src/mgui/project/mconstructor.o: undefined reference to symbol 'libintl_textdomain'
/usr/local/bin/ld: note: 'libintl_textdomain' is defined in DSO /usr/local/lib/libintl.so.9 so try adding it to the linker command line
/usr/local/lib/libintl.so.9: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
>How-To-Repeat:
With the latest binutils (2.22) installed.

cd /usr/ports/multimedia/bombono
make

(I am using gcc46 to build.  I don't know if the error occurs with other versions of gcc.  I presume so.)
>Fix:
My understanding of this error is that the latest update to binutils changed the behavior of linking to no longer do a recursive search of symbols from dependent libraries and all dependent libraries must be passed to the linker (http://lists.freebsd.org/pipermail/freebsd-ports/2011-December/071705.html).

Explicitly linking against libintl fixes the problem.


Patch attached with submission follows:

--- Makefile.orig	2011-12-17 11:26:46.000000000 -0700
+++ Makefile	2011-12-17 12:16:41.000000000 -0700
@@ -35,7 +35,8 @@
 MAKE_JOBS_SAFE=	yes
 
 CXXFLAGS+=	-I${LOCALBASE}/include
-SCONS_ARGS=	DVDREAD_LIBPATH=${LOCALBASE}/lib DVDREAD_INCLUDE=${LOCALBASE}/include
+LDFLAGS+=	-L${LOCALBASE}/lib -lintl
+SCONS_ARGS=	DVDREAD_LIBPATH=${LOCALBASE}/lib DVDREAD_INCLUDE=${LOCALBASE}/include LDFLAGS="${LDFLAGS}"
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|-O2||' ${WRKSRC}/SConstruct


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list