Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to build with GCC 14. #6413

Open
evertvorster opened this issue May 10, 2024 · 7 comments
Open

Unable to build with GCC 14. #6413

evertvorster opened this issue May 10, 2024 · 7 comments
Labels
bug An error, undesired behaviour, or missed functionality

Comments

@evertvorster
Copy link

Bug description

Hi there!
This should be an easy fix.... hopefully.
When compiling from sources pulled from git master, and with a fully updated Arch system, I get the following error in the build log:

Using Conan version 2.2.2 (conan)
ERROR: Invalid setting '14' is not a valid 'settings.compiler.version' value.
Possible values are ['4.1', '4.4', '4.5', '4.6', '4.7', '4.8', '4.9', '5', '5.1', '5.2', '5.3', '5.4', '5.5', '6', '6.1', '6.2', '6.3', '6.4', '6.5', '7', '7.1', '7.2', '7.3', '7.4', '7.5', '8', '8.1', '8.2', '8.3', '8.4', '8.5', '9', '9.1', '9.2', '9.3', '9.4', '9.5', '10', '10.1', '10.2', '10.3', '10.4', '10.5', '11', '11.1', '11.2', '11.3', '11.4', '12', '12.1', '12.2', '12.3', '13', '13.1', '13.2']
Read "http://docs.conan.io/2/knowledge/faq.html#error-invalid-setting"

This is most likely due to Arch's recent update of GCC to version 14.1

Steps to reproduce

In a terminal on and Arch machine with yay installed, issue the following command:
yay -S audacity-local-git

Expected behavior

A clean build of Audacity

Actual behavior

The build fails, most likely because of the newer version of the Gnu Compiler Collection that is installed on Arch linux machines.

Audacity Version

current master / alpha / nightly build

Operating system

Linux

Additional context

More info on my system:

Operating System: Arch Linux 
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0
Kernel Version: 6.8.9-arch1-2 (64-bit)
Graphics Platform: Wayland
Processors: 32 × 13th Gen Intel® Core™ i9-13900HX
Memory: 62.5 GiB of RAM
Graphics Processor: Mesa Intel® Graphics
Manufacturer: TUXEDO
Product Name: PD5x_7xSNC_SND_SNE
@evertvorster evertvorster added the bug An error, undesired behaviour, or missed functionality label May 10, 2024
@LWinterberg
Copy link
Member

Maybe it's just a missing profile here? https://github.com/audacity/conan-recipes/tree/main/config/profiles/build/linux (but then, I haven't had any luck finding where the full list of versions is either)

@evertvorster
Copy link
Author

This issue is still present in the latest git master.
As far as I know, I do not have write permissions to Audacity's repos, so I can't help aside from reporting issues as I come across them.

@evertvorster
Copy link
Author

Jip, still can't build the master branch with GCC 14 as of 2024-05-24.

;)

@evertvorster
Copy link
Author

There has been some progress here, and the build now proceeds much further.
Unfortunately it seems that the Conan version of Portmidi has a problem building, and I am unable to use the system version of Portmidi due to #5610

@evertvorster
Copy link
Author

Here is the build log now:

======== Installing packages ========

