Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#35949 closed defect (fixed)

povray @3.6.1_7 Build failure with libpng 1.5

Reported by: murrayeisenberg@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: haspatch Cc: ryandesign (Ryan Carsten Schmidt), dershow, cooljeanius (Eric Gallager)
Port: povray

Description (last modified by ryandesign (Ryan Carsten Schmidt))

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@…, Jeremy Lavergne replied, "That's due to the libpng API change recently; we'll need to update all the packages affected."

Attachments (6)

povray build failure.txt (92.8 KB) - added by murrayeisenberg@… 12 years ago.
povray build log
povray-3.7.0.RC6.diff (2.9 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
patch-boost-1.50.diff (4.2 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
patch-configure-stat.diff (271 bytes) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
patch-lseek64.diff (1.6 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
patch-vfe-uint.diff (563 bytes) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.

Download all attachments as: .zip

Change History (13)

Changed 12 years ago by murrayeisenberg@…

Attachment: povray build failure.txt added

povray build log

comment:1 Changed 12 years ago by bcbarnes@…

the port "grace" is also affected by this libpng change.

comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Description: modified (diff)
Keywords: haspatch added; libpng removed
Summary: povray @3.6.1_7 Build failurepovray @3.6.1_7 Build failure with libpng 1.5

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).

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: povray-3.7.0.RC6.diff added

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: patch-boost-1.50.diff added

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: patch-configure-stat.diff added

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: patch-lseek64.diff added

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: patch-vfe-uint.diff added

comment:3 Changed 12 years ago by dershow

Cc: dersh@… added

Cc Me!

comment:4 Changed 12 years ago by bcbarnes@…

Maybe this should just be committed without feedback since something that builds is better than something that doesn't? I appreciate the work on the patchset, Ryan.

For what it's worth, the solution by homebrew devs was to apply this (macports) patch to force use of internal libpng: browser:trunk/dports/graphics/povray/files/patch-configure?rev=92166

discussion here: https://github.com/mxcl/homebrew/issues/14895

Last edited 12 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:5 in reply to:  4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to bcbarnes@…:

Maybe this should just be committed without feedback since something that builds is better than something that doesn't?

Yes, I think I'll probably do that. I'd rather move forward to the current presumably-soon-to-be-released version than continue to languish with an 8-year-old one.

comment:6 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

comment:7 Changed 12 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

Note: See TracTickets for help on using tickets.