Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 694122 - media-sound/audacity-2.3.2 USE=-portmixer - Making all in portmixer // make[2]: *** No rule to make target 'all'. Stop.
Summary: media-sound/audacity-2.3.2 USE=-portmixer - Making all in portmixer // make[2...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Professional Audio Applications Maintainers
URL:
Whiteboard:
Keywords: PATCH
: 708708 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-09-12 03:13 UTC by Matt Whitlock
Modified: 2020-09-20 04:56 UTC (History)
5 users (show)

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


Attachments
audacity-2.3.2.ebuild.patch (audacity-2.3.2.ebuild.patch,902 bytes, patch)
2019-09-12 03:13 UTC, Matt Whitlock
Details | Diff
files/audacity-2.3.2-fix-build-without-portmixer.patch (audacity-2.3.2-fix-build-without-portmixer.patch,750 bytes, patch)
2019-09-12 03:14 UTC, Matt Whitlock
Details | Diff
failing ebuild.log (media-sound:audacity-2.3.2:20190914-145606.log,310.88 KB, text/x-log)
2019-09-14 15:11 UTC, CaptainBlood
Details
ebuild log with modifled patched ebuild for automake:1.16 (patched-audacity-2.3.2-r1-with-automake-1.16.log,707.95 KB, text/x-log)
2019-09-15 17:36 UTC, CaptainBlood
Details
patched audacity-2.3.2-r1.ebuild without automake slot constrain. (audacity-2.3.2-r1.ebuild,3.43 KB, text/plain)
2019-09-15 20:27 UTC, CaptainBlood
Details
audacity-2.3.3.ebuild.patch (audacity-2.3.3.ebuild.patch,792 bytes, patch)
2020-02-13 04:46 UTC, Matt Whitlock
Details | Diff
audacity-2.3.3.ebuild.patch (audacity-2.3.3.ebuild.patch,837 bytes, patch)
2020-05-17 00:54 UTC, Matt Whitlock
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Whitlock 2019-09-12 03:13:19 UTC
Created attachment 589720 [details, diff]
audacity-2.3.2.ebuild.patch

Building media-sound/audacity-2.3.2 with USE="-portmixer" fails with the following output:

