Building icu port on macos x tiger

brian bholder+macports at gmail.com
Sun Jun 27 02:05:05 UTC 2021


You assume correctly regarding the build but I'm not sure I grok your
suggested alternative for making it run properly. I have:

barf at tiger:/opt/local/var/macports/sources/
rsync.macports.org/macports/release/tarballs/ports$ otool -L
/opt/local/lib/libicui18n.67.1.dylib
/opt/local/lib/libicui18n.67.1.dylib:
        /opt/local/lib/libicui18n.67.dylib (compatibility version 67.0.0,
current version 67.1.0)
        /opt/local/lib/libicuuc.67.dylib (compatibility version 67.0.0,
current version 67.1.0)
        /opt/local/lib/libicudata.67.dylib (compatibility version 67.0.0,
current version 67.1.0)
        /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version
7.0.0, current version 7.24.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
        /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version
1.0.0, current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.3.9)
barf at tiger:/opt/local/var/macports/sources/
rsync.macports.org/macports/release/tarballs/ports$ nm
/usr/lib/libgcc_s.1.dylib | grep divmoddi
/usr/lib/libgcc_s.1.dylib(_udivmoddi4_s.o):
90bd5b6d T ___udivmoddi4
braf at tiger:/opt/local/var/macports/sources/
rsync.macports.org/macports/release/tarballs/ports$ nm
/opt/local/lib/libgcc/libgcc_s.1.dylib | grep divmoddi
00004480 T ___divmoddi4
000048b0 T ___udivmoddi4
barf at tiger:/opt/local/var/macports/sources/
rsync.macports.org/macports/release/tarballs/ports$ port installed
...
gcc7 @7.5.0_2 (active)
...
icu @67.1_4 (active)
...

OS X Tiger seems to be looking in the wrong libgcc_s for this particular
symbol. How would I force the OS to look in the right place instead of just
adjusting the compiler to not use this optimization?

Thanks.

On Sat, Jun 26, 2021 at 7:12 PM Ken Cunningham <
ken.cunningham.webuse at gmail.com> wrote:

> >
> dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/libxml2mod.so,
>
> > 2): Symbol not found: ___divmoddi4
>   Referenced from: /opt/local/lib/libicui18n.67.dylib
>
> > resulting from the default build configuration of macports icu on Tiger?
>
>
>
> Assuming you built icu with gcc7 on Tiger, I suppose it is now expecting to find that symbol in libgcc:
>
>
> https://github.com/atgreen/gcc/blob/master/libgcc/config/spu/divmodti4.c
>
>
> You would have built icu with a newer gcc compiler to get c++11 support for icu, but you are probably now using an older version of the gcc compiler like apple-gcc42, and that doesn't have that symbol in libgcc.
>
>
> So you have to force a newer gcc (specifically to get a newer libgcc), and it should be there.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20210626/72e3aa90/attachment.htm>


More information about the macports-users mailing list