Compilation (Übersetzen) & Installation
(Übersetztung - Stand der EN Seite vom 19.03.2024)
Dieses Dokument erklärt, wie man Gambas aus dem Quellcode baut und installiert.
Dies ist zwar nicht der einfachste Weg, Gambas auf Ihrem System zu installieren (da die meisten Distributionen bereits fertige Gambas-Pakete bereitstellen), es ist aber notwendig,
-
wenn Sie die allerletzte Gambas-Version wollen,
-
wenn Sie mit der Entwicklungsversion arbeiten wollen oder
-
wenn Sie eine Fehlersuche durchführen möchten.
Anforderungen
Entwicklungspakete
Um Gambas übersetzen zu können, müssen Sie die folgenden Abhängigkeiten und ihre "Entwicklungs"-Pendants installieren.
Der tatsächliche Name der Pakete, die diese Abhängigkeiten enthalten, kann je nach Distribution variieren.
Daher finden Sie weitere Informationen auf den distributionsspezifischen Seiten unten.
Komponenten
|
Anforderungen (libraries or pkg-config module)
|
Übersetzen
|
gcc g++ automake autoconf libtool >= 2.0
|
Interpreter
|
libffi
|
gb.compress.bzlib2
|
libbz2.so
|
gb.compress.zlib
|
libz.so
|
gb.compress.zstd
|
libzstd.so >= 1.3.3
|
gb.cairo
|
cairo >= 1.6.0 cairo-ft >= 1.6.0
|
gb.crypt
|
libcrypt.so
|
gb.db.mysql
|
libmysqlclient.so , libz.so
|
gb.db.odbc
|
libodbc.so
|
gb.db.postgresql
|
libpq.so
|
gb.db.sqlite2
|
libsqlite.so
|
gb.db.sqlite3
|
libsqlite3.so
|
gb.dbus
|
dbus-1
|
gb.desktop.x11
|
libXtst.so x11
|
gb.desktop.gnome
|
gnome-keyring-1
|
gb.gmp
|
libgmp.so
|
gb.gsl
|
libgsl.so libgslcblas.so
|
gb.gtk
|
gtk+-2.0 >= 2.16 cairo >= 1.6.0 cairo-ft >= 1.6.0
gtk+-unix-print-2.0 >= 2.10
librsvg-2.0 >= 2.14.3
|
gb.gtk.opengl
|
gtkglext-1.0
|
gb.gtk3
|
gtk+-3.0 >= 3.4 cairo >= 1.6.0 cairo-ft >= 1.6.0
gtk+-unix-print-2.0 >= 3.4
librsvg-2.0 >= 2.14.3
|
gb.gtk3.wayland
|
gtk+-3.0 >= 3.4 gdk-wayland-3.0
|
gb.gtk3.webview
|
gtk+-3.0 >= 3.4 webkit2gtk-4.0 >= 2.20
|
gb.gtk3.x11
|
gtk+-3.0 >= 3.4 gdk-x11-3.0
|
gb.image.io
|
gdk-pixbuf
|
gb.image.imlib
|
imlib
|
gb.libxml
|
libxml-2.0
|
gb.media
|
gstreamer-0.10 >= 0.10.31 gstreamer-interfaces-0.10 >= 0.10.31 für Gambas <= 3.4
gstreamer-1.0 gstreamer-video-1.0 für Gambas >= 3.5
|
gb.mime
|
gmime-2.6 oder gmime-3.0
|
gb.ncurses
|
ncurses.so panel.so
|
gb.net.curl
|
libcurl >= 7.13
|
gb.openal
|
openal >= 1.13 alure
|
gb.opengl gb.opengl.glsl
|
libGL.so libGLEW.so
|
gb.opengl.glu
|
libGLU.so
|
gb.openssl
|
openssl
|
gb.pcre
|
libpcre.so
|
gb.pdf
|
poppler >= 0.5
|
gb.poppler
|
poppler >= 0.20 poppler-cpp poppler-glib
|
gb.qt4
|
QtCore >= 4.5.0 QtGui QtSvg x11
|
gb.qt4.ext
|
QtCore >= 4.5.0 QtGui Qt3Support x11
|
gb.qt4.opengl
|
QtCore >= 4.5.0 QtGui QtOpenGL x11 gl
|
gb.qt4.webkit
|
QtCore >= 4.5.0 QtGui QtNetwork QtDBus QtXml QtWebKit >= 4.5.0
|
gb.qt4.webview
|
QtCore >= 4.5.0 QtGui QtNetwork QtDBus QtXml QtWebKit >= 4.5.0
|
gb.qt5
|
Qt5Core >= 5.3.0 Qt5Gui Qt5Widgets Qt5Svg Qt5PrintSupport
|
gb.qt5.ext
|
Qt5Core >= 5.3.0 Qt5Gui Qt5Widgets x11
|
gb.qt5.opengl
|
Qt5Core >= 5.3.0 Qt5Gui Qt5Widgets Qt5OpenGL gl x11
Hinweis: Qt5OpenGL wird nicht benötigt, wenn Ihre Qt-Version >= 5.4.0 ist.
|
gb.qt5.wayland
|
Qt5Core >= 5.3.0 Qt5Gui Qt5Widgets
|
gb.qt5.webkit
|
Qt5Core >= 5.3.0 Qt5Gui Qt5Widgets Qt5Network Qt5Xml Qt5WebKit Qt5WebKitWidgets Qt5PrintSupport
|
gb.qt5.webview
|
Qt5Core >= 5.5.0 Qt5WebEngineWidgets
|
gb.qt5.x11
|
Qt5Core >= 5.3.0 Qt5Gui Qt5Widgets Qt5X11Extras x11-xcb
|
gb.sdl
|
libSDL.so libSDL_ttf.so libGL.so libGLEW.so
|
gb.sdl.sound
|
libSDL.so libSDL_mixer.so
|
gb.sdl2
|
libSDL2-2.0.so libSDL2_image-2.0 libSDL2_ttf-2.0 libGL.so libGLEW.so
|
gb.sdl2.audio
|
libSDL2-2.0.so libSDL2_mixer-2.0.so
|
gb.v4l
|
libjpeg.so libpng.so (Video4Linux >= 2.0)
|
gb.xml.xslt
|
libxml-2.0 libxslt
|
Andere Anforderungen
Sie müssen das Recht haben, in das Verzeichnis
/tmp
zu schreiben, sonst wird Gambas nicht funktionieren.
Die folgenden Versionen der GNU-Tools werden ebenfalls zum Bauen benötigt:
-
automake 1.11.1
-
autoconf 2.68
-
libtool 2.4
Das Kompilieren mit älteren Versionen kann funktionieren oder auch nicht!
Herunterladen der Quellen
Es gibt zwei Möglichkeiten, die Gambas-Quellen zu erhalten: das Herunterladen des Release
tar
-Archivs oder das Abrufen aus dem
git
-Repository.
Herunterladen des Release tar
-Archivs
Das
tar
-Archiv für die neueste Version kann direkt von
der Website heruntergeladen werden, aus dem Abschnitt
Download.
Abrufen aus dem git
-Repository
Wenn Sie die Entwicklungsversion verwenden möchten, müssen Sie die Quellen aus dem
git
-Repository abrufen.
Außerdem müssen Sie
git
installieren, um die folgenden Befehle verwenden zu können.
Weitere Informationen zur Verwendung des Gitlab Gambas-Repository finden Sie im
Git development guide for Gambas
Geben Sie den folgenden Befehl ein, um die letzte Revision der Entwicklungsversion in einem neuen "Gambas"-Verzeichnis abzurufen:
$ git clone --depth=1 https://gitlab.com/gambas/gambas.git
Das Argument
--depth=1
bewirkt, dass
git
nur die letzte Version herunterlädt.
Wenn Sie es weglassen, lädt es den gesamten Verlauf der Änderungen am Quellcode herunter, was unnötig ist, wenn Sie nicht vorhaben, zu Gambas beizutragen.
Daher ist es für die meisten Benutzer besser, diese Option zu aktivieren, da dies die Größe des Downloads und die Festplattennutzung verringert.
Sobald der Download abgeschlossen ist, wird ein "Gambas"-Verzeichnis erstellt, das den Quellcode enthält.
Um nach Aktualisierungen zu suchen und diese herunterzuladen, gehen Sie in das
gambas
-Verzeichnis und verwenden Sie den folgenden Befehl:
Die Quellen werden dann aktualisiert und Sie müssen den Übersetzungs- und Installationsvorgang neu starten, um die letzten Änderungen in Ihr System zu übernehmen.
Paketabhängigkeitslisten und Konfigurationsbefehle für die neueste Version von GitLab
Diese Anweisungen stammen direkt aus der Konfigurationsdatei von GitLab Continuous Integration. Sie funktionieren, außer bei einem Fehler, den Sie direkt überprüfen können im
Status der GitLab-Pipelines.
Arch Linux
pacman -Syu --needed --noconfirm alure autoconf automake bzip2 zstd coreutils curl dbus gcc gdk-pixbuf2 git glew glib2 gmime3 gsl gst-plugins-base gstreamer gtk2 gtk3 imlib2 intltool libffi libgl libgnome-keyring mariadb-libs librsvg libsm libxcursor libxml2 libxslt libxtst mariadb make mesa ncurses pcre
pacman -Syu --needed --noconfirm pkg-config poppler poppler-glib postgresql postgresql-libs qt5-svg qt5-x11extras sdl2 sdl2_gfx sdl2_image sdl2_mixer sdl2_net sdl2_ttf sdl_mixer sdl_ttf smpeg sqlite unixodbc v4l-utils xdg-utils zlib gettext qt5-webengine webkit2gtk qt6-svg qt6-webengine mongo-c-driver
./reconf-all
./configure -C --disable-sqlite2 --disable-qt4 --disable-pdf --disable-qt5webkit --disable-gtkopengl
Debian Bullseye (11)
apt-get update && apt-get install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git libssl-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-sqlite2 --disable-qt4 --disable-qt6
Debian Bookworm (12)
apt-get update && apt-get install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git libssl-dev qt6-base-dev qt6-webengine-dev qt6-svg-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-sqlite2 --disable-qt4
Debian Trixie (13)
apt-get update && apt-get install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libpcre2-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.1-dev git libssl-dev qt6-base-dev qt6-webengine-dev qt6-svg-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-sqlite2 --disable-qt4 --disable-gtkopengl
Debian Sid (unstable)
apt-get update && apt-get install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.1-dev git libssl-dev qt6-base-dev qt6-webengine-dev qt6-svg-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-qt4 --disable-sqlite2
Ubuntu Lunar (23.04)
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential git g++ automake autoconf libtool libbz2-dev libzstd-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-private-dev libpoppler-glib-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev libfribidi-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-qt4 --disable-qt6
Ubuntu Jammy (22.04)
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential git g++ automake autoconf libtool libbz2-dev libzstd-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-private-dev libpoppler-glib-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev libfribidi-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-qt4 --disable-qt6
Ubuntu Focal (20.04)
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential git g++ automake autoconf libtool libbz2-dev libzstd-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-private-dev libpoppler-glib-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-2.6-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev libfribidi-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-qt4 --disable-qt6
Ubuntu Bionic (18.04)
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential git g++ automake autoconf libtool libbz2-dev libzstd-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-private-dev libpoppler-glib-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libqt4-dev libqtwebkit-dev libqt4-opengl-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-2.6-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev libfribidi-dev libmongoc-dev
./reconf-all
./configure -C --disable-keyring --disable-qt6
Ubuntu Xenial (16.04)
apt-get update && apt-get install -y build-essential g++ git automake autoconf libtool libbz2-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libqt4-dev libqtwebkit-dev libqt4-opengl-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgnome-keyring-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-2.6-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev libwebkit2gtk-3.0-dev libfribidi-dev
./reconf-all
./configure -C --disable-gtk3webview --disable-qt5webview --disable-qt5wayland --disable-zstd --disable-qt6 --disable-mongodb
Ubuntu Trusty (14.04)
apt-get update && apt-get install -y build-essential git g++ automake autoconf libtool libbz2-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libqt4-dev libqtwebkit-dev libqt4-opengl-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgnome-keyring-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl0-dev libncurses5-dev libgmime-2.6-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libglu1-mesa-dev libglu1-mesa-dev libglew1.10 libglu1-mesa libgles2-mesa-dev libwebkit2gtk-3.0-dev libfribidi-dev
./reconf-all
./configure -C --disable-qt5 --disable-gtk3webview --disable-gtk3opengl --disable-zstd --disable-qt6 --disable-mongodb
Hinweis: Für die Ubuntu/LinuxMint PPA-Installationsmethode des letzten stabilen Builds
oder täglichen Builds, die nicht kompiliert werden müssen - siehe die Ubuntu Seite.
Alpine
apk add --no-progress -q autoconf automake libtool curl-dev dbus-dev g++ gdk-pixbuf-dev git gmp-dev glew-dev glib-dev gmime-dev gsl-dev gst-plugins-base-dev gstreamer-dev gtk+2.0-dev gtk+3.0-dev imlib2-dev gettext-dev libffi-dev mesa-dev mariadb-dev librsvg-dev libsm-dev libxcursor-dev libxml2-dev libxslt-dev libxtst-dev make ncurses-dev pcre-dev pkgconf poppler-dev postgresql-dev qt5-qtsvg-dev qt5-qtx11extras-dev qt5-qtwebengine-dev sdl2-dev sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev sqlite-dev unixodbc-dev xdg-utils zlib-dev webkit2gtk-dev qt6-qtsvg-dev qt6-qtwebengine-dev mongo-c-driver-dev
./reconf-all
./configure -C --disable-openal --disable-qt4 --disable-sdl --disable-sdlsound --disable-sqlite2 --disable-v4l --disable-gtkopengl --disable-zstd --disable-qt5webkit --disable-pdf --disable-keyring
Fedora Latest
dnf install -y libtool libtool-ltdl-devel gcc make autoconf dumb-devel gmime-devel gmime30-devel libffi-devel mariadb-devel postgresql-devel unixODBC-devel sqlite2-devel libsqlite3x-devel libxslt-devel libv4l-devel glew-devel poppler-devel poppler-glib-devel poppler-cpp-devel qt-devel qt5-qtbase-devel qt5-qtbase-private-devel qt5-qtwebengine-devel qt5-qtx11extras-devel qt5-qtsvg-devel SDL_ttf-devel SDL_mixer-devel SDL-devel SDL2_ttf-devel SDL2_mixer-devel SDL2_image-devel SDL2-devel cairo-devel gtk2-devel gtk3-devel imlib2-devel librsvg2-devel qt-webkit-devel qt5-qtwebkit qt5-qtwebkit-devel openal-soft-devel libjpeg-turbo-devel gtkglext-devel gmp-devel libxml2-devel libXtst-devel gsl-devel pcre-devel dbus-devel libcurl-devel alure-devel gstreamermm-devel libgnome-keyring-devel bzip2-devel libzstd-devel webkit2gtk3-devel ncurses-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtsvg-devel mongo-c-driver-devel
./reconf-all
./configure -C --disable-pdf
OpenSuse Leap/Tumbleweed
zypper update -y && zypper install -y libtool gawk gcc glew-devel gmime-devel gtk2-devel gtk3-devel libqt5-qtx11extras-devel libqt5-qtwebengine-devel libQt5Xml-devel libQt5Sql-devel libqt5-qtsvg-devel libQt5Gui-devel libQt5Core-devel libQt5Sql5-postgresql libQt5Sql5-unixODBC libQt5Sql5-mysql libQt5Sql5-sqlite webkit2gtk3-devel libICE-devel libSM-devel unixODBC-devel libzip-devel libzstd-devel libmariadb-devel gsl-devel libopenssl-devel alure-devel postgresql-devel libcurl-devel libSDL_ttf-devel libSDL_mixer-devel libSDL-devel libSDL2_ttf-devel libSDL2_mixer-devel libSDL2_image-devel libSDL2-devel libxslt-devel libv4l-devel librsvg-devel gtkglext-devel libgnome-keyring-devel libjpeg62-devel libpoppler-devel libpoppler-glib-devel imlib2-devel gmp-devel gstreamermm-devel qt6-webenginewidgets-devel qt6-svg-devel qt6-gui-devel qt6-core-devel qt6-openglwidgets-devel
./reconf-all
./configure -C --disable-qt4 --disable-sqlite2 --disable-qt5webkit --disable-pdf --disable-mongodb
Übersetzen und Installieren von Gambas 3
Konfiguration des Quellpakets
Der Übersetzungsvorgang ist derselbe, egal ob Sie die Quellen aus dem
tar
-Archiv oder aus
git
heruntergeladen haben.
Wenn Sie sicher sind, dass alles heruntergeladen wurde, geben Sie die folgenden magischen Sätze in eine Shell ein.
'$'
steht für Ihre Shell-Eingabeaufforderung, und '...'
sind die Meldungen, die während der Konfiguration und Übersetzung ausgegeben werden.
'#'
stellt einen Befehl dar, der als Superuser ausgeführt werden muss.
Geben Sie zunächst das Hauptverzeichnis der Quelle an:
$ cd /path/to/source/directory/
Geben Sie das Folgendes ein, um die Konfigurationsskripte zu erstellen:
Geben Sie dann Folgendes ein, um das aktuelle System zu analysieren und das Paket zu konfigurieren:
Wenn eine Bibliothek oder ein Entwicklungspaket fehlt, werden Sie gewarnt, dass einige Komponenten deaktiviert sind.
Hinweis: Wenn Sie möchten, dass
./configure
nur Fehlermeldungen und nicht alle Prüfinformationen ausgibt, verwenden Sie das Flag
-q
(quiet)
aber verwenden Sie
-q
nicht, wenn Sie die Installationsausgabe an das Gambas-Team senden, um Hilfe zu erhalten.
In der Datei INSTALL
, die sich im obersten Quellverzeichnis befindet, gibt es weitere spezifische Erläuterungen zu configure
.
Ich empfehle Ihnen, diese zu lesen.
Übersetzen
Wenn alles ohne Fehler konfiguriert ist, führen Sie diesen Befehl aus, um das Programm zu kompilieren:
Das Argument -j
legt fest, wie viele "Jobs" auf einmal ausgeführt werden sollen und Ihr Computer kann alle CPU-Kerne nutzen. Die Anweisung $(nproc)
gibt die Anzahl der Kerne zurück.
Installation
Wenn alles ohne Fehler übersetzt wird, geben Sie diesen Befehl ein, um alles zu installieren:
Sie müssen "root" sein, um Gambas auf Ihrem System zu installieren.
# su -c "make install"
Password: <Type the root password here>
...
oder
# sudo make install
Password: <Type your password here>
...
Problembehebung
Wenn Sie mehrere aufeinanderfolgende Übersetzungen durchgeführt haben, nachdem Sie beispielsweise den Quellcode aus dem Repository aktualisiert haben und wenn dabei etwas
fehlschlägt, können Sie versuchen, die Konfigurationsskripte durch Eingabe des folgenden Befehls neu zu konfigurieren:
Dann können Sie
./configure -C -q
erneut ausführen.
Wenn es nicht funktioniert, muss ich wissen, was genau passiert ist. Geben Sie dazu den folgenden Befehl ein:
# ( ./configure -C; make; make install ) > output.txt 2>&1
Und schicken Sie mir die Datei "output.txt" per E-Mail, zusammen mit allen anderen Details über Ihren Computer und Ihre Distribution, die Sie für nützlich halten.
Eine andere Möglichkeit, wenn Sie einen bestehenden Quellcode-Ordner haben, der zwar übersetzt wurde, aber nach einem Update nicht mehr funktioniert, selbst nachdem Sie
./reconf-all
ausgeführt haben, ist, dass es einige Dateien/Bibliotheken gibt, die nicht aktualisiert/neu übersetzt werden.
Sie können versuchen,
make clean
oder
make distclean
auszuführen, um Ihren Quellcode-Ordner von allen erstellten Dateien zu säubern, damit alle Dateien von Grund auf neu übersetzt werden.
oder
Die Entwicklungsumgebung
Die Gambas IDE wurde mit Gambas erstellt. Um diese zu kompilieren und zu verwenden, müssen Sie die folgenden Komponenten übersetzt haben:
Benutzerdefinierte Tools zur Unterstützung des Prozesses
Tools zur Unterstützung bei der Kompilierung/Installation des neuesten Gambas3
Weitere Anleitungen / Installationsoptionen für bestimmte Distributionen und ältere Versionen