Skip to content

pioasm tool fails to build using gcc-15.1 on host #2746

@uzleosharif

Description

@uzleosharif

Steps to reproduce

# after cloning and changing dir into it

$ cmake -B build -S . -DPICO_PLATFORM=rp2350 -DPICO_BOARD=pico2 -DPICO_STDIO_USB=ON
$ cmake --build build/

Error log

› [ 51%] Creating directories for 'pioasmBuild'
  [ 51%] No download step for 'pioasmBuild'
  [ 52%] No update step for 'pioasmBuild'
  [ 52%] No patch step for 'pioasmBuild'
  [ 52%] Performing configure step for 'pioasmBuild'
  Not searching for unused variables given on the command line.
  loading initial cache file /stuff/work/pico-sdk/build/src/rp2_common/pico_cyw43_driver/pioasm/tmp/pioasmBuild-cache-Release.cmake
  -- The CXX compiler identification is GNU 15.1.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /stuff/tools/gcc/15.1.0/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done (0.2s)
  -- Generating done (0.0s)
  -- Build files have been written to: /stuff/work/pico-sdk/build/pioasm
  [ 52%] Performing build step for 'pioasmBuild'
  In file included from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/x86_64-pc-linux-gnu/bits/gthr-default.h:35,
                   from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/x86_64-pc-linux-gnu/bits/gthr.h:157,
                   from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/ext/atomicity.h:37,
                   from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/bits/ios_base.h:41,
                   from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/ios:46,
                   from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/bits/ostream.h:43,
                   from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/ostream:42,
                   from /stuff/tools/gcc/15.1.0/include/c++/15.1.0/iostream:43,
                   from /stuff/work/pico-sdk/tools/pioasm/main.cpp:7:
  /stuff/tools/gcc/15.1.0/include/c++/15.1.0/ext/concurrence.h:257:32: error: cannot convert ‘<brace-enclosed initializer list>’ to
  ‘unsigned int’ in initialization
    257 |     __gthread_cond_t _M_cond = __GTHREAD_COND_INIT;
        |                                ^~~~~~~~~~~~~~~~~~~
  gmake[5]: *** [CMakeFiles/pioasm.dir/build.make:75: CMakeFiles/pioasm.dir/main.cpp.o] Error 1
  gmake[4]: *** [CMakeFiles/Makefile2:87: CMakeFiles/pioasm.dir/all] Error 2
  gmake[3]: *** [Makefile:136: all] Error 2
  gmake[2]: *** [src/rp2_common/pico_cyw43_driver/CMakeFiles/pioasmBuild.dir/build.make:95: src/rp2_common/pico_cyw43_driver/pioasm/src/
  pioasmBuild-stamp/pioasmBuild-build] Error 2
  gmake[1]: *** [CMakeFiles/Makefile2:2935: src/rp2_common/pico_cyw43_driver/CMakeFiles/pioasmBuild.dir/all] Error 2
  gmake: *** [Makefile:91: all] Error 2
   .. also one interesting thing i see already from this error log is the use of compiler 15.1.0 which is the host machine compiler and not
  the target arm-gcc toolchain compiler


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions