[MacPorts] #32260: libpixman-0.24.0_0+universal.darwin_10.i386-x86_64 - shell command failed
#32260: libpixman-0.24.0_0+universal.darwin_10.i386-x86_64 - shell command failed --------------------------------+------------------------------------------- Reporter: brian@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: | Port: --------------------------------+------------------------------------------- I'm upgrading ports (port upgrade --enforce-variants gtk2 +universal) and I get the following error when it attempts to build libpixman. {{{---> Building libpixman Error: Target org.macports.build returned: shell command failed (see log for details) Log for libpixman is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpixman/libpixman/main.log Error: Unable to upgrade port: 1}}} -- Ticket URL: <https://trac.macports.org/ticket/32260> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: invalid | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Changes (by ryandesign@…): * status: new => closed * cc: brian@… (removed) * cc: ryandesign@… (added) * resolution: => invalid * port: => libpixman Old description:
I'm upgrading ports (port upgrade --enforce-variants gtk2 +universal) and I get the following error when it attempts to build libpixman.
{{{---> Building libpixman Error: Target org.macports.build returned: shell command failed (see log for details) Log for libpixman is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpixman/libpixman/main.log Error: Unable to upgrade port: 1}}}
New description: I'm upgrading ports (port upgrade --enforce-variants gtk2 +universal) and I get the following error when it attempts to build libpixman. {{{ ---> Building libpixman Error: Target org.macports.build returned: shell command failed (see log for details) Log for libpixman is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpixman/libpixman/main.log Error: Unable to upgrade port: 1 }}} -- Comment: Please remember to preview before submitting so you can ensure you got the WikiFormatting right, to fill in the Port field, and to Cc the maintainer of that port. The log says: {{{ :info:build ld: warning: in /opt/local/lib/libpng14.dylib, file was built for unsupported file format which is not the architecture being linked (i386) }}} This means your libpng is not installed universal; reinstall it universal. {{{ sudo port -n upgrade --force libpng +universal }}} If you need further help, write to the macports-users mailing list; there is no bug here. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: macports-tickets@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Changes (by schwern@…): * status: closed => reopened * resolution: invalid => Comment: I ran across this problem on [http://stackoverflow.com/questions/8864477 /problems-with-macports/8864645#8864645 StackOverflow] and came to a different conclusion. libpixman depends on libpng but the port does not declare that dependency. It has [https://trac.macports.org/browser/trunk/dports/graphics/libpixman/Portfile no dependencies]. This is a bug in and of itself. If it were fixed, I presume Macports could then rebuild libpng for 32 bit as needed rather than have the user manually rebuild. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: macports-tickets@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Comment(by schwern@…): Upon further investigation it appears that libpng is an optional dependency of libpixman. libpixman itself will try to use it if it is installed, detected by autoconf. This is a problem as Macports doesn't appear to have a way to declare an optional dependency. This bug breaks automated +universal installs of any of libpixman's dependents, which leads all the way up to gtk2. I can suggest a few of solutions. First is to just declare libpng as a dependency. Lots of stuff already depend on libpng, including cairo and gtk2, and it's pretty small. Second is to include custom code in the libpixman portfile to rebuild libpng if necessary. At this point I wave my hands for lack of knowledge. Finally, the libpixman portfile could pass in an option to configure to disable PNG support if it detects an unsuitable libpng install. This would probably require patching configure. Again, I must wave my hands. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Changes (by ryandesign@…): * cc: ryandesign@… (removed) * cc: schwern@…, gary.verhaegen@… (added) * owner: macports-tickets@… => ryandesign@… * status: reopened => new Comment: Has duplicate #32929. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Changes (by ryandesign@…): * cc: kurtjaeke@… (added) Comment: Has duplicate #33510. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Changes (by ryandesign@…): * cc: jeremyhu@… (added) Comment: Replying to [comment:4 schwern@…]:
Upon further investigation it appears that libpng is an optional dependency of libpixman. libpixman itself will try to use it if it is installed, detected by autoconf. This is a problem as Macports doesn't appear to have a way to declare an optional dependency. This bug breaks automated +universal installs of any of libpixman's dependents
Only if you don't already have libpng installed universal. libpixman appears to use libpng to do some tests at build time, but does not need libpng at runtime time. A developer of libpixman confirmed libpixman will not behave any better at runtime if libpng is there: {{{ On Feb 13, 2012, at 14:36, Søren Sandmann wrote:
libpng is only used in the test and demo programs and doesn't improve pixman itself. }}}
So I would prefer not to add a libpng dependency.
Finally, the libpixman portfile could pass in an option to configure to disable PNG support if it detects an unsuitable libpng install. This would probably require patching configure. Again, I must wave my hands.
Jeremy Huddleston implemented such a configure option, and sent a patch to me and the aforementioned libpixman developer by private email. The developer requested that the discussion be moved to the pixman mailing list, but I don't think that happened; I cannot find a discussion about this in the [http://lists.freedesktop.org/archives/pixman/ pixman mailing list archives] in February or March. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Comment(by ryandesign@…): Jeremy's patch appears to have made it into libpixman after all. In r90566 I updated libpixman-devel to version 0.25.2 which includes it. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32260: libpixman: libpng14.dylib, file was built for unsupported file format which is not the architecture being linked ---------------------------------+------------------------------------------ Reporter: brian@… | Owner: ryandesign@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: fixed | Keywords: Port: libpixman | ---------------------------------+------------------------------------------ Changes (by ryandesign@…): * status: new => closed * resolution: => fixed Comment: In r90567 I added the patch to libpixman. -- Ticket URL: <https://trac.macports.org/ticket/32260#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts