Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 644762 - dev-libs/icu-60.2 fails to compile with 'undefined symbol' on macOS 10.13 with clang-5.0.1
Summary: dev-libs/icu-60.2 fails to compile with 'undefined symbol' on macOS 10.13 wit...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All OS X
: Normal normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-16 13:58 UTC by Stuart Shelton
Modified: 2021-01-08 09:09 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Shelton 2018-01-16 13:58:58 UTC
config.status: creating samples/layout/Makefile

ICU for C/C++ 60.2 is ready to be built.
=== Important Notes: ===
Data Packaging: library
 This means: ICU data will be linked with ICU. A shared data library will be built. 
 To locate data: ICU will use the linked data library. If linked with the stub library located in stubdata/, the application can use udata_setCommonData() or set a data path to override.
Building ICU: Use a GNU make such as /opt/gentoo/usr/bin/gmake to build ICU.
checking the version of "/opt/gentoo/usr/bin/gmake"... 4.2.1 (we wanted at least 3.80)
ok
*** WARNING: You must set the following flags before code compiled against this ICU will function properly:

    -DU_DISABLE_RENAMING=1

The recommended way to do this is to prepend the following lines to source/common/unicode/uconfig.h or #include them near the top of that file.
Creating the file uconfig.h.prepend

---------------    uconfig.h.prepend

/* ICU customizations: put these lines at the top of uconfig.h */

 /* -DU_DISABLE_RENAMING=1 */
#define U_DISABLE_RENAMING 1

--------------- end  uconfig.h.prepend
>>> Source configured.
>>> Compiling source in /Volumes/Scratch/tmp/portage/dev-libs/icu-60.2/work/icu/source ...
 * abi_x86_64.amd64: running multilib-minimal_abi_src_compile
make SHELL=/opt/gentoo/bin/bash -j7 
<...>
generating ../common/svchook.mk
cd .. \
 && CONFIG_FILES=common/Makefile CONFIG_HEADERS= /opt/gentoo/bin/bash ./config.status
config.status: creating common/Makefile
   clang++	 ...  /Volumes/Scratch/tmp/portage/dev-libs/icu-60.2/work/icu/source/common/errorcode.cpp
<...>
   clang++	 ...  /Volumes/Scratch/tmp/portage/dev-libs/icu-60.2/work/icu/source/common/pluralmap.cpp
/opt/gentoo/usr/lib/llvm/5/bin/clang++ -dynamiclib -dynamic -arch x86_64 -march=haswell -fcolor-diagnostics -O3 -pipe -fno-builtin -Wno-implicit-function-declaration -mmacosx-version-min=10.12 -std=c++14 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long    -fvisibility=hidden -Wl,-dead_strip_dylibs -L/opt/gentoo/usr/lib -L/usr/lib    -Wl,-compatibility_version -Wl,60 -Wl,-current_version -Wl,60.2 -install_name /opt/gentoo/usr/lib/libicuuc.60.dylib -o ../lib/libicuuc.60.2.dylib errorcode.o putil.o umath.o utypes.o uinvchar.o umutex.o ucln_cmn.o uinit.o uobject.o cmemory.o charstr.o cstr.o udata.o ucmndata.o udatamem.o umapfile.o udataswp.o ucol_swp.o utrace.o uhash.o uhash_us.o uenum.o ustrenum.o uvector.o ustack.o uvectr32.o uvectr64.o ucnv.o ucnv_bld.o ucnv_cnv.o ucnv_io.o ucnv_cb.o ucnv_err.o ucnvlat1.o ucnv_u7.o ucnv_u8.o ucnv_u16.o ucnv_u32.o ucnvscsu.o ucnvbocu.o ucnv_ext.o ucnvmbcs.o ucnv2022.o ucnvhz.o ucnv_lmb.o ucnvisci.o ucnvdisp.o ucnv_set.o ucnv_ct.o resource.o uresbund.o ures_cnv.o uresdata.o resbund.o resbund_cnv.o ucurr.o messagepattern.o ucat.o locmap.o uloc.o locid.o locutil.o locavailable.o locdispnames.o locdspnm.o loclikely.o locresdata.o bytestream.o stringpiece.o bytesinkutil.o stringtriebuilder.o bytestriebuilder.o bytestrie.o bytestrieiterator.o ucharstrie.o ucharstriebuilder.o ucharstrieiterator.o dictionarydata.o edits.o appendable.o ustr_cnv.o unistr_cnv.o unistr.o unistr_case.o unistr_props.o utf_impl.o ustring.o ustrcase.o ucasemap.o ucasemap_titlecase_brkiter.o cstring.o ustrfmt.o ustrtrns.o ustr_wcs.o utext.o unistr_case_locale.o ustrcase_locale.o unistr_titlecase_brkiter.o ustr_titlecase_brkiter.o normalizer2impl.o normalizer2.o filterednormalizer2.o normlzr.o unorm.o unormcmp.o loadednormalizer2impl.o chariter.o schriter.o uchriter.o uiter.o patternprops.o uchar.o uprops.o ucase.o propname.o ubidi_props.o ubidi.o ubidiwrt.o ubidiln.o ushape.o uscript.o uscript_props.o usc_impl.o unames.o utrie.o utrie2.o utrie2_builder.o bmpset.o unisetspan.o uset_props.o uniset_props.o uniset_closure.o uset.o uniset.o usetiter.o ruleiter.o caniter.o unifilt.o unifunct.o uarrsort.o brkiter.o ubrk.o brkeng.o dictbe.o filteredbrk.o rbbi.o rbbidata.o rbbinode.o rbbirb.o rbbiscan.o rbbisetb.o rbbistbl.o rbbitblb.o rbbi_cache.o serv.o servnotf.o servls.o servlk.o servlkf.o servrbf.o servslkf.o uidna.o usprep.o uts46.o punycode.o util.o util_props.o parsepos.o locbased.o cwchar.o wintz.o dtintrv.o ucnvsel.o propsvec.o ulist.o uloc_tag.o icudataver.o icuplug.o listformatter.o ulistformatter.o sharedobject.o simpleformatter.o unifiedcache.o uloc_keytype.o ubiditransform.o pluralmap.o -L../lib -L../stubdata -licudata -lpthread -lm 
Undefined symbols for architecture x86_64:
  "_icudt60_dat", referenced from:
      openCommonData(char const*, int, UErrorCode*) in udata.o
ld: symbol(s) not found for architecture x86_64
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:212: ../lib/libicuuc.60.2.dylib] Error 1
make[1]: Leaving directory '/Volumes/Scratch/tmp/portage/dev-libs/icu-60.2/work/icu/source-abi_x86_64.amd64/common'
make: *** [Makefile:149: all-recursive] Error 2
 * ERROR: dev-libs/icu-60.2::gentoo_prefix failed (compile phase):
 *   emake failed
Comment 1 Fabian Groffen gentoo-dev 2021-01-08 09:09:59 UTC
I fixed the latest version of icu for macOS yesterday