Achtung: STM32-Problem unter Ubuntu Bionic 18.04: Fehlerhafte libs!

OP #5510313
Lesenswert?

Ich habe gerade einen ganzen Tag wegen eines Bugs in Ubuntu Bionic 
verschwendet. Ich poste die Lösung mal hier, vielleicht erspart das dem 
einen oder andern denselben Ärger...

Im Wesentlichen ging es bei mir darum, dass Code auf einem STM32-Board 
nicht lief. Eine gdb-Session ergab, dass "arm" anstelle von "thumb"-Code 
aus der libc dazugelinkt wurde. Die Flags beim Aufruf von gcc waren aber 
korrekt:

arm-none-eabi-gcc .... -mcpu=cortex-m3 -mthumb


Weil mir das keine Ruhe liess habe ich dann unterwegs auf meinem Laptop 
weitergesucht, und dort war der erzeugte Code seltsamerweise korrekt, 
obwohl dieser ebenfalls unter "Bionic" läuft (aber von Artful upgradet 
wurde).

Jedenfalls hat sich am Ende herausgestellt, dass die libnewlib-dev und 
libnewlib-arm-none-eabi von Bionic fehlerhaft sind, in der nächsten 
Ubuntu Version "cosmic" aber berits gefixt sind. Nach Installation 
derselben läuft jetzt alles ok. Warum das in einer Ubuntu LTS-Version 
aber nicht korrigiert wird bleibt schleierhaft :-( Wenn nicht 
Treiberprobleme mich auf Ubuntu gezwungen hätten bliebe ich bei Debian 
stable...

Siehe auch:

https://github.com/bbcmicrobit/micropython/issues/514#issuecomment-404759614
Gast #5510670
Lesenswert?

Olle Kamelle, seit April bekannt.

Den Rotz übernimmt Ubuntu von Debian, dort war das schon falsch.
Dass Ubuntu das allerdings immer noch nicht gefixt hat, obwohl Debian 
das bereits getan hat, ist traurig. Scheinen wohl nicht so viele unter 
Ubuntu zu nutzen.

Nachinstallation von korrekten Debianpaketen hat hier das Problem 
beseitigt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren