Bug 274901 - audio/audacity: Upgrade to 3.4.1
Summary: audio/audacity: Upgrade to 3.4.1
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Robert Clausecker
URL: https://support.audacityteam.org/addi...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-04 09:24 UTC by Jack
Modified: 2023-11-29 19:49 UTC (History)
5 users (show)

See Also:


Attachments
Patch to upgrade audacity from 3.3.3 to 3.4.0 (92.89 KB, patch)
2023-11-04 09:24 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Patch to upgrade audacity to 3.4.0 (94.41 KB, patch)
2023-11-05 10:29 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Updated patch to upgrade to audacity-3.4.0 (91.63 KB, patch)
2023-11-06 04:03 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Upgrade audacity to 3.4.0 (92.80 KB, patch)
2023-11-06 06:13 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
audacity-3.4.0.log (amd64 FreeBSD 13.2) (622.76 KB, text/plain)
2023-11-06 18:33 UTC, Robert Clausecker
no flags Details
Upgrade to audacity 3.4.1 (185.75 KB, patch)
2023-11-09 20:23 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
build in poudriere 13.2 amd64 log (640.92 KB, text/plain)
2023-11-12 21:26 UTC, Vladimir Druzenko
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jack 2023-11-04 09:24:12 UTC
Created attachment 246099 [details]
Patch to upgrade audacity from 3.3.3 to 3.4.0

Patch to upgrade audacity from 3.3.3 to 3.4.0
Comment 1 Robert Clausecker freebsd_committer freebsd_triage 2023-11-04 18:34:16 UTC
Please submit future patches ideally as git commits formatted with "git format-patch" against the ports tree.  Failing that, submit diffs against the base of the ports tree.  This makes it easier to apply them.
Comment 2 Jack 2023-11-04 20:51:26 UTC
(In reply to Robert Clausecker from comment #1)
Ok, will try that in the future. From past experience, my git diff keeps making ^Ms so I stopped doing that.
Comment 3 Robert Clausecker freebsd_committer freebsd_triage 2023-11-04 21:08:08 UTC
Are you working on Windows by chance?  That's usually what causes this sort of problem.

I recommend producing the patch on the FreeBSD system, then transferring it as a binary file with a file transfer tool (do not copy/paste by clipboard, do not transfer as text).
Comment 4 Jack 2023-11-04 21:39:04 UTC
(In reply to Robert Clausecker from comment #3)
The patch is always created on FreeBSD but sometimes I'm on my windows laptop and having to ftp it from the FreeBSD machine to create the bug on the website. I'll try creating a git diff a little later on the FreeBSD machine and then ftp it to the windows laptop, upload as an additional patch and see if those ^Ms appear or not.
Comment 5 Robert Clausecker freebsd_committer freebsd_triage 2023-11-04 23:23:23 UTC
If you use FTP, make sure to transfer in binary mode, not text mode.  This prevents the FTP daemon from adding CR characters to the file.

That said, build fails on i386, please check if you can fix this:

/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-3.4.0/libraries/lib-utility/TypeList.cpp:123:1: error: static_assert failed due to requirement 'is_base_of_v<std::is_integral<double>, TypeList::Every<TypeList::Fn<is_integral>, TypeList::List<int, double>>>'
static_assert(is_base_of_v<is_integral<double>,
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Comment 6 Robert Clausecker freebsd_committer freebsd_triage 2023-11-05 00:37:41 UTC
Build also fails on amd64 for the same reason.  Please fix and resubmit.
Comment 7 Jack 2023-11-05 09:54:37 UTC
It seems my tree wasn't clean and some patches were missed. Let me re-make the patches and try to make it with git format-patch
Comment 8 Jack 2023-11-05 10:29:14 UTC
Created attachment 246137 [details]
Patch to upgrade audacity to 3.4.0

Here is a git-format patch version with previous missing patches included.
Comment 9 Robert Clausecker freebsd_committer freebsd_triage 2023-11-05 17:08:50 UTC
Thank you.

Reading the patch again, it looks like there's a bit wrong with the plist.

 - the MANUAL option seems to be ignored; the manual is now always included
   it seems.  Either make the MANUAL option work or remove it.
 - lib/audacity/lib-ffmpeg-support.so is now installed even if FFMPEG is
   disabled.  Have you checked if that is correct?

Another build test reveals that the build still fails with the same issue (here tested on armv7 FreeBSD 13.2):

/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-3.4.0/libraries/lib-utility/TypeList.cpp:123:1: error: static_
assert failed due to requirement 'is_base_of_v<std::is_integral<double>, TypeList::Every<TypeList::Fn<std::is_integral>
, TypeList::List<int, double>>>'                                                                                       
static_assert(is_base_of_v<is_integral<double>,
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

So it doesn't looks like your new patch fixed whatever is wrong.
Comment 10 Jack 2023-11-06 04:03:40 UTC
Created attachment 246147 [details]
Updated patch to upgrade to audacity-3.4.0

Fixed FFMPEG and MANUAL in pkg-plist.

I don't have an arm machine to fix that error but upstream says that line can be commented out. I can't confirm that, can you help me test to see if that fixes it? Otherwise, can you see if it successfully compiles on amd64/i386 with latest patch? If arm still doesn't compile, perhaps we should mark it broken for now?
Comment 11 Robert Clausecker freebsd_committer freebsd_triage 2023-11-06 04:35:17 UTC
(In reply to Jack from comment #10)

The error also occurs on amd64 and i386, it's not specific to ARM.

Removing the assertion indeed fixes the error.  If upstream thinks it's alright, I'll add it in.

Fixing that issue, the build now fails here:

In file included from /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-3.4.0/libraries/lib-track/Track.h:28:   /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-3.4.0/libraries/lib-utility/TypeSwitch.h:207:59: error: no member named 'SetUsed' in 'std::integral_constant<bool, true>'                                                                  return std::integral_constant<unsigned, (Executors::SetUsed | ...)>{};

I wonder how you got that to build.  It fails on any architecture and OS version I tried so far.  Did you perhaps specify non-default options?  Did you try building in Poudriere?
Comment 12 Jack 2023-11-06 04:46:33 UTC
Hmm. I'm currently using the port and doing a make on FreeBSD 14-STABLE. It sounds like maybe it's failing on 13? I'll start up my 13.1 machine and see if it builds there. I didn't use podriere, still haven't figured out how to set that up yet. Are you able to build on 14.0 while I test 13.1?
Comment 13 Robert Clausecker freebsd_committer freebsd_triage 2023-11-06 05:00:05 UTC
(In reply to Jack from comment #12)

I don't run 14.0 on my build boxes yet, but I'll and see if I can get it tested on a different 14.0-RC3 box.
Comment 14 Jack 2023-11-06 05:56:36 UTC
I just tried building on 13.2-STABLE and builds fine but I did notice that the patch uploaded is incorrect. Still not used to using this git format-patch to create the patches. Will upload a new one again shortly but still a mystery one why it's not building for you. Hopefully my next patch will help.
Comment 15 Robert Clausecker freebsd_committer freebsd_triage 2023-11-06 06:12:35 UTC
(In reply to Jack from comment #14)

Hi Jack,

The patch generated with git-format-patch contains exactly what you committed.  So if it's wrong, you perhaps to include some files in the commit.  Will test your updated patch tomorrow.

Unfortunately I can't test on 14.0 due to a dependency conflict.
Comment 16 Jack 2023-11-06 06:13:52 UTC
Created attachment 246149 [details]
Upgrade audacity to 3.4.0

Upgrade audacity to 3.4.0

lv2 is no longer optional
Fix plist knob files
Set audacity build version to release
Comment 17 Jack 2023-11-06 06:15:58 UTC
(In reply to Robert Clausecker from comment #15)
I figured out my issue, I was tyring to use the patch command instead of git apply. New patch uploaded. I can't reproduce the error you're getting on 13.2-STABLE or 14.0-STABLE.

When you run into the failure, can you share the full build log? Thanks.
Comment 18 Robert Clausecker freebsd_committer freebsd_triage 2023-11-06 18:33:01 UTC
Created attachment 246167 [details]
audacity-3.4.0.log (amd64 FreeBSD 13.2)

Please find attached a sample build log from amd64 FreeBSD 13.2.  It's based on the state you sent me in attachment #246149 [details] without any extra changes.
Comment 19 Jack 2023-11-06 20:04:53 UTC
I tried forcing llvm 14.0.6 (current version in ports) and 13.0.1 to build on 13.2-STABLE and 14.0-STABLE and can't reproduce. Sounds like I'm going to need to set up a 13.2-RELEASE machine to try and get this error.
Comment 20 Jack 2023-11-09 20:23:44 UTC
Created attachment 246221 [details]
Upgrade to audacity 3.4.1

Patch to upgrade audacity to 3.4.1

Can you please help me test this new upstream version with some fixes to some compilation errors. I created a regular patch since the PC I was creating patches with is unavailable at the moment.
Comment 21 Robert Clausecker freebsd_committer freebsd_triage 2023-11-09 23:09:28 UTC
(In reply to Jack from comment #20)

The patch contains as a file the previous patch.  I'll not add that file.

Currently conduction some initial build tests.
Comment 22 Jack 2023-11-09 23:11:04 UTC
(In reply to Robert Clausecker from comment #21)
I thought it looked a bit large... Yes, don't include. Hope it compiles successfully.
Comment 23 Robert Clausecker freebsd_committer freebsd_triage 2023-11-10 00:13:51 UTC
The build still fails (on arm64 FreeBSD 13.2).  Same reason as before:

FAILED: libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o 
/usr/local/bin/ccache /usr/local/libexec/ccache/c++ -DEXPERIMENTAL_CRASH_REPORT -DEXPERIMENTAL_DRAGGABLE_PLAY_HEAD -DEXPERIMENTAL_FULL_WASAPI -DEXPERIMENTAL_HALF_WAVE -DEXPERIMENTAL_KEY_VIEW -DEXPERIMENTAL_MIDI_OUT -DEXPERIMENTAL_MODULE_PREFS -DEXPERIMENTAL_NOISE_REDUCTION -DEXPERIMENTAL_NOTETRACK_OVERLAY -DEXPERIMENTAL_NYQUIST_SPLIT_CONTROL -DEXPERIMENTAL_PUNCH_AND_ROLL -DEXPERIMENTAL_SCIENCE_FILTERS -DEXPERIMENTAL_SCROLLING_LIMITS -DEXPERIMENTAL_SCRUBBING_SCROLL_WHEEL -DEXPERIMENTAL_SCRUBBING_SUPPORT -DEXPERIMENTAL_SPECTRAL_EDITING -DEXPERIMENTAL_THEMING -DEXPERIMENTAL_TWO_TONE_TIME_RULER -DEXPERIMENTAL_ZOOM_TOGGLE_BUTTON -DUTILITY_API="" -D_WX_APP_H_BASE_ -D_WX_BRUSH_H_BASE_ -D_WX_COLOUR_H_BASE_ -D_WX_EVTLOOP_H_ -D_WX_IMAGE_H -D_WX_PEN_H_BASE_ -Dlib_utility_EXPORTS -DwxUSE_GUI=0 -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++17 -fPIC -include /wrkdirs/usr/ports/audio/audacity/work/.build/src/private/configunix.h -DAUDACITY_VERSION=3 -DAUDACITY_RELEASE=4 -DAUDACITY_REVISION=1 -DAUDACITY_MODLEVEL=0 -DAUDACITY_VERSION_STRING=L\"3.4.1\" -DAUDACITY_FILE_VERSION=L\"3,4,1,0\" -Dsafenew=new -Wno-underaligned-exception-object -Werror=return-type -Werror=dangling-else -Werror=return-stack-address -Werror=defaulted-function-deleted -DWXINTL_NO_GETTEXT_MACRO -U_DEBUG -DIS_RELEASE -MD -MT libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o -MF libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o.d -o libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o -c /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility/TypeList.cpp
/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility/TypeList.cpp:123:1: error: static_assert failed due to requirement 'is_base_of_v<std::is_integral<double>, TypeList::Every<TypeList::Fn<std::is_integral>, TypeList::List<int, double>>>'
static_assert(is_base_of_v<is_integral<double>,
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Please check and resubmit.
Comment 24 Jack 2023-11-10 00:15:15 UTC
That is so bizzare. Still need to set up a 13.2-RELEASE machine to try and reproduce this.
Comment 25 Robert Clausecker freebsd_committer freebsd_triage 2023-11-10 00:18:05 UTC
(In reply to Jack from comment #24)

If you run 14.0-RC3 or similar, you can use Poudriere to generate a 13.2 jail to test in.
Comment 26 commit-hook freebsd_committer freebsd_triage 2023-11-12 04:30:32 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=664adaa94e40b46cba56505bb9d0161fee0e7277

commit 664adaa94e40b46cba56505bb9d0161fee0e7277
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2023-11-09 23:06:37 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-11-12 01:36:26 +0000

    audio/audacity: update to 3.4.1

    PR:             274901

 audio/audacity/Makefile  |   45 +-
 audio/audacity/distinfo  |    8 +-
 audio/audacity/pkg-plist | 1432 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 1454 insertions(+), 31 deletions(-)
Comment 27 Robert Clausecker freebsd_committer freebsd_triage 2023-11-12 04:33:05 UTC
Oops... I accidentally forgot to remove this commit from my tree when I pushed.  Would you like me to revert the update until you managed to fix the port?  Alternatively, you could also check if you can get the port fixed and submit another patch for that (use this same bug report).
Comment 28 Jack 2023-11-12 04:36:07 UTC
Maybe let's keep it in the tree and see if people experience bugs with it. Maybe someone is able to reproduce and suggest a fix if I don't fix it first. Thanks.
Comment 29 Robert Clausecker freebsd_committer freebsd_triage 2023-11-12 05:07:08 UTC
Ok.  As the maintainier, you'll receive fallout emails if the port doesn't build.
Comment 30 Vladimir Druzenko freebsd_committer freebsd_triage 2023-11-12 08:48:48 UTC
13.2 amd64:

[ 22% 264/1140] /usr/bin/c++ -DEXPERIMENTAL_CRASH_REPORT -DEXPERIMENTAL_DRAGGABLE_PLAY_HEAD -DEXPERIMENTAL_FULL_WASAPI -DEXPERIMENTAL_HALF_WAVE -DEXPERIMENTAL_KEY_VIEW -DEXPERIMENTAL_MIDI_OUT -DEXPERIMENTAL_MODULE_PREFS -DEXPERIMENTAL_NOISE_REDUCTION -DEXPERIMENTAL_NOTETRACK_OVERLAY -DEXPERIMENTAL_NYQUIST_SPLIT_CONTROL -DEXPERIMENTAL_PUNCH_AND_ROLL -DEXPERIMENTAL_SCIENCE_FILTERS -DEXPERIMENTAL_SCROLLING_LIMITS -DEXPERIMENTAL_SCRUBBING_SCROLL_WHEEL -DEXPERIMENTAL_SCRUBBING_SUPPORT -DEXPERIMENTAL_SPECTRAL_EDITING -DEXPERIMENTAL_THEMING -DEXPERIMENTAL_TWO_TONE_TIME_RULER -DEXPERIMENTAL_ZOOM_TOGGLE_BUTTON -DUTILITY_API="" -D_WX_APP_H_BASE_ -D_WX_BRUSH_H_BASE_ -D_WX_COLOUR_H_BASE_ -D_WX_EVTLOOP_H_ -D_WX_IMAGE_H -D_WX_PEN_H_BASE_ -Dlib_utility_EXPORTS -DwxUSE_GUI=0 -I/tmp/work/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility -O2 -pipe -march=core2 -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -march=core2 -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++17 -fPIC -include /tmp/work/usr/ports/audio/audacity/work/.build/src/private/configunix.h -DAUDACITY_VERSION=3 -DAUDACITY_RELEASE=4 -DAUDACITY_REVISION=1 -DAUDACITY_MODLEVEL=0 -DAUDACITY_VERSION_STRING=L\"3.4.1\" -DAUDACITY_FILE_VERSION=L\"3,4,1,0\" -Dsafenew=new -Wno-underaligned-exception-object -Werror=return-type -Werror=dangling-else -Werror=return-stack-address -Werror=defaulted-function-deleted -DWXINTL_NO_GETTEXT_MACRO -U_DEBUG -DIS_RELEASE -MD -MT libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o -MF libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o.d -o libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o -c /tmp/work/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility/TypeList.cpp
FAILED: libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o 
/usr/bin/c++ -DEXPERIMENTAL_CRASH_REPORT -DEXPERIMENTAL_DRAGGABLE_PLAY_HEAD -DEXPERIMENTAL_FULL_WASAPI -DEXPERIMENTAL_HALF_WAVE -DEXPERIMENTAL_KEY_VIEW -DEXPERIMENTAL_MIDI_OUT -DEXPERIMENTAL_MODULE_PREFS -DEXPERIMENTAL_NOISE_REDUCTION -DEXPERIMENTAL_NOTETRACK_OVERLAY -DEXPERIMENTAL_NYQUIST_SPLIT_CONTROL -DEXPERIMENTAL_PUNCH_AND_ROLL -DEXPERIMENTAL_SCIENCE_FILTERS -DEXPERIMENTAL_SCROLLING_LIMITS -DEXPERIMENTAL_SCRUBBING_SCROLL_WHEEL -DEXPERIMENTAL_SCRUBBING_SUPPORT -DEXPERIMENTAL_SPECTRAL_EDITING -DEXPERIMENTAL_THEMING -DEXPERIMENTAL_TWO_TONE_TIME_RULER -DEXPERIMENTAL_ZOOM_TOGGLE_BUTTON -DUTILITY_API="" -D_WX_APP_H_BASE_ -D_WX_BRUSH_H_BASE_ -D_WX_COLOUR_H_BASE_ -D_WX_EVTLOOP_H_ -D_WX_IMAGE_H -D_WX_PEN_H_BASE_ -Dlib_utility_EXPORTS -DwxUSE_GUI=0 -I/tmp/work/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility -O2 -pipe -march=core2 -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -march=core2 -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++17 -fPIC -include /tmp/work/usr/ports/audio/audacity/work/.build/src/private/configunix.h -DAUDACITY_VERSION=3 -DAUDACITY_RELEASE=4 -DAUDACITY_REVISION=1 -DAUDACITY_MODLEVEL=0 -DAUDACITY_VERSION_STRING=L\"3.4.1\" -DAUDACITY_FILE_VERSION=L\"3,4,1,0\" -Dsafenew=new -Wno-underaligned-exception-object -Werror=return-type -Werror=dangling-else -Werror=return-stack-address -Werror=defaulted-function-deleted -DWXINTL_NO_GETTEXT_MACRO -U_DEBUG -DIS_RELEASE -MD -MT libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o -MF libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o.d -o libraries/lib-utility/CMakeFiles/lib-utility.dir/TypeList.cpp.o -c /tmp/work/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility/TypeList.cpp
/tmp/work/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility/TypeList.cpp:123:1: error: static_assert failed due to requirement 'is_base_of_v<std::is_integral<double>, TypeList::Every<TypeList::Fn<std::is_integral>, TypeList::List<int, double>>>'
static_assert(is_base_of_v<is_integral<double>,
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Comment 31 Robert Clausecker freebsd_committer freebsd_triage 2023-11-12 09:30:22 UTC
(In reply to Vladimir Druzenko from comment #30)

Yes, already noticed.  See discussion above.
Comment 32 Vladimir Druzenko freebsd_committer freebsd_triage 2023-11-12 10:35:02 UTC
(In reply to Robert Clausecker from comment #31)
> Yes, already noticed.  See discussion above.
I read the thread before add the comment.

It was answer on:
> Maybe let's keep it in the tree and see if people experience bugs with it. Maybe someone is able to reproduce
I'm "experience bugs with it" and "able to reproduce".
Comment 33 Jack 2023-11-12 11:21:02 UTC
I'll be installing a fresh 13.2-RELEASE this week, can you share the log also so I can see what versions of the compiler/libs detected also?
Comment 34 Chad Jacob Milios 2023-11-12 12:09:34 UTC
(In reply to Vladimir Druzenko from comment #32)

> I'm "experience bugs with it" and "able to reproduce".


LOL. +1 same error as discussed in libraries/lib-utility/TypeList.cpp on FreeBSD 13.2-RELEASE-p5 releng/13.2-n254643-3a088f485f74 NUOS amd64
Comment 35 Chad Jacob Milios 2023-11-12 12:40:46 UTC
(In reply to Chad Jacob Milios from comment #34)

Can confirm that commenting out lines 123-124 in ${WRKSRC}/libraries/lib-utility/TypeList.cpp indeed leads to "progress" resulting in error previously discussed in libraries/lib-utility/TypeSwitch.h from libraries/lib-effects/PerTrackEffect.cpp

I have default OPTIONS, btw and a non-clean non-Poudriere build environment (this mornings ports tree on system with 2600+ installed ports). I can retry in a clean environment tonight if this isn't already resolved by then

FAILED: libraries/lib-effects/CMakeFiles/lib-effects.dir/PerTrackEffect.cpp.o 
/usr/bin/c++ -DAUDIO_DEVICES_API="" -DAUDIO_GRAPH_API="" -DBASIC_UI_API="" -DCHANNEL_API="" -DCOMMAND_PARAMETERS_API="" -DCOMPONENTS_API="" -DEFFECTS_API="" -DEXCEPTIONS_API="" -DEXPERIMENTAL_CRASH_REPORT -DEXPERIMENTAL_DRAGGABLE_PLAY_HEAD -DEXPERIMENTAL_FULL_WASAPI -DEXPERIMENTAL_HALF_WAVE -DEXPERIMENTAL_KEY_VIEW -DEXPERIMENTAL_MIDI_OUT -DEXPERIMENTAL_MODULE_PREFS -DEXPERIMENTAL_NOISE_REDUCTION -DEXPERIMENTAL_NOTETRACK_OVERLAY -DEXPERIMENTAL_NYQUIST_SPLIT_CONTROL -DEXPERIMENTAL_PUNCH_AND_ROLL -DEXPERIMENTAL_SCIENCE_FILTERS -DEXPERIMENTAL_SCROLLING_LIMITS -DEXPERIMENTAL_SCRUBBING_SCROLL_WHEEL -DEXPERIMENTAL_SCRUBBING_SUPPORT -DEXPERIMENTAL_SPECTRAL_EDITING -DEXPERIMENTAL_THEMING -DEXPERIMENTAL_TWO_TONE_TIME_RULER -DEXPERIMENTAL_ZOOM_TOGGLE_BUTTON -DFILES_API="" -DIPC_API="" -DMATH_API="" -DMIXER_API="" -DMODULE_MANAGER_API="" -DNUMERIC_FORMATS_API="" -DPLAYABLE_TRACK_API="" -DPREFERENCES_API="" -DPROJECT_API="" -DPROJECT_HISTORY_API="" -DPROJECT_RATE_API="" -DREALTIME_EFFECTS_API="" -DREGISTRIES_API="" -DSAMPLE_TRACK_API="" -DSCREEN_GEOMETRY_API="" -DSTRETCHING_SEQUENCE_API="" -DSTRINGS_API="" -DSTRING_UTILS_API="" -DTIME_AND_PITCH_API="" -DTIME_FREQUENCY_SELECTION_API="" -DTRACK_API="" -DTRACK_SELECTION_API="" -DTRANSACTIONS_API="" -DUSE_PORTMIXER=1 -DUTILITY_API="" -DWAVE_TRACK_API="" -DWXUSINGDLL -DXML_API="" -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_WX_APP_H_BASE_ -D_WX_BRUSH_H_BASE_ -D_WX_COLOUR_H_BASE_ -D_WX_EVTLOOP_H_ -D_WX_IMAGE_H -D_WX_PEN_H_BASE_ -D__WXGTK__ -Dlib_effects_EXPORTS -DwxUSE_GUI=0 -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-effects -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-command-parameters -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-preferences -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-basic-ui -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-strings -I/usr/local/lib/wx/include/gtk3-unicode-3.2 -I/usr/local/include/wx-3.2 -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-components -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-numeric-formats -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-math -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-project-rate -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-project -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-registries -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-exceptions -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-xml -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-files -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-string-utils -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-audio-devices -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/lib-src/portmixer/include -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-realtime-effects -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-channel -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-module-manager -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-ipc -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-project-history -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-transactions -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-stretching-sequence -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-time-and-pitch -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-mixer -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-audio-graph -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-wave-track -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-sample-track -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-playable-track -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-track -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-track-selection -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-time-frequency-selection -I/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-screen-geometry -isystem /usr/local/include -O2 -pipe -march=opteron-sse3 -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -march=opteron-sse3 -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++17 -fPIC -include /usr/ports/audio/audacity/work/.build/src/private/configunix.h -DAUDACITY_VERSION=3 -DAUDACITY_RELEASE=4 -DAUDACITY_REVISION=1 -DAUDACITY_MODLEVEL=0 -DAUDACITY_VERSION_STRING=L\"3.4.1\" -DAUDACITY_FILE_VERSION=L\"3,4,1,0\" -Dsafenew=new -Wno-underaligned-exception-object -Werror=return-type -Werror=dangling-else -Werror=return-stack-address -Werror=defaulted-function-deleted -DWXINTL_NO_GETTEXT_MACRO -U_DEBUG -DIS_RELEASE -pthread -MD -MT libraries/lib-effects/CMakeFiles/lib-effects.dir/PerTrackEffect.cpp.o -MF libraries/lib-effects/CMakeFiles/lib-effects.dir/PerTrackEffect.cpp.o.d -o libraries/lib-effects/CMakeFiles/lib-effects.dir/PerTrackEffect.cpp.o -c /usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-effects/PerTrackEffect.cpp
In file included from /usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-effects/PerTrackEffect.cpp:27:
In file included from /usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-track-selection/SyncLock.h:15:
In file included from /usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-track/Track.h:28:
/usr/ports/audio/audacity/work/audacity-Audacity-3.4.1/libraries/lib-utility/TypeSwitch.h:207:59: error: no member named 'SetUsed' in 'std::integral_constant<bool, true>'
      return std::integral_constant<unsigned, (Executors::SetUsed | ...)>{};
                                                          ^
Comment 36 Vladimir Druzenko freebsd_committer freebsd_triage 2023-11-12 21:26:39 UTC
Created attachment 246261 [details]
build in poudriere 13.2 amd64 log
Comment 37 Jack 2023-11-13 10:23:56 UTC
I was able to reproduce the error on a vanilla 13.2-RELEASE install. I'm working on a solution now.
Comment 38 Jack 2023-11-13 20:47:33 UTC
It looks like this issue also exists in MacOS builds

https://github.com/audacity/audacity/issues/5362

Perhaps it builds on my 13-STABLE because of newer os libs?
Comment 39 Robert Clausecker freebsd_committer freebsd_triage 2023-11-14 04:08:03 UTC
You could try to select a different compiler with USES=llvm:build or USE_GCC=yes.  That may fix things.

I suspect 13-CURRENT may have a newer clang.
Comment 40 Jack 2023-11-14 07:46:34 UTC
I just compiled llvm16 from ports with different options and it didn't help. It must be something else. Maybe a dependency. Going to try and update everything to the latest ports and try again.
Comment 41 Jack 2023-11-14 19:48:33 UTC
Updated all ports on 13.2-RELEASE and still encounter the error. I'm going to upgrade this vanilla install to -STABLE and see if there is any difference.
Comment 42 Robert Clausecker freebsd_committer freebsd_triage 2023-11-14 20:59:24 UTC
(In reply to Jack from comment #41)

I recommend that you work with Poudriere as it allows you to test ports on different versions of FreeBSD without having to reinstall all the time.

Note that the port needs to work on FreeBSD 13.2, 13-STABLE is not super relevant and we can fix it there once 13.3 is out.
Comment 43 Jack 2023-11-15 07:07:11 UTC
I need to figure out the poudriere some time. I just upgraded the vanilla 13.2-RELEASE to 13-STABLE and it builds without any error so that means something in 13.2-RELEASE is bugged, out of date, or incompatible with audacity and I'm not sure what it is or how to fix it yet.

I'm about to install 14.0-RELEASE to see if it builds there. Should we mark as broken for 13.2-RELEASE for now?
Comment 44 Robert Clausecker freebsd_committer freebsd_triage 2023-11-15 08:01:38 UTC
(In reply to Jack from comment #43)

That is a possible approach, but I strongly recommend you fix the port.  Have you tried the fixes I proposed?
Comment 45 Jack 2023-11-15 08:06:42 UTC
I tried using a different version of llvm from ports (14 and 16) and with USE_GCC=yes, doesn't help on 13.2-RELEASE. 14.0-RELEASE still building dependencies. Still looking into how to fix for 13.2.
Comment 46 Jack 2023-11-15 08:38:03 UTC
I just installed a vanilla 14.0-RELEASE and audacity 3.4.1 built fine so it must be something in 13.2-RELEASE. Maybe one of the system libs are too old or bugged in 13.2-RELEASE
Comment 47 Jack 2023-11-17 23:01:15 UTC
It looks like 3.4.2 is out and that one also does not compile on 13.2-RELEASE but compiles on 13-STABLE and 14.0-RELEASE. How can I check to make sure OSVERSION is > 13.2-RELEASE on the port?
Comment 48 Robert Clausecker freebsd_committer freebsd_triage 2023-11-17 23:13:28 UTC
(In reply to Jack from comment #47)

You can add

BROKEN_FreeBSD_13= <add reason here>

to mark the port as broken on FreeBSD 13.  Please do the same for 12.

You can take this one out once FreeBSD 13.3 is out.

Or even better, fix the underlying issue.
Comment 49 Jack 2023-11-17 23:22:51 UTC
Is there a way to mark broken for 13.2 and below or does it apply to 13-stable too? I already brought it up to upstream to fix the issue as I don't know how to fix it but they say it's a compiler bug of some sort.