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)
Change History (8)
Changed 14 years ago by liampg72@…
comment:1 follow-up: 2 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 exist → gnuplot links with libjpeg.7.dylib which doesn't exist |
comment:2 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 selfupdateto ensure your MacPorts base and your port definitions are current. Then run:
port outdatedto see what ports are outdated. Presumably gnuplot will be listed. Upgrade all of them:
sudo port upgrade outdatedThen 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 follow-up: 4 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 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 foundYou 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 mpfrIn 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: | new → closed |
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:
to ensure your MacPorts base and your port definitions are current. Then run:
to see what ports are outdated. Presumably gnuplot will be listed. Upgrade all of them:
Then hopefully gnuplot will run. Let us know.