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

Reply via email to