Opened 14 years ago

Closed 14 years ago

#25847 closed defect (invalid)

gnuplot links with libjpeg.7.dylib which doesn't exist

Reported by: liampg72@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), vinc17@…
Port: gnuplot, mpfr

Description

Hi,

This problem was first discovered when I tried to run gnuplot and was given this error:

dyld: Library not loaded: /opt/local/lib/libjpeg.7.dylib
  Referenced from: /opt/local/bin/gnuplot
  Reason: image not found
Trace/BPT trap

It appears that many programs use this libjpeg.7 library, yet my system has libjpeg.8 libraries. So I installed jpeg from MacPorts but this also provides libjpeg.8.

I then ran selfupdate and tried to upgrade all outdated ports and nothing appears to work. The debug is attached. It fails when updating mpfr. However, this is not the only port that fails because so many things seem to depend on libjpeg.7 which simply doesn't exist on my system.

Any help would be appreciated.

Cheers,

Liam

Attachments (1)

debug.txt (6.7 KB) - added by liampg72@… 14 years ago.

Download all attachments as: .zip

Change History (8)

Changed 14 years ago by liampg72@…

Attachment: debug.txt added

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added; vinc17@… waqar@… removed
Port: gnuplot added; mpfr removed
Summary: libjpeg.7.dylib doesn't existgnuplot links with libjpeg.7.dylib which doesn't exist

jpeg was updated to version 8 in r64763 and at the same time gnuplot and all other jpeg dependents had their revision increased to let you know you need to rebuild them. Please run:

sudo port selfupdate

to ensure your MacPorts base and your port definitions are current. Then run:

port outdated

to see what ports are outdated. Presumably gnuplot will be listed. Upgrade all of them:

sudo port upgrade outdated

Then hopefully gnuplot will run. Let us know.

comment:2 in reply to:  1 Changed 14 years ago by liampg72@…

Replying to ryandesign@…:

jpeg was updated to version 8 in r64763 and at the same time gnuplot and all other jpeg dependents had their revision increased to let you know you need to rebuild them. Please run:

sudo port selfupdate

to ensure your MacPorts base and your port definitions are current. Then run:

port outdated

to see what ports are outdated. Presumably gnuplot will be listed. Upgrade all of them:

sudo port upgrade outdated

Then hopefully gnuplot will run. Let us know.

The attached text file is the output from sudo port -d upgrade outdated. I have already done everything you said

comment:3 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: vinc17@… added
Port: mpfr added

Sorry, yes, I read the first part of your ticket and got carried away. I see now that you already tried that and ran into this problem while rebuilding mpfr:

dyld: Library not loaded: /opt/local/lib/libjpeg.7.dylib
  Referenced from: /usr/local/lib/libutil.0.dylib
  Reason: image not found

You have a library libutil.0.dylib in /usr/local/lib that is causing problems. Libraries in /usr/local frequently cause problems with MacPorts software, which is why we do not support having anything installed in /usr/local while using MacPorts. Remove /usr/local, or rename it, for example to "/usr/local-off", then clean the affected port and try again.

sudo port clean mpfr

In the future, do not install anything in /usr/local. Use MacPorts to install any software you need.

comment:4 in reply to:  3 Changed 14 years ago by liampg72@…

Replying to ryandesign@…:

Sorry, yes, I read the first part of your ticket and got carried away. I see now that you already tried that and ran into this problem while rebuilding mpfr:

dyld: Library not loaded: /opt/local/lib/libjpeg.7.dylib
  Referenced from: /usr/local/lib/libutil.0.dylib
  Reason: image not found

You have a library libutil.0.dylib in /usr/local/lib that is causing problems. Libraries in /usr/local frequently cause problems with MacPorts software, which is why we do not support having anything installed in /usr/local while using MacPorts. Remove /usr/local, or rename it, for example to "/usr/local-off", then clean the affected port and try again.

sudo port clean mpfr

In the future, do not install anything in /usr/local. Use MacPorts to install any software you need.

I have other software that is not maintained on MacPorts and so installed it there as it seemed logically. This is quite a deep problem then, as now perl has errors with a libutil file it cannot locate.

I may have to re-install every port again it appears.

comment:5 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

You may have to. The problem is that software built using MacPorts (or manually) will often find and use software installed in /usr/local, all on its own; we don't know a good way to prevent this. So after removing /usr/local, you'll have to rebuild any MacPorts port that has inadvertently done so. You may be able to use the restore_ports.tcl script to help you reinstall all ports.

If you use software that is not available or current in MacPorts, please file tickets so we can add or update this software in MacPorts so that you can then use it from there.

comment:6 Changed 14 years ago by liampg72@…

Thank you, I will try your script. I have just begun to do it manually, port by port when I get an error! I never did know about this, I suppose this could be a solution to some problems I have been having compiling my own software.

The software I refer to is mostly specific scientific software designed for linux (often not developed) and I have edited it for my own purpose. A port would be nice, but since few people use the software, it might not be worthwhile.

Thanks again, Liam

comment:7 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.