Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Tipps zum FB-Daily-Build für Linux

von AdministratorSebastianSeite 1 von 1

Auf dieser Seite finden Sie einige Hinweise und Problem-Lösungsvorschläge zum FreeBASIC git-Daily-Build für Linux.


Voraussetzungen zum Verwenden des Builds unter Linux

Installieren Sie bitte zunächst, sofern noch nicht vorhanden, die folgenden Pakete:

Die Paketnamen zu Beginn der Zeilen betreffen Debian und Ubuntu; die Namen in Klammern beziehen sich auf Fedora. D. h. die Pakete heißen je nach Distribution geringfügig unterschiedlich.

Sie können die Pakete wahlweise über die grafische Paketverwaltung installieren oder über die Konsole - z. B. mit apt-get unter Debian und Ubuntu:

sebastian@ubuntu:~/fb$ sudo apt-get install \
> binutils binutils-dev ...

Probleme mit libbfd-2.20.1-system.20100303.so

Problem: Beim Aufruf des Compilers erhalten Sie sofort diese Fehlermeldung:

sebastian@ubuntu:~/fb$ ./fbc -version
./fbc: error while loading shared libraries: libbfd-2.20.1-system.20100303.so:
cannot open shared object file: No such file or directory

Lösung:
1) Stellen Sie zunächst sicher, dass alle Pakete (siehe oben) installiert sind!
2) Installieren Sie, sofern noch nicht vorhanden, das Paket locate. Es wird verwendet, um Dateien zu suchen.
3) Führen Sie anschließend in der Konsole aus:

sudo updatedb

4) Suchen Sie nach Dateien, die libbfd im Dateinamen enthalten, indem Sie in der Konsole eingeben:

locate libbfd

5) Sie erhalten eine Ausgabe wie

/home/sebastian/fb/lib/libbfd.a
/usr/lib/libbfd-2.22-system.so
/usr/lib/libbfd.a
/usr/lib/libbfd.so

6) Beachten Sie den Dateinamen mit der Versionsangabe.
7) Erstellen Sie einen Symlink (eine Art Verknüpfung) zu dieser Datei, indem Sie in der Konsole ausführen:

sudo ln -s /usr/lib/libbfd-2.22-system.so /usr/lib/libbfd-2.20.1-system.20100303.so

Probleme mit libopcodes-2.20.1-system.20100303.so

Problem: Beim Ausführen des Compilers erhalten Sie Fehlermeldungen bezüglich der Datei libopcodes-2.20.1-system.20100303.so.

Lösung: Gehen Sie vor wie im Fall oben beschrieben ("Probleme mit libbfd-2.20.1-system.20100303.so"), jedoch für die Lib libopcodes statt libbfd.

ld: cannot find -lncurses

Problem: Beim Compilieren von Dateien erhalten Sie die Fehlermeldung

sebastian@ubuntu:~/fb$ ./fbc test.bas
/home/sebastian/fb/bin/ld: cannot find -lncurses

Lösung: Das Paket libncurses-dev bzw. libncurses5-dev ist nicht installiert (siehe oben "Voraussetzungen"). Installieren Sie das Paket über die Paketverwaltung.

ld: cannot find -lX11 etc.

Problem: Sie erhalten beim Compilieren Fehlermeldungen von ld, dass "-lX..." nicht gefunden wurde:

sebastian@ubuntu:~/fb$ ./fbc test.bas
/home/sebastian/fb/bin/ld: cannot find -lX11
/home/sebastian/fb/bin/ld: cannot find -lXext
/home/sebastian/fb/bin/ld: cannot find -lXpm
/home/sebastian/fb/bin/ld: cannot find -lXrandr
/home/sebastian/fb/bin/ld: cannot find -lXrender

Lösung: In diesem Fall fehlen einige ...-dev-Pakete. Sie müssen noch nachinstalliert werden (z. B. mit apt-get install):

sebastian@ubuntu:~/fb$ sudo apt-get install \
> libx11-dev libxext-dev libxpm-dev libxrandr-dev \
> libxrender-dev libgpm-dev freeglut3-dev libffi-dev

error 79: Executable not found

Problem: Während Sie den Compiler ohne Parameter ausführen können (Ausgabe des Hilfebildschirms), liefert jedes Compilieren eine ganze Reihe von Fehlermeldungen:

sebastian@ubuntu:~/fb$ ./fbc test.bas
/home/sebastian/fb/bin/as: Symbol `_bfd_elf_large_com_section' has
different size in shared object, consider re-linking
/home/sebastian/fb/bin/as: Symbol `bfd_abs_section' has different
size in shared object, consider re-linking
/home/sebastian/fb/bin/as: Symbol `bfd_com_section' has different
size in shared object, consider re-linking
/home/sebastian/fb/bin/as: Symbol `bfd_und_section' has different
size in shared object, consider re-linking
/home/sebastian/fb/bin/as: Symbol `bfd_ind_section' has different
size in shared object, consider re-linking
/home/sebastian/fb/bin/as: Symbol `i386_optab' has different size
in shared object, consider re-linking
test.bas() error 79: Executable not found: "/home/sebastian/fb/bin/as"

Lösung: Die mitgelieferten Binaries von as usw. passen leider nicht zu Ihrer Systemumgebung. Um dieses Problem zu lösen, müssen Sie die mitgelieferten Binaries durch Symlinks auf die systemeigenen Binaries ersetzen.
Öffnen Sie dazu eine Konsole und wechseln Sie in das Unterverzeichnis bin/ des entpackten FB-Daily-Builds. Sie finden darin die folgenden Dateien:

sebastian@ubuntu:~/fb/bin$ ls -l
-rwxr-xr-x 1 sebastian sebastian  45888 May 21 02:20 ar
-rwxr-xr-x 1 sebastian sebastian 289876 May 21 02:20 as
-rwxr-xr-x 1 sebastian sebastian  88836 May 21 02:20 gprof
-rwxr-xr-x 1 sebastian sebastian 529192 May 21 02:20 ld

Benennen Sie die Dateien um zu *.old, in dem Sie der Reihe nach aufrufen:

mv as as.old

usw.

Erzeugen Sie anschließend Symlinks zu den systemeigenen Binaries:

sebastian@ubuntu:~/fb/bin$ ln -s /usr/bin/as ./as
sebastian@ubuntu:~/fb/bin$ ln -s /usr/bin/ld ./ld
... usw. ...

 

Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 21.05.2012 von AdministratorSebastian angelegt.
  • Die aktuellste Version wurde am 21.05.2012 von AdministratorSebastian gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen