Hello,
It looks like textproc/icu4c doesn't build anymore on mips64 (doesn't
appear in latest snapshot official packages). This may be the reason
why several dozen packages (pango, gtk+2...) disappeared from mips64el
lately.
===> Building for icu4c-54.1p2
Note: rebuild with "gmake VERBOSE=1 all" to show all compiler parameters.
gmake[0]: Making `all' in `stubdata'
gmake[1]: Entering directory
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/stubdata'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/stubdata'
gmake[0]: Making `all' in `common'
gmake[1]: Entering directory
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/common'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/common'
gmake[0]: Making `all' in `i18n'
gmake[1]: Entering directory
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/i18n'
c++ -O2 -pipe -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long
-shared -Wl,-Bsymbolic -o ../lib/libicui18n.so.8.0 ucln_in.o fmtable.o
format.o msgfmt.o umsg.o numfmt.o unum.o decimfmt.o decimalformatpattern.o
dcfmtsym.o ucurr.o digitlst.o fmtable_cnv.o choicfmt.o datefmt.o smpdtfmt.o
reldtfmt.o dtfmtsym.o udat.o dtptngen.o udatpg.o nfrs.o nfrule.o nfsubs.o
rbnf.o numsys.o unumsys.o ucsdet.o ucal.o calendar.o gregocal.o timezone.o
simpletz.o olsontz.o astro.o taiwncal.o buddhcal.o persncal.o islamcal.o
japancal.o gregoimp.o hebrwcal.o indiancal.o chnsecal.o cecal.o coptccal.o
dangical.o ethpccal.o coleitr.o coll.o sortkey.o bocsu.o ucoleitr.o ucol.o
ucol_res.o ucol_sit.o collation.o collationsettings.o collationdata.o
collationtailoring.o collationdatareader.o collationdatawriter.o collationfcd.o
collationiterator.o utf16collationiterator.o utf8collationiterator.o
uitercollationiterator.o collationsets.o collationcompare.o
collationfastlatin.o collation!
keys.o rulebasedcollator.o collationroot.o collationrootelements.o
collationdatabuilder.o collationbasedatabuilder.o collationweights.o
collationruleparser.o collationbuilder.o collationfastlatinbuilder.o strmatch.o
usearch.o search.o stsearch.o translit.o utrans.o esctrn.o unesctrn.o
funcrepl.o strrepl.o tridpars.o cpdtrans.o rbt.o rbt_data.o rbt_pars.o
rbt_rule.o rbt_set.o nultrans.o remtrans.o casetrn.o titletrn.o tolowtrn.o
toupptrn.o anytrans.o name2uni.o uni2name.o nortrans.o quant.o transreg.o
brktrans.o regexcmp.o rematch.o repattrn.o regexst.o regextxt.o regeximp.o
uregex.o uregexc.o ulocdata.o measfmt.o currfmt.o curramt.o currunit.o
measure.o utmscale.o csdetect.o csmatch.o csr2022.o csrecog.o csrmbcs.o
csrsbcs.o csrucode.o csrutf8.o inputext.o wintzimpl.o windtfmt.o winnmfmt.o
basictz.o dtrule.o rbtz.o tzrule.o tztrans.o vtzone.o zonemeta.o upluralrules.o
plurrule.o plurfmt.o selfmt.o dtitvfmt.o dtitvinf.o udateintervalformat.o
tmunit.o tmutamt.o tmutfmt.o currp!
inf.o uspoof.o uspoof_impl.o uspoof_build.o uspoof_conf.o uspoof_wsconf..o
decfmtst.o smpdtfst.o ztrans.o zrule.o vzone.o fphdlimp.o fpositer.o locdspnm.o
decNumber.o decContext.o alphaindex.o tznames.o tznames_impl.o tzgnames.o
tzfmt.o compactdecimalformat.o gender.o region.o scriptset.o identifier_info.o
uregion.o reldatefmt.o quantityformatter.o measunit.o filteredbrk.o
scientificformathelper.o sharedbreakiterator.o -L../lib -licuuc -L../stubdata
-licudata -lpthread -lm
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
Makefile:184: recipe for target '../lib/libicui18n.so.8.0' failed
gmake[1]: *** [../lib/libicui18n.so.8.0] Error 1
gmake[1]: Leaving directory
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/i18n'
Makefile:143: recipe for target 'all-recursive' failed
gmake: *** [all-recursive] Error 2
*** Error 2 in . (/home/tsomi/ports/infrastructure/mk/bsd.port.mk:2748
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/.build_done')
*** Error 1 in /home/tsomi/ports/textproc/icu4c
(/home/tsomi/ports/infrastructure/mk/bsd.port.mk:2473 'all')
This reminded me of an earlier issue I had reported with graphics/ffmpeg
and -Wl,-Bsymbolic on mips64. The call to this parameter was just
removed on all archs as a workaround (see ffmpeg patch-configure
rev 1.34).
So here's a diff removing -Wl,-Bsymbolic from icu4c. Builds fine on
loongson. Not sure whether SO_VERSION needed a major or a minor bump
in this particular case...
Index: Makefile
===================================================================
RCS file: /cvs/ports/textproc/icu4c/Makefile,v
retrieving revision 1.43
diff -u -p -r1.43 Makefile
--- Makefile 3 Nov 2014 12:29:31 -0000 1.43
+++ Makefile 19 Dec 2014 19:07:00 -0000
@@ -10,10 +10,10 @@ COMMENT= International Components for U
VERSION= 54.1
DISTNAME= icu4c-${VERSION:S/./_/g}-src
PKGNAME= icu4c-${VERSION}
-REVISION= 2
+REVISION= 3
MAJ_V= ${VERSION:R}
-SO_VERSION= 8.0
+SO_VERSION= 8.1
.for _lib in icudata icui18n icuio icule iculx icutest icutu icuuc
SHARED_LIBS+= ${_lib} ${SO_VERSION}
.endfor
Index: patches/patch-source_config_mh-bsd-gcc
===================================================================
RCS file: /cvs/ports/textproc/icu4c/patches/patch-source_config_mh-bsd-gcc,v
retrieving revision 1.3
diff -u -p -r1.3 patch-source_config_mh-bsd-gcc
--- patches/patch-source_config_mh-bsd-gcc 5 Apr 2010 21:40:24 -0000
1.3
+++ patches/patch-source_config_mh-bsd-gcc 19 Dec 2014 19:07:00 -0000
@@ -1,10 +1,11 @@
$OpenBSD: patch-source_config_mh-bsd-gcc,v 1.3 2010/04/05 21:40:24 landry Exp $
Prevents build system from setting DT_SONAME into shared libs.
+and remove -Bsymbolic to work around mips64 binutils bugs.
---- source/config/mh-bsd-gcc.orig Tue Mar 16 06:14:02 2010
-+++ source/config/mh-bsd-gcc Sat Mar 20 11:16:31 2010
-@@ -21,7 +21,7 @@ LD_RPATH=
+--- source/config/mh-bsd-gcc.orig Fri Oct 3 18:11:56 2014
++++ source/config/mh-bsd-gcc Fri Dec 19 20:03:25 2014
+@@ -21,10 +21,10 @@ LD_RPATH=
LD_RPATH_PRE= -Wl,-rpath,
## Compiler switch to embed a library name
@@ -12,4 +13,8 @@ Prevents build system from setting DT_SO
+LD_SONAME =
## Shared library options
- LD_SOOPTIONS= -Wl,-Bsymbolic
+-LD_SOOPTIONS= -Wl,-Bsymbolic
++LD_SOOPTIONS=
+
+ ## Shared object suffix
+ SO = so