-
-
Notifications
You must be signed in to change notification settings - Fork 800
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
libArchive option in library.json does not overwrites global lib_archive
option
#3398
Comments
This is a correct behavior. If you disable archiving per library, we will not archive it. But! The framework will be archived. However, if you disable archiving globally per project, we will disable archiving for frameworks and libraries. Is this bad behaviour? :( |
Has this always been the behaviour? Because otherwise I think the library's author would have noticed that a basic blinky isn't working and would have written something to make people add
Not per-se but then the library cannot specify that needed option for the whole project to make it work. |
Yes, original behavior sine we introduced this configuration option. |
lib_archive
option
Doesn't this mean that platformio/platform-ststm32#237 / stm32duino/STM32FreeRTOS#17 were never really fixed? |
Hi @maxgerhardt @kzyapkov I'm not completely sure when this behavior was introduced, but I cannot reproduce the issue with the latest |
|
|
PlatformIO, version 4.2.1 output slightly clipped:
I did |
It looks that you have outdated ST STM32 dev-platform. That was the problem. |
do not work for me too
|
cat platformio.ini
|
Sorry for the issue. We have fixed in d32312e Could you re-test with |
Now is OK |
Thanks! We will release PIO Core 4.3.1 soon. Thanks for the report! |
PlatformIO Core 4.3.1 is out! Please upgrade via |
Solution
The solution is to set lib_archive option in
platformio.ini
tono
:Configuration
Operating system: Windows 10 x64
PlatformIO Version (
platformio --version
):PlatformIO, version 4.2.2a1
Description of problem
The FreeRTOS for STM32Duino library uses the
libArchive: false
option its library.json file to prevent being archived and thus not getting to hook the weakSVCHandler
call which is needed by FreeRTOS to execute the task-switches in a privilged mode. The library is still being built as an archive anyways though and thus execution of the resulting firmware fails (brokenvTaskDelay
, semaphores etc)The archive command is
However, by adding
lib_archive = no
the desired behaviour is restored and the final linker command contains all object files of the projectShouldn't the behavior be the same as when the library.json says
libArchive: false
? This prevents these libraries from correctly building and executing, and needing special options in the user'splatformio.ini
.Steps to Reproduce
pio init -b bluepill_f103c8_128k
platformio.ini
from belowActual Results
No blinkink LED (PC13).
Expected Results
Blinking LED. Works when uncommenting
lib_archive = no
.If problems with PlatformIO Build System:
The content of
platformio.ini
:Source file to reproduce issue:
Additional info
The text was updated successfully, but these errors were encountered: