Summary: | dev-libs/icu-60.2 fails to compile with 'undefined symbol' on macOS 10.13 with clang-5.0.1 | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Stuart Shelton <srcshelton> |
Component: | Prefix Support | Assignee: | Gentoo Prefix <prefix> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | OS X | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
I fixed the latest version of icu for macOS yesterday |
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