Making all in portmixer
make[2]: Entering directory '/var/tmp/portage/media-sound/audacity-2.3.2/work/audacity-Audacity-2.3.2/lib-src/portmixer'
make[2]: *** No rule to make target 'all'.  Stop.
make[2]: Leaving directory '/var/tmp/portage/media-sound/audacity-2.3.2/work/audacity-Audacity-2.3.2/lib-src/portmixer'
make[1]: *** [Makefile:1014: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-sound/audacity-2.3.2/work/audacity-Audacity-2.3.2/lib-src'
make: *** [Makefile:812: all-recursive] Error 1
 * ERROR: media-sound/audacity-2.3.2::gentoo failed (compile phase):
 *   emake failed

This occurs because the 'portmixer' subdirectory is unconditionally added to the SUBDIRS variable of 'lib-src/Makefile.am' despite being conditionally referenced with AC_CONFIG_SUBDIRS in 'configure.ac' (depending on the '--with-portmixer' configure flag).

The attached patch makes the addition of 'portmixer' to SUBDIRS in 'lib-src/Makefile.am' contingent upon the USE_PORTMIXER variable, which is controlled by the '--with-portmixer' configure flag.

I have successfully built media-sound/audacity-2.3.2 both with USE="portmixer" and with USE="-portmixer" after applying the attached ebuild patch.
Comment 1 Matt Whitlock 2019-09-12 03:14:11 UTC
Created attachment 589722 [details, diff]
files/audacity-2.3.2-fix-build-without-portmixer.patch
Comment 2 CaptainBlood 2019-09-14 15:11:24 UTC
Created attachment 589816 [details]
failing ebuild.log

(In reply to Matt Whitlock from comment #1)
> Created attachment 589722 [details, diff] [details, diff]
> files/audacity-2.3.2-fix-build-without-portmixer.patch

Patch fails here.

eix audacity
Installed versions:  2.3.2^t(17:38:35 14/09/2019)(alsa ffmpeg flac id3tag jack ladspa lv2 mad nls portmixer vamp vorbis vst -doc -lame -libav -midi -sbsms -soundtouch -twolame CPU_FLAGS_X86="sse")
Comment 3 Alexander Tsoy 2019-09-14 16:11:24 UTC
(In reply to CaptainBlood from comment #2)
> eix audacity
> Installed versions:  2.3.2^t(17:38:35 14/09/2019)(alsa ffmpeg flac id3tag
> jack ladspa lv2 mad nls portmixer vamp vorbis vst -doc -lame -libav -midi
> -sbsms -soundtouch -twolame CPU_FLAGS_X86="sse")
USE=-lame is also broken. See bug 661290
Comment 4 CaptainBlood 2019-09-14 17:35:41 UTC
(In reply to Alexander Tsoy from comment #3)
> (In reply to CaptainBlood from comment #2)
> > eix audacity
> > Installed versions:  2.3.2^t(17:38:35 14/09/2019)(alsa ffmpeg flac id3tag
> > jack ladspa lv2 mad nls portmixer vamp vorbis vst -doc -lame -libav -midi
> > -sbsms -soundtouch -twolame CPU_FLAGS_X86="sse")
> USE=-lame is also broken. See bug 661290

Thks.

USE=-lame, builds fine here.
Forcing it doesn't solve patched USE=-portmixer.
Comment 5 Matt Whitlock 2019-09-15 13:39:40 UTC
(In reply to CaptainBlood from comment #2)
> Patch fails here.

It looks like you didn't patch the ebuild. You can't just drop audacity-2.3.2-fix-build-without-portmixer.patch into /etc/portage/patches. You need to apply audacity-2.3.2.ebuild.patch. The crucial bit is that you have to run automake after patching lib-src/Makefile.am to regenerate lib-src/Makefile.in. The patched ebuild does this.
Comment 6 CaptainBlood 2019-09-15 17:36:47 UTC
Created attachment 589926 [details]
ebuild log with modifled patched ebuild for automake:1.16

(In reply to Matt Whitlock from comment #5)
> (In reply to CaptainBlood from comment #2)
> > Patch fails here.
> 
> It looks like you didn't patch the ebuild. You can't just drop
> audacity-2.3.2-fix-build-without-portmixer.patch into /etc/portage/patches.
> You need to apply audacity-2.3.2.ebuild.patch. The crucial bit is that you
> have to run automake after patching lib-src/Makefile.am to regenerate
> lib-src/Makefile.in. The patched ebuild does this.

Oops, my bad.
Silly me I didn't check the whole contain of attachments.

Facing a issue still, e.g. automake-1.16-build.log.
Because automake:1.16 here, original patched ebuild failed.
So I removed the :1.15 constraint and edited rhe -1.15 references so:

diff -u audacity-2.3.2.ebuild audacity-2.3.2-r1.ebuild
--- audacity-2.3.2.ebuild	2019-08-28 11:09:53.000000000 +0300
+++ audacity-2.3.2-r1.ebuild	2019-09-15 19:54:16.893983710 +0300
@@ -53,12 +53,14 @@
 BDEPEND="virtual/pkgconfig
 	nls? ( sys-devel/gettext )
 "
+#	!portmixer? ( sys-devel/automake:1.15 )
 
 S="${WORKDIR}/${PN}-${MY_P}"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-2.3.2-fix_building_against_system_portaudio.patch
 	"${FILESDIR}"/${PN}-2.3.2-Fix-building-without-midi.patch
+	"${FILESDIR}"/${PN}-2.3.2-fix-build-without-portmixer.patch
 )
 
 src_prepare() {
@@ -67,6 +69,11 @@
 	use midi || sed -i \
 		-e 's:^\(#define EXPERIMENTAL_MIDI_OUT\):// \1:' \
 		src/Experimental.h || die
+	if ! use portmixer ; then
+		# calling eautoreconf takes ages and is overkill
+		aclocal-1.16 -I m4/ || die
+		automake-1.16 lib-src/Makefile || die
+	fi
 }

for which the ebuild broke.

Please note I didn't downgrade to automake:1.15, fearing to break my whole portage layer.

Could it be automake:1.16 to be the source of the dollowing build error:
fatal error: ../../../images/Cursors.h: No such file or directory

Thks
Comment 7 Matt Whitlock 2019-09-15 18:13:14 UTC
(In reply to CaptainBlood from comment #6)
> Facing a issue still, e.g. automake-1.16-build.log.
> Because automake:1.16 here, original patched ebuild failed.
> So I removed the :1.15 constraint and edited rhe -1.15 references

Audacity uses Automake 1.15. You can't necessarily just use a different version.

> Please note I didn't downgrade to automake:1.15, fearing to break my whole
> portage layer.

You might be new to Gentoo. If so, then welcome!

Automake is slotted. You can have automake:1.15 and automake:1.16 installed concurrently. You won't be downgrading or breaking anything if you install the 1.15 slot alongside the 1.16 slot.

> fatal error: ../../../images/Cursors.h: No such file or directory

That's actually a separate bug. Bug #693412.
Comment 8 CaptainBlood 2019-09-15 20:12:31 UTC
(In reply to Matt Whitlock from comment #7)
> (In reply to CaptainBlood from comment #6)
> > Facing a issue still, e.g. automake-1.16-build.log.
> > Because automake:1.16 here, original patched ebuild failed.
> > So I removed the :1.15 constraint and edited rhe -1.15 references
> 
> Audacity uses Automake 1.15. You can't necessarily just use a different
> version.

Here is from the start, e.g. prior to any attempt to patch audacity.

----------------------------------------
eix -I automake 
[I] sys-devel/automake
     Available versions:  
     (1.4)  [M]1.4_p6-r2
     (1.5)  [M]1.5-r2
     (1.6)  [M]1.6.3-r2
     (1.7)  [M]1.7.9-r3
     (1.8)  [M]1.8.5-r5
     (1.9)  1.9.6-r5^t
     (1.10) 1.10.3-r3^t
     (1.11) 1.11.6-r3^t
     (1.12) 1.12.6-r2^t
     (1.13) 1.13.4-r2^t
     (1.14) 1.14.1-r2^t
     (1.15) 1.15.1-r2^t
     (1.16) ~1.16-r2^t 1.16.1-r1^t
     (9999) **9999*l^t
       {test}
     Installed versions:  1.16.1-r1(1.16)^t(21:11:09 21/08/2019)(-test)

--------------------------------------------
equery depends automake
...
media-sound/audacity-2.3.2-r1 (>=sys-devel/automake-1.16.1:1.16)
                              (>=sys-devel/automake-1.15.1:1.15)

...

> You might be new to Gentoo. If so, then welcome!
Thks. Indeed since 2010 Jan 24 makes me a 9 years old toddler still.
> 
> Automake is slotted. You can have automake:1.15 and automake:1.16 installed
> concurrently. You won't be downgrading or breaking anything if you install
> the 1.15 slot alongside the 1.16 slot.

Seems doable, if required.

> 
> > fatal error: ../../../images/Cursors.h: No such file or directory
> 
> That's actually a separate bug. Bug #693412.
Thks
I've already figured that out.
Here it only get triggered when using your patched ebuild, e.g. for USE=-portmixer.
Comment 9 CaptainBlood 2019-09-15 20:27:59 UTC
Created attachment 589948 [details]
patched audacity-2.3.2-r1.ebuild without automake slot constrain.

Works fine here for:
emerge -vp audacity
[ebuild   R   ~] media-sound/audacity-2.3.2-r1::amd64-local-repo  USE="alsa -doc ffmpeg flac id3tag jack ladspa -lame -libav lv2 mad -midi nls -portmixer -sbsms -soundtouch -twolame vamp vorbis vst" CPU_FLAGS_X86="sse" 0 KiB

Notes:
- Already existing directory /usr/local/portage/media-sound/audacity as dzstination for the attached ebuild.
- https://bugs.gentoo.org/attachment.cgi?id=589722 must be placed in already existing directory /usr/local/portage/media-sound/audacity/files
- https://bugs.gentoo.org/attachment.cgi?id=589718 must be placed in /etc/portage/patches/audacity-2.3.2 directory to handle the build error induced by the patch of the previous line.

Thks to Matt Whitlock for his work.
Comment 10 N. Andrew Walsh 2019-10-29 11:34:20 UTC
I just got an error that audacity-2.3.2 won't build without portaudio support. If this is now a hard dependency (and is this related to this error?) can this be part of the ebuild?
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2020-02-08 12:53:17 UTC
*** Bug 708708 has been marked as a duplicate of this bug. ***
Comment 12 Jeroen Roovers (RETIRED) gentoo-dev 2020-02-09 11:55:46 UTC
*** Bug 708708 has been marked as a duplicate of this bug. ***
Comment 13 Matt Whitlock 2020-02-13 04:45:53 UTC
(In reply to N. Andrew Walsh from comment #10)
> I just got an error that audacity-2.3.2 won't build without portaudio
> support. If this is now a hard dependency (and is this related to this
> error?) can this be part of the ebuild?

media-sound/audacity already forces the use of PortAudio.

Note that PortAudio and PortMixer are different things, and this bug report is about PortMixer.
Comment 14 Matt Whitlock 2020-02-13 04:46:26 UTC
Created attachment 613596 [details, diff]
audacity-2.3.3.ebuild.patch

The bug persists in media-sound/audacity-2.3.3.

The attached ebuild patch corrects the build. (The patch from Bug #693412 is still required.)
Comment 15 Matt Whitlock 2020-05-17 00:54:10 UTC
Created attachment 639736 [details, diff]
audacity-2.3.3.ebuild.patch

Rebased patch against latest ebuild.
Comment 16 Miroslav Šulc gentoo-dev 2020-09-19 11:28:16 UTC
please test 2.4.2-r1 and report back
Comment 17 Matt Whitlock 2020-09-19 19:38:02 UTC
[ebuild   R   ] media-sound/audacity-2.4.2-r1  USE="alsa ffmpeg flac id3tag mad ogg vorbis -doc -jack -ladspa -lv2 -oss -portmidi -portmixer -portsmf -sbsms -twolame -vamp -vst" 

>>> Source compiled.

:)
Comment 18 Miroslav Šulc gentoo-dev 2020-09-20 04:56:44 UTC
thanks! :-)