Opened 12 years ago

Closed 8 years ago

#19920 closed defect (wontfix)

openjdk6 build failed with error: "Undefined symbols"

Reported by: frank@… Owned by: landonf (Landon Fuller)
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Undefined symbols Cc: kiniry@…, ryandesign (Ryan Schmidt)
Port: openjdk6

Description (last modified by mf2k (Frank Schima))

The MacPort build of openjdk6 fails on Leopard (German version) with following error message :

sources_rsync.macports.org_release_ports_java_openjdk6/work/build/bsd-i586/tmp/sun/sun.instrument/instrument/obj/canonicalize_md.o   -L/usr/local/lib -liconv   
Undefined symbols:
  "_iconv_open", referenced from:
      _convertUft8ToPlatformString in EncodingSupport_md.o
      _convertUft8ToPlatformString in EncodingSupport_md.o
  "_iconv", referenced from:
      _convertUft8ToPlatformString in EncodingSupport_md.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_java_openjdk6/work/build/bsd-i586/lib/i386/libinstrument.dylib] Error 1

Change History (12)

comment:1 Changed 12 years ago by mf2k (Frank Schima)

Cc: landonf@… added
Description: modified (diff)
Port: openjdk6 added; opnjdk6 removed

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

Do you have libiconv installed? If not, please install it, clean openjdk6 and try again.

comment:3 in reply to:  2 Changed 12 years ago by frank@…

The libiconv ver 1.12_2 is already installed. A openjdk6 clean and install had produced the same result.

comment:4 Changed 12 years ago by kiniry@…

I am seeing this same problem on two different Macs. I first witnessed
it two weeks ago when attempting to install OpenJDK6 on my Air while at
a conference. My colleague next to me successfully installed it on his
Powerbook simultaneous with my failure. When I got home I tried a clean
build on my PowerMac and it too failed. libiconv is installed both
twice---once in the core OS and once via MacPorts. This build is
attempting to use the built-in version rather than MacPorts given the
tail of the link that fails reads:

....etc...  -L/usr/local/lib -liconv   
Undefined symbols:
  "_iconv_open", referenced from:
      _convertUft8ToPlatformString in EncodingSupport_md.o
      _convertUft8ToPlatformString in EncodingSupport_md.o
  "_iconv", referenced from:
      _convertUft8ToPlatformString in EncodingSupport_md.o
ld: symbol(s) not found

comment:5 Changed 12 years ago by kiniry@…

Cc: kiniry@… added

Cc Me!

comment:6 Changed 12 years ago by mf2k (Frank Schima)

Cc: landonf@… removed
Owner: changed from macports-tickets@… to landonf@…

comment:7 Changed 12 years ago by tobypeterson

Do you have a version of libiconv installed into /usr/local ?

comment:8 Changed 12 years ago by tobypeterson

Summary: Build failed with error: " Undefined symbols"openjdk6 build failed with error: "Undefined symbols"

comment:9 Changed 12 years ago by frank@…

In /usr/local the libiconv is missing. But there is a bunch of installations on my Macbook:

  • Version 1.12_2 is the name of the corresponding MacPorts but under the ports the version 2.4.0 is installed:

-> /opt/local/var/macports/software/libiconv/1.12_2/opt/local/lib/libiconv.2.4.0.dylib

  • Version 2.2.0 is installed in /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/
  • Version 2.3.0 is installed in /sw/lib/libiconv
  • Version 2.4.0 is installed in /Developer/SDKs/MacOSX10.5.sdk/usr/lib/
  • Version 2.4.0 is installed in /opt/local/lib/
  • Version 2.4.0 is installed in /usr/lib/libiconv
  • Version 2.4.0 is installed in /usr/local/lib/

And a lot of more installations are found in installed applications.

comment:10 in reply to:  7 Changed 12 years ago by kiniry@…

Replying to toby@…:

Do you have a version of libiconv installed into /usr/local ?

Yes.

/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libiconv.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libiconv.dylib
/opt/local/lib/libiconv.dylib
/opt/local/var/macports/software/libiconv/1.12_2/opt/local/lib/libiconv.dylib
/usr/lib/libiconv.dylib
/usr/local/lib/libiconv.dylib

All are labeled 2.4.0:

/Applications/Boxee.app/Contents/Frameworks/libiconv.2.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libiconv.2.2.0.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libiconv.2.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libiconv.2.4.0.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.4.0.dylib
/opt/local/lib/libiconv.2.dylib
/usr/lib/libiconv.2.4.0.dylib
/usr/lib/libiconv.2.dylib
/usr/local/lib/libiconv.2.4.0.dylib
/usr/local/lib/libiconv.2.dylib

The version in /usr/local was used to hand-build EiffelStudio in the past.

Making the /usr/local versions unreadable and performing a port clean --all then a port install results in the same failure.

comment:11 Changed 11 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added

@frank: It is not supported to have anything in /usr/local (or /sw for that matter) while using MacPorts, because software often looks for libraries in those locations which often causes problems. So you should make sure that you remove or rename /usr/local (and /sw), clean the port (sudo port clean openjdk6) and try again.

To both of you: if you still experience the error, please clean the port and try again with debug output enabled (sudo port -d install openjdk6) and attach the full output to this ticket as a file. (You may want to compress it first if it is large.)

comment:12 Changed 8 years ago by landonf (Landon Fuller)

Resolution: wontfix
Status: newclosed

openjdk6 is no longer supported and has been removed from the tree.

Note: See TracTickets for help on using tickets.