-------- Installing package portmidi/r234@audacity/stable (1 of 3) --------
portmidi/r234@audacity/stable: Building from source
portmidi/r234@audacity/stable: Package portmidi/r234@audacity/stable:d2e71594f4319e9148d8468b588a82c8c2783157
portmidi/r234@audacity/stable: Copying sources to build folder
portmidi/r234@audacity/stable: Building your package in /home/evert/.conan2/p/b/portma09733773cf7e/b
portmidi/r234@audacity/stable: Calling generate()
portmidi/r234@audacity/stable: Generators folder: /home/evert/.conan2/p/b/portma09733773cf7e/b/build/Debug/generators
portmidi/r234@audacity/stable: CMakeToolchain generated: conan_toolchain.cmake
portmidi/r234@audacity/stable: CMakeToolchain generated: /home/evert/.conan2/p/b/portma09733773cf7e/b/build/Debug/generators/CMakePresets.json
portmidi/r234@audacity/stable: CMakeToolchain generated: /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/CMakeUserPresets.json
portmidi/r234@audacity/stable: Generating aggregated env files
portmidi/r234@audacity/stable: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
portmidi/r234@audacity/stable: Calling build()
portmidi/r234@audacity/stable: Running CMake.configure()
portmidi/r234@audacity/stable: RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/home/evert/.conan2/p/b/portma09733773cf7e/p" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Debug" "/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk"
-- Using Conan toolchain: /home/evert/.conan2/p/b/portma09733773cf7e/b/build/Debug/generators/conan_toolchain.cmake
-- Conan toolchain: Setting CMAKE_POSITION_INDEPENDENT_CODE=ON (options.fPIC)
-- Conan toolchain: Setting BUILD_SHARED_LIBS = ON
-- The C compiler identification is GNU 14.1.1
-- The CXX compiler identification is GNU 14.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.2s)
CMake Warning (dev) at pm_common/CMakeLists.txt:91 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_common/CMakeLists.txt:91 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinux.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_common/CMakeLists.txt:91 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_common/CMakeLists.txt:91 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_common/CMakeLists.txt:91 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_common/pmutil.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_common/CMakeLists.txt:91 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_common/portmidi.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_dylib/CMakeLists.txt:108 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_dylib/CMakeLists.txt:108 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinux.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_dylib/CMakeLists.txt:108 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_dylib/CMakeLists.txt:108 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_dylib/CMakeLists.txt:108 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_common/pmutil.c
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at pm_dylib/CMakeLists.txt:108 (add_library):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_common/portmidi.c
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done (0.0s)
-- Build files have been written to: /home/evert/.conan2/p/b/portma09733773cf7e/b/build/Debug

portmidi/r234@audacity/stable: Running CMake.build()
portmidi/r234@audacity/stable: RUN: cmake --build "/home/evert/.conan2/p/b/portma09733773cf7e/b/build/Debug" -- -j32
[  7%] Building C object pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/pm_linux/finddefault.c.o
[ 14%] Building C object pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/porttime/ptlinux.c.o
[ 21%] Building C object pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/pm_common/pmutil.c.o
[ 28%] Building C object pm_common/CMakeFiles/portmidi-static.dir/__/pm_linux/pmlinuxalsa.c.o
[ 35%] Building C object pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/pm_common/portmidi.c.o
[ 42%] Building C object pm_common/CMakeFiles/portmidi-static.dir/__/pm_linux/pmlinux.c.o
[ 50%] Building C object pm_common/CMakeFiles/portmidi-static.dir/__/pm_linux/finddefault.c.o
[ 57%] Building C object pm_common/CMakeFiles/portmidi-static.dir/__/porttime/ptlinux.c.o
[ 64%] Building C object pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/pm_linux/pmlinuxalsa.c.o
[ 71%] Building C object pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/pm_linux/pmlinux.c.o
[ 78%] Building C object pm_common/CMakeFiles/portmidi-static.dir/pmutil.c.o
[ 85%] Building C object pm_common/CMakeFiles/portmidi-static.dir/portmidi.c.o
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c: In function ‘Pt_Start’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c:82:5: warning: ‘ftime’ is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
   82 |     ftime(&time_offset); /* need this set before process runs */
      |     ^~~~~
In file included from /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c:34:
/usr/include/sys/timeb.h:29:12: note: declared here
   29 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c: In function ‘Pt_Time’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c:125:5: warning: ‘ftime’ is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
  125 |     ftime(&now);
      |     ^~~~~
