Etat des lieux sur l'installation de PB sous Linux

Codes specifiques à Linux
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Etat des lieux sur l'installation de PB sous Linux

Message par MetalOS »

Bon comme tous le monde le sais une installation propre de PB sous Linux et une vrai galère. Je ne rejette la faute sur personne, ni PB ni Linux, le système de librairies des distrib linux fait que c'est compliqué :-D

Mais il y a quand même quelque trucs que je ne comprend pas. Quand on exécute le fichier checkinstall.sh dans une console on nous dit d’exécuter cette commande pour installer toutes les dépendances dont PB à besoin.

Code : Tout sélectionner

sudo apt-get install gcc g++ libc6-dev libsdl1.2-dev libgtk-3-dev unixodbc-dev libgnome2-dev libxine2-dev libwebkitgtk-3.0-dev libxxf86vm-dev libwebkitgtk-dev libwebkitgtk-3.0-dev
Hors si je me base sur mon Ubuntu 20.04 qui est la dernière version en date, les libs

libgnome2-dev
libwebkitgtk-3.0-dev
libwebkitgtk-dev
libwebkitgtk-3.0-dev

n'existe pas dans les dépots. Sont elles indispensable à l'exécution de PB ou Fred et sont équipe on oublié de les retirer du fichier checkinstall.sh, ou une mise à jour de PB corrigera ses problèmes ?

Fred si tu passe par là pour éclairer ma lanterne, merci d'avance.
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Patrick88 »

Linux Mint Cinamon 20,

j'ai suivi "Quick Installation method" du fichier INSTALL

j'ai copié le dossier PureBasic dans mon home sur le Bureau
j'ai autorisé les fichiers programme à s'exécuter (propriétés/permissions) du dossier compilers
j’exécute PureBasic depuis le dossier compiler (dbl clic)
l'éditeur s'ouvre et je peux charger les exemples (2ddrawing et gadget) mais à l'execution j'ai une erreur dans le log
[15:18:35] [COMPILER] Linker error!
et une boite de dialogue
/usr/bin/ld : ne peut trouver -lX11
collect2: error: ld returned 1 exit status

via le magasin d'app, j'avais installé Code:Block mais il n'y a que le GCC par défaut.

./checkinstall.sh
Package gtk+-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-3.0' found
gtk+ 3.0 devel package need to be installed to use PureBasic
petite correction, les exemples qui n'utilisent ni les fenêtres, ni les graphismes 2d ou 3d s'exécutent sans erreurs, et compilent...

Pat
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Etat des lieux sur l'installation de PB sous Linux

Message par MetalOS »

Il doit te manquer quelque chose en dépendances.

Tu est sous Mate ou Gnome ?
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Etat des lieux sur l'installation de PB sous Linux

Message par MetalOS »

Tu a essayer d'installer Gtk+3.0 devel ?
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Patrick88 »

MetalOS a écrit :Tu est sous Mate ou Gnome ?
sgreugneugneu keskejcmoi
https://fr.wikipedia.org/wiki/Linux_Mint -> blabla... L'édition par défaut Cinnamon (fork de Gnome Shell) ...
MetalOS a écrit :Tu a essayer d'installer Gtk+3.0 devel ?
ah faut chercher !
https://www.gtk.org/docs/installations/linux/
https://download.gnome.org/sources/gtk+/3.24/
LATEST-IS-3.24.21
GTK+ requires the following packages:

- The GLib, Pango, GdkPixbuf, ATK and cairo libraries, available at
the same location as GTK+. GTK+ 3.24.21 requires at least
GLib 2.57.2, Pango 1.41.0,
GdkPixbuf 2.30.0, ATK 2.15.1
and cairo 1.14.0.

- libepoxy, for cross-platform OpenGL support.
It can be found here: https://github.com/anholt/libepoxy

- Each GDK backend has its own backend-specific requirements. For
the X11 backend, X11 R6 and XInput version 2 (as well as a number
of other extensions) are required. The Wayland backend requires
(obviously) the Wayland libraries.

- gobject-introspection 1.39.0 or newer.
Simple install procedure
========================

% tar xf gtk+-3.24.21.tar.xz # unpack the sources
% cd gtk+-3.24.21 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
[ Become root if necessary ]
% make install # install GTK+
ça coince au 1er "make"

Code : Tout sélectionner

root@patrick-P5K-SE:/home/patrick/Téléchargements/gtk+-3.24.21# make
make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt.
y'a que 2 make qui se lance par dbl-clic / affichage vert, "Makefile.am" et "Make-pot", mais pas d'affichage écran ...
et je ne sais pas les lancer dans la console, pour avoir une trace
root@patrick-P5K-SE:/home/patrick/Téléchargements/gtk+-3.24.21# Makefile.am
bash: Makefile.am : commande introuvable
root@patrick-P5K-SE:/home/patrick/Téléchargements/gtk+-3.24.21# Makefile
bash: Makefile : commande introuvable
Image

bon bin sur ce... café !

Pat
Dernière modification par Patrick88 le ven. 07/août/2020 9:27, modifié 1 fois.
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Patrick88 »

MetalOS a écrit :Bon comme tous le monde le sais une installation propre de PB sous Linux et une vrai galère.
j'aurais dû me méfier dès le début :mrgreen: :mrgreen:

pat
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Patrick88 »

comme quoi un café...
il fallait mettre "./" avant la commande, ah bin c'était pourtant simple... comme ça je vois que ça marche... pas :mrgreen:

Code : Tout sélectionner

root@patrick-P5K-SE:/home/patrick/Téléchargements/gtk+-3.24.21# ./Makefile.am
./Makefile.am: ligne 2: top_srcdir : commande introuvable
./Makefile.am: ligne 2: include : commande introuvable
....
j'ai relancé le "./configure" et regardé ce qu'il affichait
root@patrick-P5K-SE:/home/patrick/Téléchargements/gtk+-3.24.21# ./configure
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for gcc... gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking whether gcc and cc understand -c and -o together... yes
checking whether make sets $(MAKE)... (cached) yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for a sed that does not truncate output... /bin/sed
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for native Win32... no
checking for c++... c++
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... c++ -E
checking for ld used by c++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the c++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for c++ option to produce PIC... -fPIC -DPIC
checking if c++ PIC flag -fPIC -DPIC works... yes
checking if c++ static flag -static works... yes
checking if c++ supports -c -o file.o... yes
checking if c++ supports -c -o file.o... (cached) yes
checking whether the c++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: creating ./config.lt
config.lt: creating libtool
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking dependency style of gcc... gcc3
checking for nm... /usr/bin/nm -B
checking for some Win32 platform... no
checking for shm_open in -lrt... yes
checking for posix_fallocate... yes
checking for flockfile... yes
checking for _lock_file... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for wayland-scanner... no
checking for WAYLAND_DEPENDENCIES... no
checking whether build environment is sane... yes
checking for BASE_DEPENDENCIES... no
configure: error: Package requirements (glib-2.0 >= 2.57.2 atk >= 2.15.1 pango >= 1.41.0 fribidi >= 0.19.7 cairo >= 1.14.0 cairo-gobject >= 1.14.0 gdk-pixbuf-2.0 >= 2.30.0) were not met:

No package 'glib-2.0' found
No package 'atk' found
No package 'pango' found
No package 'fribidi' found
No package 'cairo' found
No package 'cairo-gobject' found
No package 'gdk-pixbuf-2.0' found


Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS
and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
plus qu'a chercher ces trucs là... "encore du boulot..."

Pat
Dernière modification par Patrick88 le ven. 07/août/2020 9:48, modifié 2 fois.
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Marc56 »

y'a que 2 make qui se lance par dbl-clic / affichage vert, "Makefile.am" et "Make-pot", mais pas d'affichage écran ...
et je ne sais pas les lancer dans la console, pour avoir une trace
Comme il n'y a pas de PATH sur le répertoire en cours (sécurité), un programme se lance dans la console en spécifiant son chemin (complet ou relatif)
donc

Code : Tout sélectionner

./Makefile.am
ou

Code : Tout sélectionner

sh Makefile.am
Mais en principe le Makefile ne contient que les instructions de compilation.
Normalement, on lance

Code : Tout sélectionner

make
et il cherche un makefile (sans extension) dans le même répertoire

Donc en principe tu renomme ou copie le Makefile.xxx qui te convient en makefile (minuscules, sans extensions) et tu lance make (seul)

Une compilation se faire en général en 3 étapes

./configure
make
make install

Le premier vérifie qu'il y a tout ce qu'il faut
Le deuxième compile
Le troisième installe là où il faut

:wink:
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Patrick88 »

ah !
okay merci...
je savais pas pour le shell... moi:bête :mrgreen:

Pat
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Marc56 »

configure: error: Package requirements (glib-2.0 >= 2.57.2 atk >= 2.15.1 pango >= 1.41.0 fribidi >= 0.19.7 cairo >= 1.14.0 cairo-gobject >= 1.14.0 gdk-pixbuf-2.0 >= 2.30.0) were not met:

No package 'glib-2.0' found
No package 'atk' found
No package 'pango' found
No package 'fribidi' found
No package 'cairo' found
No package 'cairo-gobject' found
No package 'gdk-pixbuf-2.0' found
Sans compter que chacun des ces packages risque d'en demander d'autres :o
Prépare du café et de l'aspirine :mrgreen:
(ou installes une Slackware) 8)
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Patrick88 »

ou installer pb windows sous wine. en 3 clic c'est fait et.. ça marche... :roll:

Pat
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Etat des lieux sur l'installation de PB sous Linux

Message par MetalOS »

Ce que je ne comprends pas Pat, c'est pourquoi tu cherche à compiler GTK, il doit être disponible dans les dépôt normalement sous Mint.
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Etat des lieux sur l'installation de PB sous Linux

Message par MetalOS »

En tous cas libgnome2-dev que PB aurait apparemment besoin et devenue obsolète et il a même été retiré des dépôt officiel Debian. Je ne sais pas si Fred a prévu une mise à jour pour la version Linux de PB car ça risque de devenir compliqué de développer avec cette version.
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Etat des lieux sur l'installation de PB sous Linux

Message par MetalOS »

Oui mais PB sous wine ne te permet pas de compiler une application natif Linux.
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Etat des lieux sur l'installation de PB sous Linux

Message par Patrick88 »

ça avance, après exécution de

Code : Tout sélectionner

sudo apt-get install libcairo2-dev
, je n'ai plus que
No package 'atk' found
No package 'pango' found
No package 'fribidi' found
No package 'gdk-pixbuf-2.0' found
je vais regarder s'il y a des sudo truc pour les libs qu'ils me manquent. (j'ai déjà télécharger les lib...)
si ça se trouvent ça existent aussi pour gtk mais j'ai pas mis les yeux là ou ils fallait..

pat
Répondre