[tor-bugs] #13419 [Tor Browser]: Fix cross-compiling ICU with mingw-w64 for Windows builds

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Sep 17 13:56:44 UTC 2015


#13419: Fix cross-compiling ICU with mingw-w64 for Windows builds
-------------------------+-------------------------------------------------
     Reporter:  gk       |      Owner:  gk
         Type:  task     |     Status:  assigned
     Priority:  normal   |  Milestone:
    Component:  Tor      |    Version:
  Browser                |   Keywords:  tbb-gitian, TorBrowserTeam201509,
   Resolution:           |  GeorgKoppen201509
Actual Points:           |  Parent ID:
       Points:           |
-------------------------+-------------------------------------------------

Comment (by mcs):

 Replying to [comment:6 gk]:
 > Do you have a bit more context? When does this happen?

 It happens while building under /home/ubuntu/build/tor-browser/obj-
 mingw/intl/icu/target/i18n/, while trying to link ../lib/icuin52.dll. I
 ssh'd into the VM and grabbed the full command:
 {{{
 i686-w64-mingw32-g++ -mwindows -Wall -Wempty-body -Woverloaded-virtual
 -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Wno-
 format -fno-exceptions -fno-strict-aliasing -mms-bitfields -mstackrealign
 -fno-keep-inline-dllexport -frtti -fno-exceptions -fno-math-errno
 -std=gnu++0x -pipe -g -UDEBUG -DNDEBUG -O -W -Wall -pedantic -Wpointer-
 arith -Wwrite-strings -Wno-long-long -Wno-unused -Wno-unused-parameter
 -mthreads   -specs=/home/ubuntu/build/msvcr100.spec -static -Wl,--enable-
 stdcall-fixup -Wl,--large-address-aware   -shared -Wl,-Bsymbolic -Wl
 ,--enable-auto-import -Wl,--out-implib=../lib/icuin.dll.a  -o
 ../lib/icuin52.dll ucln_in.o fmtable.o format.o msgfmt.o umsg.o numfmt.o
 unum.o decimfmt.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 tblcoll.o sortkey.o bocsu.o ucoleitr.o ucol.o ucol_res.o ucol_bld.o
 ucol_sit.o ucol_tok.o ucol_wgt.o ucol_cnt.o ucol_elm.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 currpinf.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 ../lib/icuuc.dll.a ../stubdata/icudt.dll.a -lm
 }}}
 After a little more poking around this morning, I think the above command
 should be linking with the DLL (../lib/icuuc52.dll) instead of the static
 lib (../lib/icuuc.dll.a). I am going to make that change to the lines I
 suggested adding in comment:5 and see what happens. My revised additions
 to intl/icu/source/config/mh-mingw are:
 {{{
 # Use correct names for import libraries.
 # See https://trac.torproject.org/projects/tor/ticket/13419
 LIBICUDT=
 $(top_builddir)/stubdata/$(LIBICU)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(IMPORT_LIB_EXT)
 LIBICUUC=
 $(LIBDIR)/$(LIBICU)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).$(SO)
 $(LIBICUDT)
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13419#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list