Audacium / audacium

Free and open-source audio editor
https://audacium.github.io/audacium/
Other
702 stars 34 forks source link

Compiling instructions won`t compile #112

Open maretranquilitatis opened 2 years ago

maretranquilitatis commented 2 years ago

Describe the bug According to: https://github.com/Audacium/audacium/wiki/Building " It is possible to build using AppleSilicon hardware but mad and id3tag should be disabled", but the suggested command gives me the following error: "CMake Warning: No source or binary directory provided. Both will be assumed to be the same as the current working directory, but note that this warning will become a fatal error in future CMake releases. "

To Reproduce 1 Open a terminal 2 Clone audacium git using the provided command 3 mk build 4 cd build 5 cmake -GXcode -T buildsystem=1 -Daudacity_use_mad=off -Daudacity_use_id3tag=off ..

Expected behavior Audacium is built

Screenshots Captura de Pantalla 2022-08-05 a las 19 03 26

Additional information (please complete the following information): MacOS Monterey 12.4

Additional context Last versions of Xcode, Cmake, Conan already installed

generic-pers0n commented 2 years ago

Hello! In the screenshot, it looks like you haven't specified the source dir. To do this, add "../audacium" to the end of the command. This is assuming your build dir is separate from the source dir.

maretranquilitatis commented 2 years ago

Oh, in the instructions there were only two dots at the end of the command, so I added ../audacium and then started to compile! (This is my first try to compile something) Thank you very much!

Now the build failed, I have the following error messages:

CMake Error at cmake-proxies/cmake-modules/conan.cmake:633 (message): Conan install failed='1' Call Stack (most recent call first): cmake-proxies/cmake-modules/AudacityDependencies.cmake:233 (conan_cmake_install) cmake-proxies/cmake-modules/AudacityDependencies.cmake:251 (_conan_install) CMakeLists.txt:470 (resolve_conan_dependencies)

CMakeErrors.log content is:

Checking whether the ASM_NASM compiler is GNU using "--version" did not match "(GNU assembler)|(GCC)|(Free Software Foundation)": Checking whether the ASM_NASM compiler is Clang using "--version" did not match "(clang version)": Checking whether the ASM_NASM compiler is AppleClang using "--version" did not match "(Apple LLVM version)": Checking whether the ASM_NASM compiler is ARMClang using "--version" did not match "armclang": Checking whether the ASM_NASM compiler is HP using "-V" did not match "HP C": Checking whether the ASM_NASM compiler is Intel using "--version" did not match "(ICC)": Checking whether the ASM_NASM compiler is IntelLLVM using "--version" did not match "(Intel[^ ]+oneAPI)": Checking whether the ASM_NASM compiler is SunPro using "-V" did not match "Sun C": Checking whether the ASM_NASM compiler is XL using "-qversion" did not match "XL C": Checking whether the ASM_NASM compiler is MSVC using "-?" did not match "Microsoft": Checking whether the ASM_NASM compiler is TI using "-h" did not match "Texas Instruments": Checking whether the ASM_NASM compiler is IAR using "" did not match "IAR Assembler": Checking whether the ASM_NASM compiler is ARMCC using "" did not match "(ARM Compiler)|(ARM Assembler)|(Arm Compiler)": Checking whether the ASM_NASM compiler is NASM using "-v" did not match "(NASM version)": Checking whether the ASM_NASM compiler is YASM using "--version" did not match "(yasm)": Checking whether the ASM_NASM compiler is ADSP using "-version" did not match "Analog Devices": Checking whether the ASM_NASM compiler is QCC using "-V" did not match "gcc_nto":

generic-pers0n commented 2 years ago

Before going any further, I would like to mention that my support for Audacium is limited. I am not the maintainer of Audacium. I am only providing support in order to help lost users. Additionally, it should be noted that as of now, there is currently no active maintainer for Audacium, so unless someone steps up as a maintainer, possible bugs with Audacium might not be fixed any time soon. Please keep that in mind.


Edit: I should also mention that my support is limited here. I am currently working on a similar project of my own and I'm in the process of merging things with another similar project, but I don't want that to be prevalent here.


Unfortunately, there can be many reasons as to why Conan is failing as that's what's looking to be the case. I suggest you post the full output of CMake in case there is any other error.

maretranquilitatis commented 2 years ago

I understand it. When I saw the instructions I assumed that it will compile on AppleSilicon; but it seems to be that this is still on an early stage (if only I have programming skills...) Anyway, thank you very much for your assistance!

ewanm89 commented 1 year ago

There is no reason apple silicon should be an issue, it is just ARM, as said, full output log needed here.

Ahptt commented 1 year ago

I have the exact same issue on Arch Linux. Audacium was working for months, but then decides to crash every time I try and open a new file now. Decided to fresh install but am getting the same error. [ CMake Error at cmake-proxies/cmake-modules/conan.cmake:633 (message): Conan install failed='1' ]

Here is my full CMakeError.log. Willing to provide more information as needed. EDIT: Apologies on the formatting...

Checking whether the ASM_NASM compiler is GNU using "--version" did not match "(GNU assembler)|(GCC)|(Free Software Foundation)": NASM version 2.15.05 compiled on Sep 24 2020 Checking whether the ASM_NASM compiler is Clang using "--version" did not match "(clang version)": NASM version 2.15.05 compiled on Sep 24 2020 Checking whether the ASM_NASM compiler is AppleClang using "--version" did not match "(Apple LLVM version)": NASM version 2.15.05 compiled on Sep 24 2020 Checking whether the ASM_NASM compiler is ARMClang using "--version" did not match "armclang": NASM version 2.15.05 compiled on Sep 24 2020 Checking whether the ASM_NASM compiler is HP using "-V" did not match "HP C": nasm: error: unrecognised option-V' Checking whether the ASM_NASM compiler is Intel using "--version" did not match "(ICC)": NASM version 2.15.05 compiled on Sep 24 2020 Checking whether the ASM_NASM compiler is IntelLLVM using "--version" did not match "(Intel[^ ]+oneAPI)": NASM version 2.15.05 compiled on Sep 24 2020 Checking whether the ASM_NASM compiler is SunPro using "-V" did not match "Sun C": nasm: error: unrecognised option -V' Checking whether the ASM_NASM compiler is XL using "-qversion" did not match "XL C": nasm: error: unrecognised option-q' Checking whether the ASM_NASM compiler is MSVC using "-?" did not match "Microsoft": nasm: error: unrecognised option `-?' Checking whether the ASM_NASM compiler is TI using "-h" did not match "Texas Instruments": Usage: /usr/bin/nasm [-@ response_file] [options...] [--] filename /usr/bin/nasm -v (or --v)

