Opened 9 years ago

Closed 9 years ago

#21488 closed defect (invalid)

cant run gnuplot or xmgrace: incompatible libiconv.2.dylib

Reported by: standley@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Cc:
Port:

Description (last modified by mf2k (Frank Schima))

Just installed xmgrace and gnuplot on macbook pro 10.5.8 but can not run:

 xmgrace
dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /opt/local/lib/libXm.4.dylib
  Reason: Incompatible library version: libXm.4.dylib requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Trace/BPT trap
gnuplot
dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /opt/local/bin/gnuplot
  Reason: Incompatible library version: gnuplot requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Trace/BPT trap

what do I do?

Change History (11)

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

Description: modified (diff)

What version of Xcode are you running?

Try the following:

sudo port selfupdate
sudo port upgrade outdated

comment:2 in reply to:  1 Changed 9 years ago by standley@…

Replying to macsforever2000@…:

What version of Xcode are you running?

Try the following:

sudo port selfupdate
sudo port upgrade outdated

Thanks for your reply.

My version of Xcode is 3.1.2

I did as you recommended above. selfupdate worked but when I executed 'sudo port upgrade outdated' I got an error when openvrml tried to compile, so I uninstalled it, and executed the command again. This time there were no warnings or errors.

But.... when i tried to run gnuplot and xmgrace, I got the same error as before.

comment:3 Changed 9 years ago by mf2k (Frank Schima)

Make sure you cleaned the ports first.

sudo port clean gnuplot
sudo port install gnuplot

What is the output of the following?

port installed libiconv

Also, what port provides xmgrace?

comment:4 Changed 9 years ago by standley@…

OK, I did that.

And,

port installed libiconv
The following ports are currently installed:
  libiconv @1.13_0 (active)

but..

 sudo port install gnuplot
Warning: Skipping upgrade since readline 6.0.000_1 >= readline 6.0.000_1, even though installed variants "" do not match "+darwin". Use 'upgrade --enforce-variants' to switch to the requested variants.
--->  Computing dependencies for gnuplot
--->  Fetching gnuplot
--->  Verifying checksum(s) for gnuplot
--->  Extracting gnuplot
--->  Applying patches to gnuplot
--->  Configuring gnuplot
--->  Building gnuplot
--->  Staging gnuplot into destroot
--->  Installing gnuplot @4.2.5_0+darwin+darwin_9
--->  Deactivating gnuplot @4.2.5_0+darwin_9
--->  Activating gnuplot @4.2.5_0+darwin+darwin_9
--->  Cleaning gnuplot

did not fix the gnuplot problem

35% gnuplot
dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /opt/local/bin/gnuplot
  Reason: Incompatible library version: gnuplot requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Trace/BPT trap


The port that installs xmgrace is called 'grace'

comment:5 Changed 9 years ago by jmroot (Joshua Root)

Does /opt/local/lib/libiconv.2.dylib actually exist, and is it the right architecture? You can get an error like this when the specified library doesn't exist, so instead you get one from the default DYLD_FALLBACK_LIBRARY_PATH (which would be /usr/lib/libiconv.2.dylib here), but it's not a new enough version.

comment:6 in reply to:  5 Changed 9 years ago by standley@…

Replying to jmr@…:

Does /opt/local/lib/libiconv.2.dylib actually exist, and is it the right architecture? You can get an error like this when the specified library doesn't exist, so instead you get one from the default DYLD_FALLBACK_LIBRARY_PATH (which would be /usr/lib/libiconv.2.dylib here), but it's not a new enough version.

It exists.

file /opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.dylib: Mach-O dynamically linked shared library i386

not sure what else to check regarding the architecture...

comment:7 Changed 9 years ago by blb@…

How about

$ otool -L /opt/local/lib/libiconv.2.dylib

comment:8 Changed 9 years ago by standley@…

This gives me:

 otool -L  /opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.dylib:
        /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
        /usr/lib/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 111.1.4)

comment:9 Changed 9 years ago by blb@…

So the MacPorts libiconv is providing 8.0.0, which means you should definitely check for DYLD environment variables:

env |grep -i dyld

comment:10 Changed 9 years ago by standley@…

env | grep -i dyld
DYLD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/lib:/opt/local/include:.

comment:11 Changed 9 years ago by blb@…

Resolution: invalid
Status: newclosed

That would be your problem, you should not be setting that; not to mention /opt/local/include is wrong for a library path as well.

Note: See TracTickets for help on using tickets.