Bug 186847 - libiconv dependencies break emulators/virtualbox-ose port build
Summary: libiconv dependencies break emulators/virtualbox-ose port build
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Virtualbox Team (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-17 17:30 UTC by Eric Jungkurth
Modified: 2014-02-21 21:30 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Jungkurth 2014-02-17 17:30:00 UTC
As far as I can tell, glib20 and libIDL have dependencies on devel/libiconv that are breaking the virtualbox-ose port build. The build reaches the point

kBuild: Linking scm

after which it complains about undefined references to libiconv(_open, _close). Removing the libiconv package will allow the build to continue. However, the build stops again while making libIDL, at which point libiconv must be reinstalled. Then the build fails again at

kBuild: Linking VBoxSvc

and re-removing libiconv allows the build to continue to completion. I'm not sure if I want to run the resulting product, though.

It looks as if yesterday the glib20 port reintroduced a dependency on devel/libiconv to provide functionality not in the base libiconv. It think that this might have broken the virtualbox-ose port as I built it successfully last week on the same hardware and install and I can't find anything else that has changed.

How-To-Repeat: portsnap fetch update
cd /usr/ports/emulators/virtualbox-ose
make install clean
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2014-02-17 22:54:24 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-ports-bugs

fix synopsis.
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2014-02-17 22:54:57 UTC
Responsible Changed
From-To: freebsd-ports-bugs->vbox

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 3 kaltheat 2014-02-18 14:14:16 UTC
Hi,

I can confirm this issue. Here is the error-message in case someone is=20
searching for it:

=2E..
kBuild: Compiling scm - /usr/ports/emulators/virtualbox-ose/work/VirtualBox=
-4.3.6/src/bldprogs/scmsubversion.cpp
kBuild: Linking scm
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/out/freebsd.amd64=
/release/lib/RuntimeBldProg.a(utf8-posix.o): In function `rtstrConvertCache=
d':
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:200: undefined reference to `libiconv'
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:184: undefined reference to `libiconv_open'
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:244: undefined reference to `libiconv_close'
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/out/freebsd.amd64=
/release/lib/RuntimeBldProg.a(utf8-posix.o): In function `rtStrConvertUncac=
hed':
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:315: undefined reference to `libiconv_open'
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:330: undefined reference to `libiconv'
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:351: undefined reference to `libiconv_close'
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:340: undefined reference to `libiconv_close'
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/out/freebsd.amd64=
/release/lib/RuntimeBldProg.a(utf8-posix.o): In function `rtStrIconvCacheDe=
stroy':
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/Runtime/=
r3/posix/utf8-posix.cpp:115: undefined reference to `libiconv_close'
collect2: ld returned 1 exit status
kmk: *** [/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/out/fre=
ebsd.amd64/release/obj/scm/scm] Error 1
The failing command:
@g++46                        -m64   -o /usr/ports/emulators/virtualbox-ose=
/work/VirtualBox-4.3.6/out/freebsd.amd64/release/obj/scm/scm /usr/ports/emu=
lators/virtualbox-ose/work/VirtualBox-4.3.6/out/freebsd.amd64/release/obj/s=
cm/scm.o /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/out/free=
bsd.amd64/release/obj/scm/scmdiff.o /usr/ports/emulators/virtualbox-ose/wor=
k/VirtualBox-4.3.6/out/freebsd.amd64/release/obj/scm/scmrw.o /usr/ports/emu=
lators/virtualbox-ose/work/VirtualBox-4.3.6/out/freebsd.amd64/release/obj/s=
cm/scmstream.o /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/ou=
t/freebsd.amd64/release/obj/scm/scmsubversion.o   -L/usr/local/lib   -lpthr=
ead   -lrt   /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/out/=
freebsd.amd64/release/lib/RuntimeBldProg.a   /usr/ports/emulators/virtualbo=
x-ose/work/VirtualBox-4.3.6/out/freebsd.amd64/release/lib/VBox-kStuffStatic=
BldProg.a   /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.6/out/f=
reebsd.amd64/release/lib/RuntimeBldProg.a   -lpthread   -lssl   -lcrypto=20
*** Error code 2
=2E..


Regards,
kaltheat
Comment 4 dfilter service freebsd_committer freebsd_triage 2014-02-21 21:23:23 UTC
Author: jkim
Date: Fri Feb 21 21:22:56 2014
New Revision: 345546
URL: http://svnweb.freebsd.org/changeset/ports/345546
QAT: https://qat.redports.org/buildarchive/r345546/

Log:
  Fix build after re-appearance of converters/libiconv on 10+ (r341775).
  
  Obtained from:	svn.redports.org/virtualbox
  PR:		ports/186847

Added:
  head/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-Makefile.kmk   (contents, props changed)
Modified:
  head/emulators/virtualbox-ose-additions/Makefile
  head/emulators/virtualbox-ose-legacy/Makefile
  head/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-Makefile.kmk
  head/emulators/virtualbox-ose/Makefile
  head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk

Modified: head/emulators/virtualbox-ose-additions/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-additions/Makefile	Fri Feb 21 21:22:17 2014	(r345545)
+++ head/emulators/virtualbox-ose-additions/Makefile	Fri Feb 21 21:22:56 2014	(r345546)
@@ -108,6 +108,7 @@ post-patch:
 .if empty(ICONV_LIB)
 	@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \
 		${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk
+	@${ECHO} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
 .endif
 
 pre-build:

Added: head/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-Makefile.kmk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-Makefile.kmk	Fri Feb 21 21:22:56 2014	(r345546)
@@ -0,0 +1,14 @@
+--- src/VBox/Runtime/Makefile.kmk.orig	2013-12-18 11:10:31.000000000 -0500
++++ src/VBox/Runtime/Makefile.kmk	2014-02-20 18:14:28.000000000 -0500
+@@ -157,6 +157,11 @@
+ 	IPRT_BLDCFG_TYPE=\"$(KBUILD_TYPE)\"
+ 
+ #
++# Set the defines that utf8-posix.cpp needs. It's used by several targets.
++#
++r3/posix/utf8-posix.cpp_DEFS.freebsd = $(VBOX_ICONV_DEFS)
++
++#
+ # Unicode Specification reader used to regenerate unidata.cpp.
+ #
+ uniread_TEMPLATE = VBOXBLDPROG

Modified: head/emulators/virtualbox-ose-legacy/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-legacy/Makefile	Fri Feb 21 21:22:17 2014	(r345545)
+++ head/emulators/virtualbox-ose-legacy/Makefile	Fri Feb 21 21:22:56 2014	(r345546)
@@ -212,6 +212,7 @@ post-patch:
 	@${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' ${WRKSRC}/configure
 .if empty(ICONV_LIB)
 	@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk ${WRKSRC}/src/VBox/Runtime/Makefile.kmk
+	@${ECHO} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
 .endif
 
 pre-build:

Modified: head/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-Makefile.kmk
==============================================================================
--- head/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-Makefile.kmk	Fri Feb 21 21:22:17 2014	(r345545)
+++ head/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-Makefile.kmk	Fri Feb 21 21:22:56 2014	(r345546)
@@ -1,6 +1,18 @@
---- src/VBox/Runtime/Makefile.kmk.orig	2013-06-21 16:27:18.000000000 +0400
-+++ src/VBox/Runtime/Makefile.kmk	2013-06-30 14:57:33.248215681 +0400
-@@ -844,7 +844,7 @@
+--- src/VBox/Runtime/Makefile.kmk.orig	2014-01-11 03:17:44.000000000 -0500
++++ src/VBox/Runtime/Makefile.kmk	2014-02-20 19:18:26.000000000 -0500
+@@ -141,6 +141,11 @@
+ 	IPRT_BLDCFG_TYPE=\"$(KBUILD_TYPE)\"
+ 
+ #
++# Set the defines that utf8-posix.cpp needs. It's used by several targets.
++#
++r3/posix/utf8-posix.cpp_DEFS.freebsd = $(VBOX_ICONV_DEFS)
++
++#
+ # Unicode Specification reader used to regenerate unidata.cpp.
+ #
+ uniread_TEMPLATE = VBOXBLDPROG
+@@ -844,7 +849,7 @@
  	r3/posix/RTMemProtect-posix.cpp \
  	r3/posix/RTPathUserHome-posix.cpp \
  	r3/posix/RTSystemQueryOSInfo-posix.cpp \

Modified: head/emulators/virtualbox-ose/Makefile
==============================================================================
--- head/emulators/virtualbox-ose/Makefile	Fri Feb 21 21:22:17 2014	(r345545)
+++ head/emulators/virtualbox-ose/Makefile	Fri Feb 21 21:22:56 2014	(r345546)
@@ -221,6 +221,7 @@ post-patch:
 	@${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' ${WRKSRC}/configure
 .if empty(ICONV_LIB)
 	@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk ${WRKSRC}/src/VBox/Runtime/Makefile.kmk
+	@${ECHO} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
 .endif
 
 pre-build:

Modified: head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk	Fri Feb 21 21:22:17 2014	(r345545)
+++ head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk	Fri Feb 21 21:22:56 2014	(r345546)
@@ -1,6 +1,18 @@
---- src/VBox/Runtime/Makefile.kmk.orig	2013-06-21 16:27:18.000000000 +0400
-+++ src/VBox/Runtime/Makefile.kmk	2013-06-30 14:57:33.248215681 +0400
-@@ -844,7 +844,7 @@
+--- src/VBox/Runtime/Makefile.kmk.orig	2013-12-18 11:10:31.000000000 -0500
++++ src/VBox/Runtime/Makefile.kmk	2014-02-20 18:14:28.000000000 -0500
+@@ -157,6 +157,11 @@
+ 	IPRT_BLDCFG_TYPE=\"$(KBUILD_TYPE)\"
+ 
+ #
++# Set the defines that utf8-posix.cpp needs. It's used by several targets.
++#
++r3/posix/utf8-posix.cpp_DEFS.freebsd = $(VBOX_ICONV_DEFS)
++
++#
+ # Unicode Specification reader used to regenerate unidata.cpp.
+ #
+ uniread_TEMPLATE = VBOXBLDPROG
+@@ -906,7 +911,7 @@
  	r3/posix/RTMemProtect-posix.cpp \
  	r3/posix/RTPathUserHome-posix.cpp \
  	r3/posix/RTSystemQueryOSInfo-posix.cpp \
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 5 Jung-uk Kim freebsd_committer freebsd_triage 2014-02-21 21:27:12 UTC
State Changed
From-To: open->closed

It should be fixed with r345546.  Thanks!