Options (values in brackets indicate defaults):

-h            show this text and exit (also --help)
-v (or --v)   print the NASM version number and exit
-@ file       response file; one command line option per line

-o outfile    write output to outfile
--keep-all    output files will not be removed even if an error happens

-Xformat      specifiy error reporting format (gnu or vc)
-s            redirect error messages to stdout
-Zfile        redirect error messages to file

-M            generate Makefile dependencies on stdout
-MG           d:o, missing files assumed generated
-MF file      set Makefile dependency file
-MD file      assemble and generate dependencies
-MT file      dependency target name
-MQ file      dependency target name (quoted)
-MP           emit phony targets

-f format     select output file format
   bin                  Flat raw binary (MS-DOS, embedded, ...) [default]
   ith                  Intel Hex encoded flat binary
   srec                 Motorola S-records encoded flat binary
   aout                 Linux a.out
   aoutb                NetBSD/FreeBSD a.out
   coff                 COFF (i386) (DJGPP, some Unix variants)
   elf32                ELF32 (i386) (Linux, most Unix variants)
   elf64                ELF64 (x86-64) (Linux, most Unix variants)
   elfx32               ELFx32 (ELF32 for x86-64) (Linux)
   as86                 as86 (bin86/dev86 toolchain)
   obj                  Intel/Microsoft OMF (MS-DOS, OS/2, Win16)
   win32                Microsoft extended COFF for Win32 (i386)
   win64                Microsoft extended COFF for Win64 (x86-64)
   ieee                 IEEE-695 (LADsoft variant) object file format
   macho32              Mach-O i386 (Mach, including MacOS X and variants)
   macho64              Mach-O x86-64 (Mach, including MacOS X and variants)
   dbg                  Trace of all info passed to output stage
   elf                  Legacy alias for "elf32"
   macho                Legacy alias for "macho32"
   win                  Legacy alias for "win32"

