[MacPorts] #17044: evince wants old libopenjeg
#17044: evince wants old libopenjeg ----------------------------------+----------------------------------------- Reporter: frstan@bellsouth.net | Owner: macports-tickets@lists.macosforge.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Keywords: evince openjpeg lib | Port: evince ----------------------------------+----------------------------------------- evince 2.24.1 wants libopenjeg 2.1.2.0.dylib but current openjeg installs libopenjpeg 2.1.3 " ld: file not found: libopenjpeg-2.1.2.0.dylib collect2: ld returned 1 exit status make[3]: *** [libpdfdocument.la] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2" -- Ticket URL: <http://trac.macports.org/ticket/17044> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: macports-tickets@lists.macosforge.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Comment(by devans@macports.org): You can fix this by just rebuilding evince using something like {{{ sudo port -fn upgrade evince }}} This will uninstall and then reinstall evince linked to the new library. -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: devans@macports.org Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Changes (by devans@macports.org): * owner: macports-tickets@lists.macosforge.org => devans@macports.org * status: new => assigned Comment: Actually, I take that back as I don't see openjpeg as a direct dependency of evince, so it must be a dependency of a dependency of evince. What does {{{ port dependents openjpeg }}} say on your system? I'll take this one and look into it further. -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: devans@macports.org Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Comment(by frstan@bellsouth.net): Replying to [comment:2 devans@…]:
Actually, I take that back as I don't see openjpeg as a direct dependency of evince, so it must be a dependency of a dependency of evince.
What does {{{ port dependents openjpeg }}}
say on your system?
I'll take this one and look into it further.
actually this is a build-time error not a run-time error. Sorry I wasnt clear. macintosh:~ frstan$ port dependents openjpeg gimp-jp2 depends on openjpeg macintosh:~ frstan$ port dependents gimp-jp2 gimp depends on gimp-jp2 macintosh:~ frstan$ port dependents gimp gimp has no dependents also: macintosh:~ frstan$ port contents openjpeg Port openjpeg contains: /opt/local/include/openjpeg.h /opt/local/lib/libopenjpeg-2.1.3.0.dylib /opt/local/lib/libopenjpeg.a /opt/local/lib/libopenjpeg.dylib -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: devans@macports.org Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Comment(by blb@macports.org): Replying to [comment:2 devans@…]:
Actually, I take that back as I don't see openjpeg as a direct dependency of evince, so it must be a dependency of a dependency of evince.
evince does have a dep on jpeg, so perhaps configure, when it sees openjpeg available, uses that instead? -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: devans@macports.org Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Comment(by devans@macports.org): Replying to [comment:4 blb@…]:
Replying to [comment:2 devans@…]:
Actually, I take that back as I don't see openjpeg as a direct dependency of evince, so it must be a dependency of a dependency of evince.
evince does have a dep on jpeg, so perhaps configure, when it sees openjpeg available, uses that instead?
No, that doesn't make sense to me. jpeg is the traditional JPEG 6 library and openjpeg is an implementation of the newer JPEG 2000 file format which is a different thing altogether. As far as I can tell, the only thing that uses openjpeg right now is gimp-jp2 which is a plugin for GIMP (gimp2) which reads and writes images in the JPEG 2000 file format. The port gimp is a metaport. It doesn't do anything itself, only has dependencies on other ports that together make a nice GIMP installation. The error looks like one that is seen when starting GIMP if the gimp-jp is not up to date, that is, was built against the older version of openjpeg. The cure is to update/rebuild gimp-jp2. I can't understand how this can be a build time problem -- that is one that appears when building something. Can you be more detailed in describing the problem? For instance, exactly what command are you executing when you see the problem. Is it a port install or update command? If so, please run the command with the -d option and include the full debugging output that demonstrates the problem. It's possible that your ports aren't up to date. Please {{{ sudo port -d selfupdate port outdated }}} and then run {{{ sudo port upgrade <portname> {{{ for any outdated ports listed. Then try again. Sorry, I'm not being much help here -- more information is needed. -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: devans@macports.org Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Comment(by devans@macports.org): Ok, after poking around a bit here is what I found: 1) Evince depends on poppler 2) Although poppler and/or evince don't explictly name openjpeg as a dependency in their port files, if openjpeg is present, poppler will link it in. For instance poppler provides {{{ /opt/local/lib/libpoppler-glib.4.0.0.dylib }}} and on my system libpoppler-glib.4.0.0.dylib is linked against it {{{ otool -L /opt/local/lib/libpoppler-glib.4.0.0.dylib /opt/local/lib/libpoppler-glib.4.0.0.dylib: /opt/local/lib/libpoppler-glib.4.dylib (compatibility version 5.0.0, current version 5.0.0) /opt/local/lib/libopenjpeg-2.1.2.0.dylib (compatibility version 2.0.0, current version 2.1.2) ..... }}} /opt/local/lib/libopenjpeg-2.1.2.0.dylib was produced by openjpeg-1.3_1 but the current version openjpeg-1.3_2 produces {{{ port contents openjpeg Port openjpeg contains: /opt/local/include/openjpeg.h /opt/local/lib/libopenjpeg-2.1.3.0.dylib <---- /opt/local/lib/libopenjpeg.a /opt/local/lib/libopenjpeg.dylib }}} Hence evince loads /opt/local/lib/libpoppler-glib.4.0.0.dylib which wants to load /opt/local/lib/libopenjpeg-2.1.2.0.dylib but only /opt/local/lib/libopenjpeg-2.1.3.0.dylib is available and it fails. There some things that can be done in these ports to straighten this out but for a quick fix since libopenjpeg-2.1.2.0.dylib and /opt/local/lib/libopenjpeg-2.1.3.0.dylib are ABI compatible you can probably fix your problem by doing this: {{{ cd /opt/local/lib ln -s libopenjpeg-2.1.3.0.dylib libopenjpeg-2.1.2.0.dylib }}} if you can do this and confirm that your problem is solved for now, I will pursue the underlying dependency problems that this has revealed in evince, poppler and openjpeg. -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: devans@macports.org Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Comment(by frstan@bellsouth.net): the unacknowledged dep on poppler was it alright. I did: sudo port -dfun upgrade poppler and then sudo port -dfun upgrade evince completed fine. -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#17044: evince wants old libopenjeg -----------------------------------+---------------------------------------- Reporter: frstan@bellsouth.net | Owner: devans@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: evince openjpeg lib Port: evince | -----------------------------------+---------------------------------------- Changes (by devans@macports.org): * status: assigned => closed * resolution: => fixed Comment: Great, although I think rebuilding poppler would have been enough since the install name for the poppler library has not changed. Have added an explicit dependency on openjpeg in port poppler and incremented the revision number so that current installations of poppler will correctly reference the current openjpeg library. Committed in r41311. -- Ticket URL: <http://trac.macports.org/ticket/17044#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts