Comments (6)
Marking it as an enhancement instead of a bug since 0.16.7 has been released without the C11 threads-based gthread libgcc patch.
from sdk-ng.
This effectively renders the SDK 0.16.6 release unusable until the C11 threads stub functions are added to the Zephyr main
branch.
Also, this is a breaking change that creates an incompatibility between the SDK 0.16.6 release and any Zephyr releases prior to the upcoming 3.7.0, which we do not want at this point.
This should have been caught earlier and addressed in a more self-contained way within the SDK (e.g. providing weak C11 threads stub functions within the libgcc itself); unfortunately, the SDK CI does not build and run the C++ tests and samples and this was not caught -- I am going to fix that by adding more tests to be run in the SDK CI.
At this point, I will need to mark the 0.16.6 a bad release and release 0.16.7 without the libstdc++ C11 gthread patch. The libstdc++ patch will need to be reworked to handle the transition more gracefully (as mentioned above, by providing weak C11 threads stubs).
from sdk-ng.
This effectively renders the SDK 0.16.6 release unusable until the C11 threads stub functions are added to the Zephyr
main
branch.
We likely do not want stub or weak implementations in Zephyr itself since there is a concrete implementation already.
Also, this is a breaking change that creates an incompatibility between the SDK 0.16.6 release and any Zephyr releases prior to the upcoming 3.7.0, which we do not want at this point.
I would definitely prefer to get this in prior to v3.7.0, since it's already been ~ 2 LTS release cycles in the making.
This should have been caught earlier and addressed in a more self-contained way within the SDK (e.g. providing weak C11 threads stub functions within the libgcc itself); unfortunately, the SDK CI does not build and run the C++ tests and samples and this was not caught -- I am going to fix that by adding more tests to be run in the SDK CI.
Agreed and good idea.
from sdk-ng.
FYI:
After switching to the 0.16.6, without any tweaks, our C++ Matter applications won't build (due to the linkage issue):
/home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v7e-m+fp/hard/libstdc++_nano.a(guard.o): in function (anonymous namespace)::init_static_cond()': guard.cc:(.text._ZN12_GLOBAL__N_1L16init_static_condEv+0x6): undefined reference to
cnd_init'
/home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v7e-m+fp/hard/libstdc++_nano.a(guard.o): in function (anonymous namespace)::init()': guard.cc:(.text._ZN12_GLOBAL__N_1L4initEv+0x8): undefined reference to
mtx_init'
/home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v7e-m+fp/hard/libstdc++_nano.a(guard.o): in function (anonymous namespace)::mutex_wrapper::~mutex_wrapper() [clone .isra.0]': guard.cc:(.text._ZN12_GLOBAL__N_113mutex_wrapperD2Ev.isra.0+0xa): undefined reference to
mtx_unlock'
/home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v7e-m+fp/hard/libstdc++_nano.a(guard.o): in function (anonymous namespace)::mutex_wrapper::mutex_wrapper() [clone .isra.0]': guard.cc:(.text._ZN12_GLOBAL__N_113mutex_wrapperC2Ev.isra.0+0xa): undefined reference to
call_once'
/home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: guard.cc:(.text._ZN12_GLOBAL__N_113mutex_wrapperC2Ev.isra.0+0x12): undefined reference to mtx_lock' /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v7e-m+fp/hard/libstdc++_nano.a(guard.o): in function
__gnu_cxx::__cond::broadcast()':
guard.cc:(.text._ZN9__gnu_cxx6__cond9broadcastEv[_ZN9__gnu_cxx6__cond9broadcastEv]+0x2): undefined reference to cnd_broadcast' /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v7e-m+fp/hard/libstdc++_nano.a(guard.o): in function
__cxa_guard_acquire':
guard.cc:(.text.__cxa_guard_acquire+0x2c): undefined reference to call_once' /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: guard.cc:(.text.__cxa_guard_acquire+0x36): undefined reference to
call_once'
/home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: guard.cc:(.text.__cxa_guard_acquire+0x40): undefined reference to cnd_wait' /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: /home/marcin/zephyr-sdk-0.16.6/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v7e-m+fp/hard/libstdc++_nano.a(guard.o): in function
__cxa_guard_release':
guard.cc:(.text.__cxa_guard_release+0x1a): undefined reference to `call_once'
Any ETA for 0.16.7 release? I see the tag is already there.
from sdk-ng.
Hi, I'm facing the same issue as @markaj-nordic mentioned.
Any progress of instructions to solve this issue?
Tnx
from sdk-ng.
@seyednasermoravej use 0.16.8
from sdk-ng.
Related Issues (20)
- GitHub release info for 0.16.3 mentions wrong version of picolibc HOT 1
- Releases page does not have links to the full version HOT 1
- "Bus fault on vector table read" using SDK versions later than 0.16.0-beta1 HOT 1
- Upgrade to QEMU 9.1
- does SDK support riscv vector extension HOT 1
- maintainability: properly document the build process HOT 13
- Individual toolchain installation should be ignored for full_sdk HOT 1
- `setup.sh` cannot find applications on PATH HOT 2
- [GDB] Debugger seems to crash when stepping inside an IRQ handler HOT 4
- Broken links in Zephyr SDK 0.16.5-rc1release page HOT 1
- Update Zephyr SDK to be based upon GCC 14 HOT 8
- pokysdk provides an older Verison of GLIBC than required by system HOT 4
- [GDB Client/Server] Coredump.bin decoding error
- Link gdb-py against Python 3.10
- Broken release links HOT 1
- undefined reference to `_impure_ptr' when building Zephyr C++ samples on non-Linux hosts HOT 12
- Migrate Linux CI environment to Debian 10 HOT 1
- macOS toolchain no longer builds with xcode 15.1+ HOT 1
- setup.sh wget invocation doesn't work with wget2 in newer distros: "Unknown option 'show-progress'" HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sdk-ng.