-g            generate debugging information
-F format     select a debugging format (output format dependent)
-gformat      same as -g -F format
   elf32:     dwarf     ELF32 (i386) dwarf (newer) [default]
              stabs     ELF32 (i386) stabs (older)
   elf64:     dwarf     ELF64 (x86-64) dwarf (newer) [default]
              stabs     ELF64 (x86-64) stabs (older)
   elfx32:    dwarf     ELFx32 (x86-64) dwarf (newer) [default]
              stabs     ELFx32 (x86-64) stabs (older)
   obj:       borland   Borland Debug Records [default]
   win32:     cv8       Codeview 8+ [default]
   win64:     cv8       Codeview 8+ [default]
   ieee:      ladsoft   LADsoft Debug Records [default]
   macho32:   dwarf     Mach-O i386 dwarf for Darwin/MacOS [default]
   macho64:   dwarf     Mach-O x86-64 dwarf for Darwin/MacOS [default]
   dbg:       debug     Trace of all info passed to debug stage [default]

-l listfile   write listing to a list file
-Lflags...    add optional information to the list file
   -Lb        show builtin macro packages (standard and %use)
   -Ld        show byte and repeat counts in decimal, not hex
   -Le        show the preprocessed output
   -Lf        ignore .nolist (force output)
   -Lm        show multi-line macro calls with expanded parmeters
   -Lp        output a list file every pass, in case of errors
   -Ls        show all single-line macro definitions
   -Lw        flush the output after every line (very slow!)
   -L+        enable all listing options except -Lw (very verbose!)

-Oflags...    optimize opcodes, immediates and branch offsets
   -O0        no optimization
   -O1        minimal optimization
   -Ox        multipass optimization (default)
   -Ov        display the number of passes executed at the end
-t            assemble in limited SciTech TASM compatible mode

-E (or -e)    preprocess only (writes output to stdout by default)
-a            don't preprocess (assemble only)
-Ipath        add a pathname to the include file path
-Pfile        pre-include a file (also --include)
-Dmacro[=str] pre-define a macro
-Umacro       undefine a macro

--pragma str pre-executes a specific %%pragma --before str add line (usually a preprocessor statement) before the input --no-line ignore %line directives in input

--prefix str prepend the given string to the names of all extern, common and global symbols (also --gprefix) --suffix str append the given string to the names of all extern, common and global symbols (also --gprefix) --lprefix str prepend the given string to local symbols --lpostfix str append the given string to local symbols

--reproducible attempt to produce run-to-run identical output

