Bug 207061

Summary: graphics/openimageio: update to 1.5.23
Product: Ports & Packages Reporter: Dmitry Marakasov <amdmi3>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Many People CC: FreeBSD, miwi
Priority: --- Flags: bugzilla: maintainer-feedback? (FreeBSD)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 207278    
Bug Blocks: 199601    
Attachments:
Description Flags
Patch
none
openimageio1.6.10 update
none
openshadinglanguage 1.6.9 update none

Description Dmitry Marakasov freebsd_committer freebsd_triage 2016-02-09 15:39:01 UTC
Created attachment 166803 [details]
Patch

- Update to 1.5.23 which also fixes build with recent boost
Comment 1 Martin Wilke freebsd_committer freebsd_triage 2016-02-10 02:28:22 UTC
Submitter is committer.
Comment 2 Shane 2016-02-10 16:31:38 UTC
Created attachment 166836 [details]
openimageio1.6.10 update

I was about to submit this update to 1.6.10

I have just re-tested and it builds with the boost 1.60 update.
Comment 3 Dmitry Marakasov freebsd_committer freebsd_triage 2016-02-13 13:58:10 UTC
The update breaks graphics/openshadinglanguage:

In file included from /wrkdirs/usr/ports/graphics/openshadinglanguage/work/OpenShadingLanguage-Release-1.6.6/src/liboslexec/shadingsys.cpp:38:
/wrkdirs/usr/ports/graphics/openshadinglanguage/work/OpenShadingLanguage-Release-1.6.6/src/liboslexec/oslexec_pvt.h:65:7: error: no member named 'thread_specific_ptr' in namespace 'OpenImageIO::v1_6'; did you mean 'boost::thread_specific_ptr'?
using OIIO::thread_specific_ptr;
      ^~~~~~~~~~~~~~~~~~~~~~~~~
      boost::thread_specific_ptr
/usr/local/include/boost/thread/tss.hpp:31:11: note: 'boost::thread_specific_ptr' declared here
    class thread_specific_ptr
          ^

and graphics/luxrender:

/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_InternFromString'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromFormat'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromString'
/usr/local/lib/libboost_python.so: undefined reference to `PyBytes_Size'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_AsUTF8'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromEncodedObject'
/usr/local/lib/libboost_python.so: undefined reference to `PyBytes_AsString'
/usr/local/lib/libboost_python.so: undefined reference to `PyModule_Create2'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_AsWideChar'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_AsUTF8String'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromStringAndSize'

However luxrender is only broken with boost 1.55, ok with boost 1.60.

Please fix openshadinglanguage, and try to fix luxrender - if there're problem with the latter, whole openimageio update may be synced with boost update.
Comment 4 Dmitry Marakasov freebsd_committer freebsd_triage 2016-02-13 14:13:14 UTC
Also tests fail. Seem to require additional files and dependencies.
Comment 5 Shane 2016-02-16 08:38:45 UTC
Created attachment 167071 [details]
openshadinglanguage 1.6.9 update

The undefined references in luxrender belong to libpython. Adding LDFLAGS= -lpython2.7 to luxrender's Makefile fixes that.

Currently openshadinglanguage is used by graphics/blender and graphics/appleseed, both have OSL options with blender off and appleseed on as default. The next version of blender is due in the next few weeks and only compiles with OSL 1.7. As 1.7 breaks appleseed and 1.6 breaks blender I am planning to update OSL to 1.7.1 in sync with the next blender release. I have notified the appleseed maintainer to give them time to update the port before or in sync with the OSL update.

If the boost update goes in within the next few weeks then OSL could be updated to 1.6.9 to build with boost 1.60 without affecting blender or appleseed. Otherwise the OSL 1.7.1 update will go in before the boost update.
Comment 6 Dmitry Marakasov freebsd_committer freebsd_triage 2016-02-16 19:03:21 UTC
(In reply to FreeBSD from comment #5)

> The undefined references in luxrender belong to libpython. Adding LDFLAGS=
> -lpython2.7 to luxrender's Makefile fixes that.

Um, no. It already links with /usr/local/lib/libpython2.7.so, neither this nor adding -lpython2.7 helps:

cd /wrkdirs/usr/ports/graphics/luxrender/work/luxrender-luxrays-8577ff287efb/samples/benchsimple && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/benchsimple.dir/link.txt --verbose=1
/usr/local/libexec/ccache/c++   -O2 -pipe -fstack-protector -fno-strict-aliasing -Wall -Wno-long-long -msse -fPIC -DNDEBUG   -lpython2.7 -fstack-protector CMakeFiles/benchsimple.dir/benchsimple.cpp.o  -o ../../bin/benchsimple  -L/usr/local/lib  ../../lib/libluxrays.a /usr/local/lib/libpython2.7.so -pthread ../../lib/libluxrays.a /usr/local/lib/libembree.so /usr/local/lib/libboost_thread.so /usr/local/lib/libboost_program_options.so /usr/local/lib/libboost_filesystem.so /usr/local/lib/libboost_serialization.so /usr/local/lib/libboost_iostreams.so /usr/local/lib/libboost_regex.so /usr/local/lib/libboost_system.so /usr/local/lib/libboost_python.so /usr/local/lib/libOpenImageIO.so -Wl,-rpath,/usr/local/lib
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_InternFromString'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromFormat'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromString'
/usr/local/lib/libboost_python.so: undefined reference to `PyBytes_Size'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_AsUTF8'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromEncodedObject'
/usr/local/lib/libboost_python.so: undefined reference to `PyBytes_AsString'
/usr/local/lib/libboost_python.so: undefined reference to `PyModule_Create2'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_AsWideChar'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_AsUTF8String'
/usr/local/lib/libboost_python.so: undefined reference to `PyUnicode_FromStringAndSize'
Comment 7 Shane 2016-02-17 08:05:58 UTC
Adding -lpython2.7 fixed the luxrender build on my system, I can't test within poudriere as I can't get embree to compile. The actual symbol names you list vary from what I get here, but have similar naming.

Either way the undefined references come from libboost_python and the symbols look to be python related. I don't see any reason the openimageio version will effects this.
Comment 8 commit-hook freebsd_committer freebsd_triage 2016-03-04 19:06:31 UTC
A commit references this bug:

Author: amdmi3
Date: Fri Mar  4 19:06:04 UTC 2016
New revision: 410146
URL: https://svnweb.freebsd.org/changeset/ports/410146

Log:
  - Update to 1.6.10

  PR:		207061
  Submitted by:	FreeBSD@ShaneWare.Biz (maintainer)

Changes:
  head/graphics/openimageio/Makefile
  head/graphics/openimageio/distinfo
  head/graphics/openimageio/pkg-plist
Comment 9 commit-hook freebsd_committer freebsd_triage 2016-03-04 19:06:32 UTC
A commit references this bug:

Author: amdmi3
Date: Fri Mar  4 19:06:09 UTC 2016
New revision: 410147
URL: https://svnweb.freebsd.org/changeset/ports/410147

Log:
  - Update to 1.6.9

  PR:		207061
  Submitted by:	FreeBSD@ShaneWare.Biz (maintainer)

Changes:
  head/graphics/openshadinglanguage/Makefile
  head/graphics/openshadinglanguage/distinfo