Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 465132 - media-sound/ardour-3.0 MAKEOPTS="... -l10" - waf fails
Summary: media-sound/ardour-3.0 MAKEOPTS="... -l10" - waf fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Normal normal
Assignee: Professional Audio Applications Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-08 16:39 UTC by eipi
Modified: 2013-04-09 06:06 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eipi 2013-04-08 16:39:19 UTC
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.
Comment 1 Andreas Schürch gentoo-dev 2013-04-08 21:39:04 UTC
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...
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2013-04-09 05:25:34 UTC
huh, this seems very wrong. MAKEOPTS handling is already part of the waf-utils.eclass
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2013-04-09 05:27:43 UTC
(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
Comment 4 Andreas Schürch gentoo-dev 2013-04-09 06:06:24 UTC
Thank you Samuli, you are absolutely right!
I removed that line now.