Ardour:3.0 does not compile due to misinterpretation of MAKEOPTS. Since ardour uses waf instead of make, several MAKEOPTS are meaningless for waf. The ebuild should be changed. Reproducible: Always Steps to Reproduce: 1.emerge ardour:3.0 Actual Results: zeus ~ # emerge -av ardour:3 !!! FEATURES=userfetch is enabled, but os.setgroups is not available. !!! See https://bugs.pypy.org/issue833 for details. These are the packages that would be merged, in order: Calculating dependencies ... done! [ebuild NS ~] media-sound/ardour-3.0:3 [2.8.16:2] USE="curl lv2 nls sse (-altivec) -debug -doc" 7,982 kB Total: 1 package (1 in new slot), Size of downloads: 7,982 kB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) media-sound/ardour-3.0 >>> Failed to emerge media-sound/ardour-3.0, Log file: >>> '/mnt/portage/log/media-sound:ardour-3.0:20130408-163449.log' >>> Jobs: 0 of 1 complete, 1 failed Load avg: 0.94, 0.43, 0.16 * Package: media-sound/ardour-3.0 * Repository: gentoo * Maintainer: proaudio@gentoo.org * USE: curl elibc_glibc kernel_linux lv2 nls sse userland_GNU x86 * FEATURES: ccache distcc sandbox >>> Unpacking source... >>> Unpacking ardour-3.0.tar.bz2 to /var/tmp/portage/media-sound/ardour-3.0/work >>> Source unpacked in /var/tmp/portage/media-sound/ardour-3.0/work >>> Preparing source in /var/tmp/portage/media-sound/ardour-3.0/work/ardour-3.0 ... * Applying ardour-3.0-syslibs.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/media-sound/ardour-3.0/work/ardour-3.0 ... CCFLAGS="-mtune=pentium-m -O2 -pipe -fomit-frame-pointer -msse2 -mmmx -msse -mno-sse3 -mno-ssse3 -mfpmath=sse -ftree-vectorize " LINKFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--sort-common" "/var/tmp/portage/media-sound/ardour-3.0/work/ardour-3.0/waf" --prefix=/usr --libdir=/usr/lib --destdir=/var/tmp/portage/media-sound/ardour-3.0/image/ --prefix=/usr --jobs=5 -l10.0 --lv2 --nls --fpu-optimization configure invalid lock file in /var/tmp/portage/media-sound/ardour-3.0/work/ardour-3.0 waf [commands] [options] Main commands (example: ./waf build -j4) build : executes the build clean : cleans the project configure: configures the project dist : makes a tarball for redistributing the sources distcheck: checks if the project compiles (tarball from 'dist') distclean: removes the build directory install : installs the targets on the system list : lists the targets to execute step : executes tasks in a step-by-step fashion, for debugging uninstall: removes the targets installed update : updates the plugins from the *waflib/extras* directory waf: error: no such option: -l * ERROR: media-sound/ardour-3.0 failed (configure phase): * configure failed * * Call stack: * ebuild.sh, line 93: Called src_configure * environment, line 2612: Called waf-utils_src_configure '--destdir=/var/tmp/portage/media-sound/ardour-3.0/image/' '--prefix=/usr' '--jobs=5' '-l10.0' '--lv2' '--nls' '--fpu-optimization' * environment, line 3231: Called die * The specific snippet of code: * CCFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS}" "${WAF_BINARY}" "--prefix=${EPREFIX}/usr" "${libdir}" "$@" configure || die "configure failed"; * * If you need support, post the output of `emerge --info '=media-sound/ardour-3.0'`, * the complete build log and the output of `emerge -pqv '=media-sound/ardour-3.0'`. * The complete build log is located at '/mnt/portage/log/media-sound:ardour-3.0:20130408-163449.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/media-sound/ardour-3.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/media-sound/ardour-3.0/temp/environment'. * Working directory: '/var/tmp/portage/media-sound/ardour-3.0/work/ardour-3.0' * S: '/var/tmp/portage/media-sound/ardour-3.0/work/ardour-3.0' * * The following package has failed to build or install: * * (media-sound/ardour-3.0::gentoo, ebuild scheduled for merge), Log file: * '/mnt/portage/log/media-sound:ardour-3.0:20130408-163449.log' * zeus ~ # Expected Results: Compile fine.
Thanks for reporting, I made a little change to ignore the load statement in makeopts, when its passed to waf's --jobs. I hope that is fine for you, as waf doesn't seem to know any load argument...
huh, this seems very wrong. MAKEOPTS handling is already part of the waf-utils.eclass
(In reply to comment #2) > huh, this seems very wrong. MAKEOPTS handling is already part of the > waf-utils.eclass I mean, correct thing to do here is to simply drop: --jobs=${MAKEOPTS:2:1} \ which looks too fragile as is, the waf-utils.eclass goes to great lenght to reduce the fragileness using makeopts_jobs from multiprocessing.eclass
Thank you Samuli, you are absolutely right! I removed that line now.