Tutorial
Tipps zum FB-Daily-Build für Linux
von Sebastian | Seite 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:
- binutils
- binutils-dev (binutils-devel or binutils-static)
- libncurses-dev (ncurses-devel)
- libx11-dev (libX11-devel)
- libxext-dev (libXext-devel)
- libxpm-dev (libXpm-devel)
- libxrandr-dev (libXrandr-devel)
- libxrender-dev (libXrender-devel)
- libgpm-dev (gpm-devel)
- freeglut3-dev (freeglut-devel)
- libffi-dev (ffi-devel)
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 | |||||||
---|---|---|---|---|---|---|---|
|