/usr/include/sys/timeb.h:29:12: note: declared here
   29 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinux.c: In function ‘pm_init’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinux.c:45:34: error: implicit declaration of function ‘find_default_device’; did you mean ‘pm_find_default_device’? [-Wimplicit-function-declaration]
   45 |     pm_default_input_device_id = find_default_device(
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  pm_find_default_device
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinux.c: In function ‘pm_init’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinux.c:45:34: error: implicit declaration of function ‘find_default_device’; did you mean ‘pm_find_default_device’? [-Wimplicit-function-declaration]
   45 |     pm_default_input_device_id = find_default_device(
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  pm_find_default_device
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c: In function ‘skip_spaces’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c:16:12: error: implicit declaration of function ‘isspace’ [-Wimplicit-function-declaration]
   16 |     while (isspace(c = getc(inf))) ;
      |            ^~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c:9:1: note: include ‘<ctype.h>’ or provide a declaration of ‘isspace’
    8 | #include "portmidi.h"
  +++ |+#include <ctype.h>
    9 | 
make[2]: *** [pm_common/CMakeFiles/portmidi-static.dir/build.make:90: pm_common/CMakeFiles/portmidi-static.dir/__/pm_linux/pmlinux.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c: In function ‘find_default_device’:
make[2]: *** [pm_dylib/CMakeFiles/portmidi-dynamic.dir/build.make:90: pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/pm_linux/pmlinux.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c:84:13: error: implicit declaration of function ‘pm_find_default_device’; did you mean ‘find_default_device’? [-Wimplicit-function-declaration]
   84 |         i = pm_find_default_device(pref_str, input);
      |             ^~~~~~~~~~~~~~~~~~~~~~
      |             find_default_device
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c: In function ‘skip_spaces’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c:16:12: error: implicit declaration of function ‘isspace’ [-Wimplicit-function-declaration]
   16 |     while (isspace(c = getc(inf))) ;
      |            ^~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c:9:1: note: include ‘<ctype.h>’ or provide a declaration of ‘isspace’
    8 | #include "portmidi.h"
  +++ |+#include <ctype.h>
    9 | 
make[2]: *** [pm_dylib/CMakeFiles/portmidi-dynamic.dir/build.make:104: pm_dylib/CMakeFiles/portmidi-dynamic.dir/__/pm_linux/finddefault.c.o] Error 1
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c: In function ‘find_default_device’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/finddefault.c:84:13: error: implicit declaration of function ‘pm_find_default_device’; did you mean ‘find_default_device’? [-Wimplicit-function-declaration]
   84 |         i = pm_find_default_device(pref_str, input);
      |             ^~~~~~~~~~~~~~~~~~~~~~
      |             find_default_device
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘alsa_out_open’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:36:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   36 | #define GET_DESCRIPTOR_CLIENT(info) ((((int)(info)) >> 8) & 0xff)
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:151:20: note: in expansion of macro ‘GET_DESCRIPTOR_CLIENT’
  151 |     desc->client = GET_DESCRIPTOR_CLIENT(client_port);
      |                    ^~~~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:37:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   37 | #define GET_DESCRIPTOR_PORT(info) (((int)(info)) & 0xff)
      |                                     ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:152:18: note: in expansion of macro ‘GET_DESCRIPTOR_PORT’
  152 |     desc->port = GET_DESCRIPTOR_PORT(client_port);
      |                  ^~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘alsa_in_open’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:36:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   36 | #define GET_DESCRIPTOR_CLIENT(info) ((((int)(info)) >> 8) & 0xff)
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:293:20: note: in expansion of macro ‘GET_DESCRIPTOR_CLIENT’
  293 |     desc->client = GET_DESCRIPTOR_CLIENT(client_port);
      |                    ^~~~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:37:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   37 | #define GET_DESCRIPTOR_PORT(info) (((int)(info)) & 0xff)
      |                                     ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:294:18: note: in expansion of macro ‘GET_DESCRIPTOR_PORT’
  294 |     desc->port = GET_DESCRIPTOR_PORT(client_port);
      |                  ^~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘alsa_write_flush’:
make[2]: *** [pm_common/CMakeFiles/portmidi-static.dir/build.make:104: pm_common/CMakeFiles/portmidi-static.dir/__/pm_linux/finddefault.c.o] Error 1
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:438:52: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  438 |     VERBOSE printf("snd_seq_drain_output: 0x%x\n", (unsigned int) seq);
      |                                                    ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘pm_linuxalsa_init’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:35:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   35 | #define MAKE_DESCRIPTOR(client, port) ((void*)(((client) << 8) | (port)))
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:761:31: note: in expansion of macro ‘MAKE_DESCRIPTOR’
  761 |                               MAKE_DESCRIPTOR(snd_seq_port_info_get_client(pinfo),
      |                               ^~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c: In function ‘Pt_Start’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c:82:5: warning: ‘ftime’ is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
   82 |     ftime(&time_offset); /* need this set before process runs */
      |     ^~~~~
In file included from /home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c:34:
/usr/include/sys/timeb.h:29:12: note: declared here
   29 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c: In function ‘Pt_Time’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/porttime/ptlinux.c:125:5: warning: ‘ftime’ is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
  125 |     ftime(&now);
      |     ^~~~~
/usr/include/sys/timeb.h:29:12: note: declared here
   29 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:35:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   35 | #define MAKE_DESCRIPTOR(client, port) ((void*)(((client) << 8) | (port)))
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:771:31: note: in expansion of macro ‘MAKE_DESCRIPTOR’
  771 |                               MAKE_DESCRIPTOR(snd_seq_port_info_get_client(pinfo),
      |                               ^~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘alsa_out_open’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:36:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   36 | #define GET_DESCRIPTOR_CLIENT(info) ((((int)(info)) >> 8) & 0xff)
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:151:20: note: in expansion of macro ‘GET_DESCRIPTOR_CLIENT’
  151 |     desc->client = GET_DESCRIPTOR_CLIENT(client_port);
      |                    ^~~~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:37:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   37 | #define GET_DESCRIPTOR_PORT(info) (((int)(info)) & 0xff)
      |                                     ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:152:18: note: in expansion of macro ‘GET_DESCRIPTOR_PORT’
  152 |     desc->port = GET_DESCRIPTOR_PORT(client_port);
      |                  ^~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘alsa_in_open’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:36:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   36 | #define GET_DESCRIPTOR_CLIENT(info) ((((int)(info)) >> 8) & 0xff)
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:293:20: note: in expansion of macro ‘GET_DESCRIPTOR_CLIENT’
  293 |     desc->client = GET_DESCRIPTOR_CLIENT(client_port);
      |                    ^~~~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:37:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   37 | #define GET_DESCRIPTOR_PORT(info) (((int)(info)) & 0xff)
      |                                     ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:294:18: note: in expansion of macro ‘GET_DESCRIPTOR_PORT’
  294 |     desc->port = GET_DESCRIPTOR_PORT(client_port);
      |                  ^~~~~~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘alsa_write_flush’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:438:52: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  438 |     VERBOSE printf("snd_seq_drain_output: 0x%x\n", (unsigned int) seq);
      |                                                    ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c: In function ‘pm_linuxalsa_init’:
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:35:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   35 | #define MAKE_DESCRIPTOR(client, port) ((void*)(((client) << 8) | (port)))
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:761:31: note: in expansion of macro ‘MAKE_DESCRIPTOR’
  761 |                               MAKE_DESCRIPTOR(snd_seq_port_info_get_client(pinfo),
      |                               ^~~~~~~~~~~~~~~
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:35:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   35 | #define MAKE_DESCRIPTOR(client, port) ((void*)(((client) << 8) | (port)))
      |                                        ^
/home/evert/.conan2/p/b/portma09733773cf7e/b/src/portmidi/trunk/pm_linux/pmlinuxalsa.c:771:31: note: in expansion of macro ‘MAKE_DESCRIPTOR’
  771 |                               MAKE_DESCRIPTOR(snd_seq_port_info_get_client(pinfo),
      |                               ^~~~~~~~~~~~~~~
make[1]: *** [CMakeFiles/Makefile2:142: pm_dylib/CMakeFiles/portmidi-dynamic.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:116: pm_common/CMakeFiles/portmidi-static.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

portmidi/r234@audacity/stable: ERROR: 
Package 'd2e71594f4319e9148d8468b588a82c8c2783157' build failed
portmidi/r234@audacity/stable: WARN: Build folder /home/evert/.conan2/p/b/portma09733773cf7e/b/build/Debug
ERROR: portmidi/r234@audacity/stable: Error in build() method, line 57
        cmake.build()
        ConanException: Error 2 while executing

@evertvorster
Copy link
Author

evertvorster commented Jun 5, 2024

conan version of Portmidi still does not build on Arch Linux with GCC 14 as of 2024-06-05

@evertvorster
Copy link
Author

This is still an issue with master branch of Audacity in Git as of 2024-06-10.

How likely is it that the ancient fork of Portmidi in Conan will be updated to compile with GCC 14?
Audacity does not detect the system installed version of Portmidi when it is compiled with Conan.
It is only a matter of time until other distributions run into this very same issue when they upgrade the GCC to version 14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug An error, undesired behaviour, or missed functionality
Projects
None yet
Development

No branches or pull requests

2 participants