Bug 226008

Summary: devel/boost-jam: Doesn't find toolset(s)
Product: Ports & Packages Reporter: Daniel Engberg <diizzy>
Component: Individual Port(s)Assignee: FreeBSD Office Team <office>
Status: Closed FIXED    
Severity: Affects Some People Keywords: needs-patch
Priority: --- Flags: bugzilla: maintainer-feedback? (office)
Version: Latest   
Hardware: Any   
OS: Any   

Description Daniel Engberg freebsd_committer freebsd_triage 2018-02-18 19:09:56 UTC
Trying to compile libtorrent-daemon (recursive git checkout) ends up failing because no toolset is found. I've tried to setup the environment as textproc/kenlm but it still fails with the same error. On Debian you just need to run 'bjam' and it works so I guess it's some quirk regarding FreeBSD.

setenv BOOST_BUILD_PATH /usr/local/share/boost_build
diizzy@hanekawa:~/libtorrent-bjam/libtorrent-daemon % bjam
CXXFLAGS =
LDFLAGS =
OS = FREEBSD
warning: No toolsets are configured.
warning: Configuring default toolset "gcc".
warning: If the default is wrong, you may not be able to build C++ programs.
warning: Use the "--toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
warn: Unable to construct ./libtorrent-daemon
error: no generators were found for type 'EXE'
error: and the requested properties
error: make sure you've configured the needed tools
See http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
To debug this problem, try the --debug-generators option.

Not setting a BOOST_BUILD_PATH at all results in bjam not finding jam-files at all. Setting clang as toolset doesn't work as boost doesn't know about clang or so it says.

This is on FreeBSD 11.1 and a current version of the ports tree.
Comment 1 Jan Beich freebsd_committer freebsd_triage 2018-02-19 16:45:24 UTC
(In reply to daniel.engberg.lists from comment #0)
> setenv BOOST_BUILD_PATH /usr/local/share/boost_build

No one maintains boost_build, not even upstream. What Debian probably does is install *.jam files from tools/build/ that match installed boost-jam version.
Comment 2 Jan Beich freebsd_committer freebsd_triage 2018-02-19 17:07:30 UTC
Try the following workaround:

  % cd /usr/ports/devel/boost-libs
  % make clean patch BATCH=
  % setenv BOOST_BUILD_PATH `make -V WRKSRC`/tools/build/
  % cd ~/libtorrent-bjam/libtorrent-daemon
  % bjam
Comment 3 Daniel Engberg freebsd_committer freebsd_triage 2018-03-05 15:57:48 UTC
Hi Jan!

Many thanks for the instructions, libtorrent-daemon (https://github.com/arvidn/libtorrent-daemon/) compile unfortunately the code is broken in libtorrent-webui but that's not related to bjam.

Sorry for the late reply

Best regards,
Daniel