Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 582612 - dev-libs/boost-1.60.0 Unable to load Boost.Build
Summary: dev-libs/boost-1.60.0 Unable to load Boost.Build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: C++ Team [disbanded]
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2016-05-09 22:49 UTC by William Throwe
Modified: 2016-07-12 08:48 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.gz (dev-libs:boost-1.60.0:20160509-214239.log.gz,2.75 KB, application/gzip)
2016-05-09 22:49 UTC, William Throwe
Details
array-options.patch (array-options.patch,2.56 KB, patch)
2016-05-15 22:23 UTC, William Throwe
Details | Diff
array-options.patch (array-options.patch,2.71 KB, patch)
2016-06-12 21:20 UTC, William Throwe
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description William Throwe 2016-05-09 22:49:07 UTC
Created attachment 433802 [details]
build.log.gz

The ebuild uses

OPTIONS+=" --boost-build=\"${EPREFIX}\"/usr/share/boost-build --prefix=\"${ED}usr\""

which inserts literal quotes into the boost-build (and presumably also prefix) paths (since quotes created by expansions are not treated specially by bash).  This causes b2 to look in
/home/supernova/wthrowe/gentoo/var/tmp/portage/dev-libs/boost-1.60.0/work/boost_1_60_0-abi_x86_32.x86/"/home/supernova/wthrowe/gentoo"/usr/share/boost-build , i.e., ${PWD}/\"${EPREFIX}\"/usr/share/boost-build .  It would presumably break worse if EPREFIX contained spaces, which is what this appears to be trying to fix.

If the ebuild needs to do accumulations with spaces it should use an array (preferably) or eval.



$ emerge --info
Portage 2.2.28-prefix (python 2.7.11-final-0, prefix/linux/x86, gcc-5.3.0, unavailable, 2.6.18-406.el5PAE i686)
=================================================================
System uname: Linux-2.6.18-406.el5PAE-i686-Intel-R-_Xeon-R-_CPU_5150_@_2.66GHz-with-redhat-5.11-Tikanga
KiB Mem:     4145592 total,    729416 free
KiB Swap:    3068404 total,   3068256 free
Timestamp of repository gentoo_prefix: Mon, 09 May 2016 21:28:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.24 p1.3) 2.24
ccache version 3.2.5 [disabled]
app-shells/bash:          4.3_p39::gentoo_prefix
dev-lang/perl:            5.22.2::gentoo_prefix
dev-lang/python:          2.7.11::gentoo_prefix, 3.4.3-r5::gentoo_prefix, 3.5.1::gentoo_prefix
dev-util/ccache:          3.2.5::gentoo_prefix
dev-util/cmake:           3.5.2::gentoo_prefix
dev-util/pkgconfig:       0.29.1::gentoo_prefix
sys-devel/autoconf:       2.69::gentoo_prefix
sys-devel/automake:       1.11.6::gentoo_prefix, 1.14.1::gentoo_prefix, 1.15::gentoo_prefix
sys-devel/binutils:       2.24-r2::gentoo_prefix
sys-devel/gcc:            4.8.5::gentoo_prefix, 5.3.0::gentoo_prefix
sys-devel/gcc-config:     1.8-r1::gentoo_prefix
sys-devel/libtool:        2.4.6-r1::gentoo_prefix
sys-devel/make:           4.1-r1::gentoo_prefix
sys-kernel/linux-headers: 4.5::gentoo_prefix (virtual/os-headers)
Repositories:

gentoo_prefix
    location: /home/supernova/wthrowe/gentoo/usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix
    priority: -1000
    aliases: gentoo

gentoo-archive
    location: /home/supernova/wthrowe/gentoo/usr/archive-portage
    masters: gentoo_prefix
    priority: 0

ACCEPT_KEYWORDS="x86-linux ~x86-linux"
ACCEPT_LICENSE="@FREE"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=native -O2 -march=native -mfpmath=sse -mmmx -msse -msse2 -mssse3 -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -march=native -mfpmath=sse -mmmx -msse -msse2 -mssse3 -pipe -ggdb"
DISTDIR="/home/astrosun/wthrowe/tmp/distfiles"
EMERGE_DEFAULT_OPTS="--ask --autounmask-write=n"
FCFLAGS="-march=native -O2 -march=native -mfpmath=sse -mmmx -msse -msse2 -mssse3 -pipe -ggdb"
FEATURES="assume-digests binpkg-logs case-insensitive-fs clean-logs collision-protect compress-build-logs config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news parallel-fetch preserve-libs protect-owned sfperms splitdebug strict unknown-features-warn unmerge-orphans unprivileged userfetch userpriv usersandbox usersync"
FFLAGS="-march=native -O2 -march=native -mfpmath=sse -mmmx -msse -msse2 -mssse3 -pipe -ggdb"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="POSIX"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu"
MAKEOPTS="-j3"
PKGDIR="/home/supernova/wthrowe/gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/home/supernova/wthrowe/gentoo/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/home/supernova/wthrowe/gentoo/var/tmp"
USE="berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 modules ncurses nls nptl openmp pcre prefix prefix-guest readline seccomp session ssl tcpd unicode x86 zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4 python3_5" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 William Throwe 2016-05-15 22:23:38 UTC
Created attachment 434374 [details, diff]
array-options.patch

This ebuild patch changes OPTIONS to a bash array.  The build succeeds with this patch applied.
Comment 2 Fabian Groffen gentoo-dev 2016-05-16 09:52:43 UTC
@cpp team, these changes need your blessings, could you have a look please?
Comment 3 Tiziano Müller (RETIRED) gentoo-dev 2016-05-18 11:15:40 UTC
looks good so far, only two things I would change:

* keep the order of the configuration arguments and options as it was
* put every entry in the array on a separate line
Comment 4 Leho Kraav (:macmaN @lkraav) 2016-05-28 22:34:50 UTC
I can confirm this patch fixed the problem on darwin prefix.
Comment 5 William Throwe 2016-06-12 21:20:49 UTC
Created attachment 437294 [details, diff]
array-options.patch

Sorry for the delay.  Here's a new version of the patch (also applies to 1.61.0).

I've now split all the array entries onto their own lines.  I don't think either version of the patch changed the order of anything, so if you want something changed because of that you'll have to be more specific.
Comment 6 Martin Mokrejš 2016-06-22 12:31:15 UTC
Works also for me on Gentoo:Prefix with 1.61.0.
Comment 7 Jean-Benoist Leger 2016-07-11 20:14:53 UTC
This patch was also necessary for me with dev-libs/boost-1.61.0 with Gentoo Prefix (RAP). And with it, emerging works fine.
Comment 8 Fabian Groffen gentoo-dev 2016-07-12 08:48:33 UTC
pushed per comment #3 (to 1.61).
@dev-zero if this was NOT ok, blame me and undo commit please.