-w+x          enable warning x (also -Wx)
-w-x          disable warning x (also -Wno-x)
-w[+-]error   promote all warnings to errors (also -Werror)
-w[+-]error=x promote warning x to errors (also -Werror=x)
   all                  all possible warnings
   bnd                  invalid BND prefixes [on]
   db-empty             no operand for data declaration [on]
   environment          nonexistent environment variable [on]
   float                all warnings prefixed with "float-"
   float-denorm         floating point denormal [off]
   float-overflow       floating point overflow [on]
   float-toolong        too many digits in floating-point number [on]
   float-underflow      floating point underflow [off]
   hle                  invalid HLE prefixes [on]
   label                all warnings prefixed with "label-"
   label-orphan         labels alone on lines without trailing `:' [on]
   label-redef          label redefined to an identical value [off]
   label-redef-late     label (re)defined during code generation [error]
   lock                 LOCK prefix on unlockable instructions [on]
   macro                all warnings prefixed with "macro-"
   macro-def            all warnings prefixed with "macro-def-"
   macro-def-case-single single-line macro defined both case sensitive and insensitive [on]
   macro-def-greedy-single single-line macro [on]
   macro-def-param-single single-line macro defined with and without parameters [error]
   macro-defaults       macros with more default than optional parameters [on]
   macro-params         all warnings prefixed with "macro-params-"
   macro-params-legacy  improperly calling multi-line macro for legacy support [on]
   macro-params-multi   multi-line macro calls with wrong parameter count [on]
   macro-params-single  single-line macro calls with wrong parameter count [on]
   negative-rep         regative %rep count [on]
   number-overflow      numeric constant does not fit [on]
   obsolete             all warnings prefixed with "obsolete-"
   obsolete-nop         instruction obsolete and is a noop on the target CPU [on]
   obsolete-removed     instruction obsolete and removed on the target CPU [on]
   obsolete-valid       instruction obsolete but valid on the target CPU [on]
   phase                phase error during stabilization [off]
   pragma               all warnings prefixed with "pragma-"
   pragma-bad           malformed %pragma [off]
   pragma-empty         empty %pragma directive [off]
   pragma-na            %pragma not applicable to this compilation [off]
   pragma-unknown       unknown %pragma facility or directive [off]
   ptr                  non-NASM keyword used in other assemblers [on]
   regsize              register size specification ignored [on]
   unknown-warning      unknown warning in -W/-w or warning directive [off]
   user                 %warning directives [on]
   warn-stack-empty     warning stack empty [on]
   zeroing              RESx in initialized section becomes zero [on]
   zext-reloc           relocation zero-extended to match output format [on]
   other                any warning not specifially mentioned above [on]

--limit-X val set execution limit X passes total number of passes [unlimited] stalled-passes number of passes without forward progress [1000] macro-levels levels of macro expansion [10000] macro-tokens tokens processed during single-lime macro expansion [10000000] mmacros multi-line macros before final return [100000] rep %rep count [1000000] eval expression evaluation descent [8192] lines total source lines processed [2000000000] Checking whether the ASM_NASM compiler is IAR using "" did not match "IAR Assembler": nasm: fatal: no input file specified Type /usr/bin/nasm -h for help. Checking whether the ASM_NASM compiler is ARMCC using "" did not match "(ARM Compiler)|(ARM Assembler)|(Arm Compiler)": nasm: fatal: no input file specified Type /usr/bin/nasm -h for help. Determining size of off64_t failed with the following output: Change Dir: /home/ahpt/Documents/Git/audacium/builds/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make -f Makefile cmTC_f11aa/fast && /usr/bin/make -f CMakeFiles/cmTC_f11aa.dir/build.make CMakeFiles/cmTC_f11aa.dir/build make[1]: Entering directory '/home/ahpt/Documents/Git/audacium/builds/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f11aa.dir/SIZEOF_OFF64.c.o /usr/bin/cc -o CMakeFiles/cmTC_f11aa.dir/SIZEOF_OFF64.c.o -c /home/ahpt/Documents/Git/audacium/builds/CMakeFiles/CheckTypeSize/SIZEOF_OFF64.c /home/ahpt/Documents/Git/audacium/builds/CMakeFiles/CheckTypeSize/SIZEOF_OFF64.c:27:22: error: ‘off64_t’ undeclared here (not in a function); did you mean ‘off_t’? 27 | #define SIZE (sizeof(off64_t)) | ^~~ /home/ahpt/Documents/Git/audacium/builds/CMakeFiles/CheckTypeSize/SIZEOF_OFF64.c:29:12: note: in expansion of macro ‘SIZE’ 29 | ('0' + ((SIZE / 10000)%10)), | ^~~~ make[1]: [CMakeFiles/cmTC_f11aa.dir/build.make:78: CMakeFiles/cmTC_f11aa.dir/SIZEOF_OFF64.c.o] Error 1 make[1]: Leaving directory '/home/ahpt/Documents/Git/audacium/builds/CMakeFiles/CMakeTmp' make: [Makefile:127: cmTC_f11aa/fast] Error 2

/home/ahpt/Documents/Git/audacium/builds/CMakeFiles/CheckTypeSize/SIZEOF_OFF64.c:

include <sys/types.h>

include

include

undef KEY

if defined(__i386)

define KEY '','','i','3','8','6'

elif defined(__x86_64)

define KEY '','','x','8','6','_','6','4'

elif defined(PPC64)

define KEY '','','P','P','C','6','4','',''

elif defined(ppc64)

define KEY '','','p','p','c','6','4','',''

elif defined(PPC)

define KEY '','','P','P','C','',''

elif defined(ppc)

define KEY '','','p','p','c','',''

elif defined(aarch64)

define KEY '','','a','a','r','c','h','6','4','',''

elif defined(ARM_ARCH_7A)

define KEY '','','A','R','M','','A','R','C','H','','7','A','',''

elif defined(ARM_ARCH_7S)

define KEY '','','A','R','M','','A','R','C','H','','7','S','',''

endif

define SIZE (sizeof(off64_t))

static char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', ('0' + ((SIZE / 10000)%10)), ('0' + ((SIZE / 1000)%10)), ('0' + ((SIZE / 100)%10)), ('0' + ((SIZE / 10)%10)), ('0' + (SIZE % 10)), ']',

ifdef KEY

' ','k','e','y','[', KEY, ']',

endif

'\0'};

ifdef __CLASSIC_C__

int main(argc, argv) int argc; char *argv[];

else

int main(int argc, char *argv[])

endif

{ int require = 0; require += info_size[argc]; (void)argv; return require; }`