Opened 4 years ago

Closed 4 years ago

#60956 closed defect (duplicate)

inkscape 0.92.5_2 +x11: Undefined symbols for architecture x86_64: _libiconv, _libiconv_close, and _libiconv_open

Reported by: joel-coffman (Joel Coffman) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc:
Port: inkscape

Description

Inkscape fails to build due to a link error for iconv on macOS Catalina. Relevant snippet from log follows:

:info:build Undefined symbols for architecture x86_64:
:info:build   "_libiconv", referenced from:
:info:build       _U_Utf32leToUtf16le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf16leToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Latin1ToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf8ToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf32leToUtf8 in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf8ToUtf16le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf16leToUtf8 in libuemf_LIB.a(uemf_utf.c.o)
:info:build       ...
:info:build   "_libiconv_close", referenced from:
:info:build       _U_Utf32leToUtf16le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf16leToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Latin1ToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf8ToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf32leToUtf8 in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf8ToUtf16le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf16leToUtf8 in libuemf_LIB.a(uemf_utf.c.o)
:info:build       ...
:info:build   "_libiconv_open", referenced from:
:info:build       _U_Utf32leToUtf16le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf16leToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Latin1ToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf8ToUtf32le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf32leToUtf8 in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf8ToUtf16le in libuemf_LIB.a(uemf_utf.c.o)
:info:build       _U_Utf16leToUtf8 in libuemf_LIB.a(uemf_utf.c.o)
:info:build       ...
:info:build ld: symbol(s) not found for architecture x86_64

Attachments (1)

main.log.gz (129.5 KB) - added by joel-coffman (Joel Coffman) 4 years ago.

Download all attachments as: .zip

Change History (5)

Changed 4 years ago by joel-coffman (Joel Coffman)

Attachment: main.log.gz added

comment:1 Changed 4 years ago by joel-coffman (Joel Coffman)

Potentially relevant StackOverflow answer to _libiconv or _iconv undefined symbol on Mac OSX: https://stackoverflow.com/a/57734435.

It looks like the iconv version being used on my system is in /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/, but I'm not sure how to change it. (Removing that version simply results in different build errors.)

comment:2 Changed 4 years ago by mf2k (Frank Schima)

Cc: dbevans removed
Owner: set to dbevans
Status: newassigned

comment:3 Changed 4 years ago by joel-coffman (Joel Coffman)

I managed to build successfully after temporarily renaming the iconv versions in /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/:

sudo mv usr/include/iconv.h usr/include/iconv.h~
sudo mv usr/lib/libiconv.tbd usr/lib/libiconv.tbd~

After which cleaning and installing the port was successful:

sudo port clean inkscape
sudo port -t install inkscape

(followed by restoring the original name of the iconv version in /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/).

Temporarily renaming iconv doesn't seem like it should be necessary, but reporting it here in case others have a similar issue.

comment:4 Changed 4 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: assignedclosed
Note: See TracTickets for help on using tickets.