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.
Created attachment 589722 [details, diff] files/audacity-2.3.2-fix-build-without-portmixer.patch
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")
(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
(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.
(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.
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
(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.
(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.
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.
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?
*** Bug 708708 has been marked as a duplicate of this bug. ***
(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.
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.)
Created attachment 639736 [details, diff] audacity-2.3.3.ebuild.patch Rebased patch against latest ebuild.
please test 2.4.2-r1 and report back
[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. :)
thanks! :-)