Forum: Mikrocontroller und Digitale Elektronik Achtung: STM32-Problem unter Ubuntu Bionic 18.04: Fehlerhafte libs!


von Anon X. (pascalx)


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

von Draco (Gast)


Angehängte Dateien:

Lesenswert?

Was soll man dazu noch sagen?!?

von Dr. Sommer (Gast)


Lesenswert?

Und deswegen nutzt man nicht den GCC aus dem Paket Manager sondern lädt 
das Paket bei ARM herunter...

von Dr. Sommer (Gast)


Lesenswert?


von Neverever (Gast)


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.

von Anon X. (pascalx)


Lesenswert?

Schön, dass ihr das alle wisst, mir war der Bug nicht bekannt und er hat 
mich ne Menge Zeit gekostet... das wollte ich anderen ersparen...

Werde mir jetzt jedenfalls die Tools von ARM direkt installieren...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.