Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 726512

Summary: dev-libs/leatherman-1.12.0-r1 : /.../environment.cc: fatal error: boost/.../cenv.hpp: No such file or directory
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Matthew Thode ( prometheanfire ) <prometheanfire>
Status: RESOLVED FIXED    
Severity: normal CC: gentoobugs, lucas.yamanishi, soap, tom_gentoo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 734842    
Attachments: emerge-info.txt
dev-libs:leatherman-1.12.0-r1:20200531-204350.log
emerge-history.txt
environment
etc.portage.tbz2
logs.tbz2
temp.tbz2

Description Toralf Förster gentoo-dev 2020-05-31 20:58:01 UTC
/var/tmp/portage/dev-libs/leatherman-1.12.0-r1/work/leatherman-1.12.0/util/src/environment.cc:2:10: fatal error: boost/nowide/cenv.hpp: No such file or directory
    2 | #include <boost/nowide/cenv.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1-20200527-021953

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-10.1.0 *
clang version 10.0.0 
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/10/bin
/usr/lib/llvm/10
10.0.0
Available Python interpreters, in order of preference:
  [1]   python3.7
  [2]   python3.8 (fallback)
  [3]   python3.6 (fallback)
  [4]   python2.7 (fallback)
Available Ruby profiles:
  [1]   ruby24 (with Rubygems)
  [2]   ruby25 (with Rubygems) *
Available Rust versions:
  [1]   rust-1.43.1 *
The Glorious Glasgow Haskell Compilation System, version 8.0.2

  timestamp(s) of HEAD at this tinderbox image:
/var/db/repos/gentoo	Sun 31 May 2020 08:05:34 PM UTC

emerge -qpvO dev-libs/leatherman
[ebuild  N    ] dev-libs/leatherman-1.12.0-r1  USE="-debug -static-libs -test"
Comment 1 Toralf Förster gentoo-dev 2020-05-31 20:58:04 UTC
Created attachment 642940 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2020-05-31 20:58:06 UTC
Created attachment 642942 [details]
dev-libs:leatherman-1.12.0-r1:20200531-204350.log
Comment 3 Toralf Förster gentoo-dev 2020-05-31 20:58:09 UTC
Created attachment 642944 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2020-05-31 20:58:12 UTC
Created attachment 642946 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2020-05-31 20:58:15 UTC
Created attachment 642948 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2020-05-31 20:58:17 UTC
Created attachment 642950 [details]
logs.tbz2
Comment 7 Toralf Förster gentoo-dev 2020-05-31 20:58:20 UTC
Created attachment 642952 [details]
temp.tbz2
Comment 8 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2020-05-31 21:10:47 UTC
soap, can you confirm that boost/nowide/cenv.hpp is missing from boost-1.73.0?
Comment 9 Fredrik Eriksson 2020-06-14 08:28:39 UTC
I'm also seeing this (on arm64), and yes, it looks like cenv.hpp is missing from boost-1.73.0 (or at least not installed with current ebuild):

# eix -I --format '<installedversions:NAMEVERSION>' dev-libs/boost
dev-libs/boost-1.73.0

# equery f dev-libs/boost | grep nowide/
/usr/include/boost/nowide/args.hpp
/usr/include/boost/nowide/config.hpp
/usr/include/boost/nowide/convert.hpp
/usr/include/boost/nowide/cstdio.hpp
/usr/include/boost/nowide/cstdlib.hpp
/usr/include/boost/nowide/detail
/usr/include/boost/nowide/detail/convert.hpp
/usr/include/boost/nowide/detail/utf.hpp
/usr/include/boost/nowide/filebuf.hpp
/usr/include/boost/nowide/filesystem.hpp
/usr/include/boost/nowide/fstream.hpp
/usr/include/boost/nowide/iostream.hpp
/usr/include/boost/nowide/replacement.hpp
/usr/include/boost/nowide/stackstring.hpp
/usr/include/boost/nowide/utf8_codecvt.hpp
/usr/include/boost/nowide/windows.hpp
Comment 10 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2020-06-14 15:31:10 UTC
I wonder if I should still build the nowide stuff in boost and only install the missing files.  I'm not sure what to do with this half support type of thing that boost is doing.
Comment 11 Thomas Arnett 2020-08-01 04:13:44 UTC
Boost merged cenv.hpp into cstdlib.hpp.

Fedora has a patch for leatherman: https://src.fedoraproject.org/rpms/leatherman/blob/d32134d9f5764503a1fff65cbf26606c4c20d051/f/shared_nowide.patch. Adding it to PATCHES and removing the "nowide" lines from src_prepare fixes the build.
Comment 12 MrSnivvel 2020-08-07 23:58:52 UTC
Seeing this bug with leatherman-1.12.1 also.
Comment 13 Fredrik Eriksson 2020-08-10 11:32:54 UTC
(In reply to Thomas Arnett from comment #11)
> Boost merged cenv.hpp into cstdlib.hpp.
> 
> Fedora has a patch for leatherman:
> https://src.fedoraproject.org/rpms/leatherman/blob/
> d32134d9f5764503a1fff65cbf26606c4c20d051/f/shared_nowide.patch. Adding it to
> PATCHES and removing the "nowide" lines from src_prepare fixes the build.

Following these instructions I got the following error during compile (on arm64):

/var/tmp/portage/dev-libs/leatherman-1.12.0-r1/work/leatherman-1.12.0/util/src/environment.cc: In static member function ‘static int leatherman::util::environment::get_int(const string&, int)’:
/var/tmp/portage/dev-libs/leatherman-1.12.0-r1/work/leatherman-1.12.0/util/src/environment.cc:18:16: error: ‘invalid_argument’ does not name a type
   18 |         catch (invalid_argument&) {
      |                ^~~~~~~~~~~~~~~~

If you manage to get a successful build, could you attach the ebuild and patch in this bug?
Comment 14 Larry the Git Cow gentoo-dev 2020-08-10 14:22:34 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12e5f1d672606e05f94b4f0be48f468106521c8f

commit 12e5f1d672606e05f94b4f0be48f468106521c8f
Author:     Matthew Thode <prometheanfire@gentoo.org>
AuthorDate: 2020-08-10 14:22:09 +0000
Commit:     Matthew Thode <prometheanfire@gentoo.org>
CommitDate: 2020-08-10 14:22:29 +0000

    dev-libs/leatherman: 1.12.1-r1 switch to fedora's nowide patch
    
    Fixes: https://bugs.gentoo.org/726512
    Package-Manager: Portage-3.0.0, Repoman-2.3.23
    Signed-off-by: Matthew Thode <prometheanfire@gentoo.org>

 dev-libs/leatherman/files/shared_nowide.patch   | 107 ++++++++++++++++++++++++
 dev-libs/leatherman/leatherman-1.12.1-r1.ebuild |  60 +++++++++++++
 2 files changed, 167 insertions(+)