#35949: povray @3.6.1_7 Build failure with libpng 1.5 ---------------------------------------+------------------------------------ Reporter: murrayeisenberg@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: haspatch | Port: povray ---------------------------------------+------------------------------------ Changes (by ryandesign@…): * cc: ryandesign@… (added) * keywords: libpng => haspatch Old description:
OS X 10.8.1, Xcode 4.4.1 with corresponding command-line tools.
After doing 'port selfupdate' I ran 'port upgrade outdated'. The latter aborted after:
{{{ ---> Attempting to fetch povray-3.6.1_7.darwin_12.x86_64.tbz2 from http://lil.fr.packages.macports.org/povray ---> Fetching distfiles for povray ---> Verifying checksum(s) for povray ---> Extracting povray ---> Applying patches to povray ---> Configuring povray ---> Building povray Error: org.macports.build for port povray returned: command execution failed Please see the log file for port povray for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_povray/povray/main.log Error: Unable to upgrade port: 1 }}}}
In the log, aside from many "deprecated" warnings, the first error listed is:
{{{{:info:build png_pov.cpp:170:19: error: member access into incomplete type 'png_struct' (aka 'png_struct_def') :info:build longjmp(png_ptr->jmpbuf,1); :info:build }}}} ^
There were numerous other errors of the same kind.
In response to a message I posted to macports-users@lists.macosforge.org, Jeremy Lavergne <jeremy@lavergne.gotdns.org> replied, "That's due to the libpng API change recently; we'll need to update all the packages affected."
New description: OS X 10.8.1, Xcode 4.4.1 with corresponding command-line tools. After doing 'port selfupdate' I ran 'port upgrade outdated'. The latter aborted after: {{{ ---> Attempting to fetch povray-3.6.1_7.darwin_12.x86_64.tbz2 from http://lil.fr.packages.macports.org/povray ---> Fetching distfiles for povray ---> Verifying checksum(s) for povray ---> Extracting povray ---> Applying patches to povray ---> Configuring povray ---> Building povray Error: org.macports.build for port povray returned: command execution failed Please see the log file for port povray for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_povray/povray/main.log Error: Unable to upgrade port: 1 }}} In the log, aside from many "deprecated" warnings, the first error listed is: {{{ :info:build png_pov.cpp:170:19: error: member access into incomplete type 'png_struct' (aka 'png_struct_def') :info:build longjmp(png_ptr->jmpbuf,1); :info:build ^ }}} There were numerous other errors of the same kind. In response to a message I posted to macports-users@lists.macosforge.org, Jeremy Lavergne replied, "That's due to the libpng API change recently; we'll need to update all the packages affected." -- Comment: povray 3.6.1 was released in 2004; it's not surprising it's not compatible with libpng 1.5. For other software affected by this incompatibility I've been able to find patches in other distributions to fix it. But for povray what I found is that they instead updated to a release candidate of 3.7.0, and I'm inclined to agree that's a better choice, since 3.6.1 is so old. I'm attaching a patch that updates the port to 3.7.0.RC6, and a few extra patches needed to make this compile. It builds for me on Mountain Lion, but I am not familiar with povray and don't know how to test whether it functions correctly. If there are no objections, I'll commit it, but I would prefer to first have confirmation that it works (from someone familiar with povray). -- Ticket URL: <https://trac.macports.org/ticket/35949#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS