Bug 220784 - graphics/openshadinglanguage: fails to build against boost-libs with C++11 enabled
Summary: graphics/openshadinglanguage: fails to build against boost-libs with C++11 en...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jan Beich
URL: https://github.com/DragonFlyBSD/Delta...
Keywords: patch
Depends on: 222131
Blocks: 220783
  Show dependency treegraph
 
Reported: 2017-07-17 02:04 UTC by Jan Beich
Modified: 2017-09-09 19:47 UTC (History)
1 user (show)

See Also:
FreeBSD: maintainer-feedback+


Attachments
maintainer update for graphics/openshadinglaguage (4.83 KB, patch)
2017-09-08 02:29 UTC, Shane
FreeBSD: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2017-07-17 02:04:56 UTC
src/liboslcomp/liboslcomp.so: undefined reference to `boost::wave::grammars::defined_grammar_gen<boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > > > >::parse_operator_defined(boost::wave::util::unput_queue_iterator<std::__1::__list_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, void*>, boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> > > const&, boost::wave::util::unput_queue_iterator<std::__1::__list_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, void*>, boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> > > const&, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> >&)'
src/liboslcomp/liboslcomp.so: undefined reference to `boost::wave::grammars::defined_grammar_gen<boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > > > >::parse_operator_defined(boost::wave::util::unput_queue_iterator<boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > > >, boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> > > const&, boost::wave::util::unput_queue_iterator<boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > > >, boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> > > const&, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> >&)'
src/liboslcomp/liboslcomp.so: undefined reference to `boost::wave::grammars::cpp_grammar_gen<boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > > >, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> > >::parse_cpp_grammar(boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > > > const&, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > > > const&, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > const&, bool&, boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >&, std::__1::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::__1::allocator<char> >, char*> > > >, boost::default_user_allocator_new_delete, boost::mutex, 32u, 0u> >&)'
c++: error: linker command failed with exit code 1 (use -v to see invocation)

http://sprunge.us/SLGC
Comment 1 Jan Beich freebsd_committer 2017-07-17 07:19:22 UTC
DragonFly has a fix, see URL field.
Comment 2 Shane 2017-09-08 02:29:45 UTC
Created attachment 186156 [details]
maintainer update for graphics/openshadinglaguage

Not sure if this should be a separate report.

The latest version of osl is now 1.8.10 which includes support for llvm40 and builds with C++11 support enabled by default. I would prefer to update to this version instead of an intermediate step just to change llvm dependancy versions. graphics/appleseed will also need a small change submitted in bug #222131

I have tested building this with boost 1.65.0 on 10.3 and 11.1 amd64/i386
Comment 3 commit-hook freebsd_committer 2017-09-09 19:41:00 UTC
A commit references this bug:

Author: jbeich
Date: Sat Sep  9 19:40:10 UTC 2017
New revision: 449507
URL: https://svnweb.freebsd.org/changeset/ports/449507

Log:
  graphics/openshadinglanguage: update to 1.8.10

  - graphics/appleseed isn't compatible yet, so disable OSL by default

  Changes:	https://github.com/imageworks/OpenShadingLanguage/blob/Release-1.8.10/CHANGES.md
  PR:		220784 222131
  Submitted by:	Shane Ambler <FreeBSD@ShaneWare.Biz> (maintainer)

Changes:
  head/graphics/appleseed/Makefile
  head/graphics/blender/Makefile
  head/graphics/openshadinglanguage/Makefile
  head/graphics/openshadinglanguage/distinfo
  head/graphics/openshadinglanguage/files/patch-src_doc_CMakeLists.txt
  head/graphics/openshadinglanguage/pkg-plist
Comment 4 Jan Beich freebsd_committer 2017-09-09 19:47:26 UTC
Thanks. Landed.