Um mir die Weihnachtstage etwas produktiver zu gestalten, will ich mich
mit den GoWin FPGAs beschäftigen. Dabei bin ich auf ein Problem unter
Ubuntu 22.04 gestoßen, was anscheinend so noch nicht im WWW dokumentiert
wurde, zumindest habe ich nichts gefunden.
Ich habe mir die Gowin_V1.9.10.03_Education_linux.tar.gz Version von der
GoWin Seite runtergeladen und diese nach ~/gowin ausgepackt. Obwohl
diese auf der Homepage als (Linux x86) bezeichnet wird, scheint es sich
(zumindest bei der gw_ide) um ein x64 executable zu handeln.
Beim Versuch, die IDE zu starten kam es zur folgenden Fehlermeldung
1 | ~/gowin$ IDE/bin/gw_ide
|
2 | IDE/bin/gw_ide: ~/gowin/IDE/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/AppProtection/libAppProtection.so)
|
3 | IDE/bin/gw_ide: ~/gowin/IDE/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/AppProtection/libAppProtection.so)
|
Anscheinend ist die beigepackte libstdc++.so.6 zu alt, ein
1 | strings ~/gowin/IDE/lib/libstdc++.so.6 | grep GLIBCXX_3.4.
|
liefert nur Versionen bis 3.4.19. Die Lösung war nun, die "hauseigene"
libstdc++.so.6 aus/lib/x86_64-linux-gnu/ nach ~/gowin/IDE/lib zu
kopieren, bei mir war es die libstdc++.so.6.0.30.
1 | $ cd ~/gowin/IDE/lib
|
2 | $ mv libstdc++.so.6 libstdc++.so.6.old
|
3 | $ cp /lib/x86_64-linux-gnu/libstdc++.so.6.0.30 ./libstdc++.so.6
|
Danach läufts. Warum ich das hier schreibe? Damit, sollte jemand auf ein
ähnliches Problem stoßen, eine Lösung gefunden wird.
Das ganze auf Englisch:
GoWins FPGA IDE Gowin_V1.9.10.03_Education_linux.tar.gz won't start on
Ubuntu 22.04.5. The following error occurred:
1 | ~/gowin$ IDE/bin/gw_ide
|
2 |
|
3 | IDE/bin/gw_ide: ~/gowin/IDE/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/AppProtection/libAppProtection.so)
|
4 |
|
5 | IDE/bin/gw_ide: ~/gowin/IDE/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/AppProtection/libAppProtection.so)
|
It seems, that the supplied libstdc++.so.6 in IDE/lib by GoWin is to
old, it's version seems to be 3.4.19. The solution is, to copy a recent
libstdc++.so.6 from /lib/x86_64-linux-gnu/ to ~/gowin/IDE/lib. On my
ubuntu it was
libstdc++.so.6.0.30, in your case it could be a different one.
1 | $ cd ~/gowin/IDE/lib
|
2 | $ mv libstdc++.so.6 libstdc++.so.6.old
|
3 | $ cp /lib/x86_64-linux-gnu/libstdc++.so.6.0.30 ./libstdc++.so.6
|