[MacPorts] #20193: jpeg update to 7
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Changes: * Update to 7. * Remove obsolete autotools patches. * Remove droppatch.tar.gz (now in jpeg itself). -- Ticket URL: <http://trac.macports.org/ticket/20193> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Comment(by snc@…): Got a few errors from configure. it seems that ldflags and cppflags aren't always there? Error: Target org.macports.configure returned: can't read "configure.ldflags": no such variable Error: Target org.macports.configure returned: can't read "configure.cppflags": no such variable -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Comment(by blb@…): Replying to [comment:1 snc@…]:
Got a few errors from configure. it seems that ldflags and cppflags aren't always there?
Error: Target org.macports.configure returned: can't read "configure.ldflags": no such variable Error: Target org.macports.configure returned: can't read "configure.cppflags": no such variable
That's a bug with 1.7 where doing something like {{{ configure.ldflags-delete -L${prefix}/lib }}} causes the variable to go away. See #17865 and #20145. -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Changes (by ryandesign@…): * cc: ryandesign@… (added) -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Comment(by mcalhoun@…): In r54369, I committed [http://trac.macports.org/attachment/ticket/20193/jpeg.diff jpeg.diff], which is just [http://trac.macports.org/attachment/ticket/20193/jpeg-7.diff jpeg-7.diff][[BR]] without an unnecessary master_sites and the following; {{{ # See http://trac.macports.org/ticket/17865 and http://trac.macports.org/ticket/20145 # This can be removed when r44901 (http://trac.macports.org/changeset/44901) is released. configure.cppflags-append {} configure.ldflags-append {} }}} Unfortunately, such a change breaks all ports which depend on jpeg. The first error is {{{ dyld: Library not loaded: /opt/local/lib/libjpeg.62.dylib }}} An easy fix is: {{{ post-destroot { ln -s libjpeg.dylib ${destroot}${prefix}/lib/libjpeg.62.dylib } }}} The next problem is that the current version of ${prefix}/lib/libjpeg.7.dylib is 8.0.0 while the old ${prefix}/lib/libjpeg.62.dylib has a compatibility version of 63.0.0.[[BR]] Since 7.0.0 < 63.0.0, an error ensues. jpeg was returned to version 6b in r54372. -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Comment(by ryandesign@…): Replying to [comment:4 mcalhoun@…]:
The first error is dyld: Library not loaded: /opt/local/lib/libjpeg.62.dylib An easy fix is: post-destroot { ln -s libjpeg.dylib ${destroot}${prefix}/lib/libjpeg.62.dylib }
I found [http://www.blender.org/forum/viewtopic.php?t=15333 this page] which implies there are dire consequences of creating such a symlink, but does not say what they are.
The next problem is that the current version of ${prefix}/lib/libjpeg.7.dylib is 8.0.0 while the old ${prefix}/lib/libjpeg.62.dylib has a compatibility version of 63.0.0. Since 7.0.0 < 63.0.0, an error ensues.
Has anyone contacted the developers of libjpeg to see what the heck they were thinking? :) -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Comment(by toby@…): It doesn't matter that 7 is less than 63, it only matters that it's different. Different compatibility version means dyld barfs, there's no lessthan/greaterthan check. The new compatibility version is fine (much more sane), but we will need to bump the revision on every port that depends on jpeg. As far as I can tell, it's API-compatible, but it will still require clients to be rebuilt. -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Comment(by ryandesign@…): Replying to [comment:7 toby@…]:
It doesn't matter that 7 is less than 63, it only matters that it's different. Different compatibility version means dyld barfs, there's no lessthan/greaterthan check.
I was under the impression that that was exactly the point of having a compatibility version -- that a less-than/greater-than check was performed. The Fink project's documentation [http://www.finkproject.org/doc/porting/shared.php#version says it is so]: dyld generates a run-time error and terminates the program unless the loaded library version is equal to or newer than the one used during linking This capability is demonstrably at work in tickets like #20959.
The new compatibility version is fine (much more sane), but we will need to bump the revision on every port that depends on jpeg. As far as I can tell, it's API-compatible, but it will still require clients to be rebuilt.
So, can we do this? Or is there something else preventing the update to jpeg 7? -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 ------------------------------+--------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: jpeg ------------------------------+--------------------------------------------- Comment(by jmr@…): This would be a nice use case for #17473. Either way, we probably can't put off the upgrade forever? -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#20193: jpeg update to 7 -------------------------------+-------------------------------------------- Reporter: nox@… | Owner: waqar@… Type: update | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: jpeg | -------------------------------+-------------------------------------------- Changes (by jmr@…): * cc: jmr@… (added) * status: new => closed * resolution: => fixed Comment: r61377 -- Ticket URL: <http://trac.macports.org/ticket/20193#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts