Installer GTK [Réglé]
Est-il possible d'installer la vieille version de GTK ?
Logiciels / Autres logiciels

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
J'espère que je suis dans le bon forum.
Je souhaiterais utiliser une application basée sur GTK, la version 1. Est-il possible d'après vous de l'installer ?

Visiteur
Visiteur
Nero ?

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
artenox :
Vous pouvez le faire. Vous devez compiler GTK1 à partir des sources.
Ah, d'accord. Bon, je vais peut-être laisser tomber.
artenox :
Vérifiez d'abord, peut-être que votre application est portée sur GTK2.
Non, l'application n'a pas été portée. Il s'agit d'un outil livré avec Free Pascal, et qui n'a pas été mis à jour depuis longtemps. (Discussion en anglais sur le forum Lazarus.)
artenox :
Il est fort probable que l'application soit en 32 bits.
Oui, probable en effet. Mais il est possible que l'application fonctionne en 64 bits, non ? Peut-être en la retouchant un peu...
En tout cas merci pour votre réponse.
Édité par Roland57 Le 13/04/2021 à 14h10

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
J'ai téléchargé GTK sur cette page.
Ça commence mal...
Code TEXT :
[roland@localhost sources]$ gzip -cd gtk+-1.2.8.tar.gz | tar xvf - gtk+-1.2.8/ gtk+-1.2.8/Makefile.in gtk+-1.2.8/examples/ ... [roland@localhost sources]$ cd gtk+-1.2.8 [roland@localhost gtk+-1.2.8]$ ./configure creating cache ./config.cache checking for a BSD compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... missing checking for working autoconf... missing checking for working automake... missing checking for working autoheader... missing checking for working makeinfo... missing checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized checking build system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized checking for ranlib... ranlib checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes updating cache ./config.cache loading cache ./config.cache within ltconfig ltconfig: you must specify a host type if you use `--no-verify' Try `ltconfig --help' for more information. configure: error: libtool configure failed [roland@localhost gtk+-1.2.8]$
Code TEXT :
[roland@localhost gtk+-1.2.8]$ ltconfig --help bash: ltconfig : commande introuvable [roland@localhost gtk+-1.2.8]$
Édité par Roland57 Le 13/04/2021 à 17h07

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :
./configure --help
pour voir si tu peux pas en spécifier un autre approchant

Visiteur
Visiteur
Code BASH :
sudo urpmi gcc gcc-c++ make automake autoconf cmake ninja meson yasm nasm git python3-pip strip-nondeterminism ccache pkgconf-pkg-config libtool fakeroot flex bison libopenssl-devel python2 rpm-build spec-helper rpmlint sudo nano mc
Ensuite, vous devez installer les dépendances de construction. Je prendrais l'exemple de src.rpm de GTK2.
http://mirrors.kernel.org/mageia/distrib/8/SRPMS/core/release/gtk%2B2.0-2.24.33-1.mga8.src.rpm
http://mirrors.kernel.org/mageia/distrib/8/SRPMS/core/release/glib2.0-2.66.4-3.mga8.src.rpm
Code BASH :
sudo urpmi --buildrequires "gtk+2.0-2.24.33-1.mga8.src.rpm" sudo urpmi --buildrequires "glib2.0-2.66.4-3.mga8.src.rpm"
GTK1.2 nécessite Glib1.2. Vous devez d'abord compiler Glib1.
https://download.gnome.org/sources/gtk+/1.2/gtk%2B-1.2.10.tar.gz
https://download.gnome.org/sources/glib/1.2/glib-1.2.10.tar.gz
Code BASH :
cd glib1 ./configure --prefix=/opt/gtk1 make sudo make install sudo ldconfig cd .. cd gtk1 export PKG_CONFIG_PATH=/opt/gtk1/pkgconfig:$PKG_CONFIG_PATH ./configure --prefix=/opt/gtk1 make sudo make install
Je le ferai bientôt.
D'ailleurs, les anciennes versions de Mageia (1-4) ne sont restées que sur un seul miroir ukrainien ! Et je pense que par pur hasard.
http://mageia.ip-connect.vn.ua/distrib/1/i586/media/core/
Édité par Visiteur Le 13/04/2021 à 20h42

Visiteur
Visiteur
Caché :
gstrfuncs.c:871:30: error: expected ')' before string constant
871 | "(): unable to handle positional parameters (%%n$)");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib.h:1306:11: note: in definition of macro 'g_warning'
1306 | __VA_ARGS__)
| ^~~~~~~~~~~
gstrfuncs.c:1038:32: error: expected ')' before string constant
1038 | "(): unable to handle long double, collecting double only");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib.h:1306:11: note: in definition of macro 'g_warning'
1306 | __VA_ARGS__)
| ^~~~~~~~~~~
gstrfuncs.c:1081:34: error: expected ')' before string constant
1081 | "(): unable to handle wide char strings");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib.h:1306:11: note: in definition of macro 'g_warning'
1306 | __VA_ARGS__)
| ^~~~~~~~~~~
gstrfuncs.c:1112:30: error: expected ')' before string constant
1112 | "(): unable to handle `%c' while parsing format",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:297: gstrfuncs.lo] Error 1
make[2]: Leaving directory «/home/denis/glib1»
make[1]: *** [Makefile:442: all-recursive] Error 1
make[1]: Leaving directory «/home/denis/glib1»
make: *** [Makefile:616: all-recursive-am] Error 2
871 | "(): unable to handle positional parameters (%%n$)");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib.h:1306:11: note: in definition of macro 'g_warning'
1306 | __VA_ARGS__)
| ^~~~~~~~~~~
gstrfuncs.c:1038:32: error: expected ')' before string constant
1038 | "(): unable to handle long double, collecting double only");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib.h:1306:11: note: in definition of macro 'g_warning'
1306 | __VA_ARGS__)
| ^~~~~~~~~~~
gstrfuncs.c:1081:34: error: expected ')' before string constant
1081 | "(): unable to handle wide char strings");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib.h:1306:11: note: in definition of macro 'g_warning'
1306 | __VA_ARGS__)
| ^~~~~~~~~~~
gstrfuncs.c:1112:30: error: expected ')' before string constant
1112 | "(): unable to handle `%c' while parsing format",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:297: gstrfuncs.lo] Error 1
make[2]: Leaving directory «/home/denis/glib1»
make[1]: *** [Makefile:442: all-recursive] Error 1
make[1]: Leaving directory «/home/denis/glib1»
make: *** [Makefile:616: all-recursive-am] Error 2
https://opensuse.opensuse.narkive.com/2iLPP5nU/glib-1-2-build-error
Édité par Visiteur Le 14/04/2021 à 01h34

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Merci pour la réponse.
J'ai finalement fait comme ça :
Code BASH :
./configure --prefix=/opt/gtk1 --target=x86_64
@artenox
Merci pour la procédure détaillée.
J'aboutis à la même erreur de compilation que vous.
Édité par Roland57 Le 14/04/2021 à 06h05

Visiteur
Visiteur
https://software.opensuse.org/package/glib
https://www.rpmseek.com/rpm-pl/glib.html?hl=com
https://software.opensuse.org/package/gtk
https://www.rpmseek.com/rpm-pl/gtk.html?hl=com
http://ftp5.gwdg.de/pub/opensuse/discontinued/source/distribution/
http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/
Caché :
https://wiki.mageia.org/en/Packagers_RPM_tutorial
Code BASH :
sudo urpmi --buildrequires ~/source/*.src.rpm mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp} rpm -i ~/source/*.src.rpm cd ~/rpmbuild/SPECS rpmbuild -ba *.spec
Édité par Visiteur Le 14/04/2021 à 11h18

Visiteur
Visiteur
x86_64:
Code BASH :
wget http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/x86_64/glib-1.2.10-740.2.x86_64.rpm wget http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/x86_64/gtk-1.2.10-1089.2.x86_64.rpm sudo urpmi glib-1.2.10-740.2.x86_64.rpm sudo rpm -Uvh --force --nodeps gtk-1.2.10-1089.2.x86_64.rpm
i586:
Code BASH :
wget http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/i586/glib-1.2.10-740.2.i586.rpm wget http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/i586/gtk-1.2.10-1089.2.i586.rpm sudo urpmi glib-1.2.10-740.2.i586.rpm sudo rpm -Uvh --force --nodeps gtk-1.2.10-1089.2.i586.rpm
Il n'y a pas de conflits de fichiers.
Remarque : des paquets 32 bits sont disponibles pour une installation sur un système 64 bits :
Code BASH :
http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/x86_64/glib-32bit-1.2.10-740.2.x86_64.rpm http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/x86_64/gtk-32bit-1.2.10-1089.2.x86_64.rpm
Et aussi devel:
Code BASH :
http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/x86_64/glib-devel-1.2.10-740.2.x86_64.rpm http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/x86_64/glib-devel-32bit-1.2.10-740.2.x86_64.rpm http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/suse/x86_64/gtk-devel-1.2.10-1089.2.x86_64.rpm
Les packs devel sont nécessaires si nous voulons compiler notre ancien programme compatible GTK1 à partir des sources.
Si notre ancien programme est en binaire et que nous voulons juste l'exécuter, alors les packs devel ne sont pas nécessaires.
Édité par Visiteur Le 14/04/2021 à 22h35

Visiteur
Visiteur
artenox :
Les packs devel sont nécessaires si nous voulons compiler notre ancien programme compatible GTK1 à partir des sources
Et ça marche ! Je viens de compiler avec GTK1 un vieux programme unique - analyseur graphique de fichiers MP3 - mp3x. Enfin. Ce programme n'existe même pas dans Arch Linux AUR ! Il fonctionne dans Mageia 8.


readelf -d /opt/lame/bin/mp3x :
0x00000001 (NEEDED) Shared library: [libncurses.so.6]
0x00000001 (NEEDED) Shared library: [libtinfo.so.6]
0x00000001 (NEEDED) Shared library: [libgtk-1.2.so.0]
0x00000001 (NEEDED) Shared library: [libgdk-1.2.so.0]
0x00000001 (NEEDED) Shared library: [libgmodule-1.2.so.0]
0x00000001 (NEEDED) Shared library: [libglib-1.2.so.0]
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libXi.so.6]
0x00000001 (NEEDED) Shared library: [libXext.so.6]
0x00000001 (NEEDED) Shared library: [libX11.so.6]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libc.so.6]
ldd /opt/lame/bin/mp3x :
libgtk-1.2.so.0 => /lib/libgtk-1.2.so.0
libgdk-1.2.so.0 => /lib/libgdk-1.2.so.0
libgmodule-1.2.so.0 => /lib/libgmodule-1.2.so.0
libglib-1.2.so.0 => /lib/libglib-1.2.so.0
Code BASH :
aria2c https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz tar -xf lame-3.100.tar.gz cd lame-3.100 ./configure --help ./configure --prefix=/opt/lame LDFLAGS=-Wl,-rpath,/opt/lame/lib --enable-nasm --enable-mp3x --enable-mp3rtp make sudo make install sudo strip --strip-unneeded /opt/lame/bin/* sudo strip --strip-unneeded /opt/lame/lib/libmp3lame.so.0.0.0 sudo ldconfig
En général, le moyen le plus simple est de récupérer les packages GTK1 prêts à l'emploi de l'ancien référentiel openSUSE (il existe de nombreux patches). Vous pouvez même les convertir en deb en utilisant l'utilitaire alien.
Édité par Visiteur Le 15/04/2021 à 16h44

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Chez moi aussi ça fonctionne : j'ai pu compiler et exécuter le programme que je souhaitais, en 64 bits.
Merci pour votre aide.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron

Vous êtes sûr qu'il n'y a pas d'alternatives plus récentes et maintenues ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Bon, il ne vous reste plus qu'à porter l'application à GTK4. Attention, 3 générations à sauter d'un coup !
Yves

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Jybz :
Vous en trouvez de ces applications. 
Vous êtes sûr qu'il n'y a pas d'alternatives plus récentes et maintenues ?

Vous êtes sûr qu'il n'y a pas d'alternatives plus récentes et maintenues ?
En l'occurrence, oui, il y a bien des alternatives (je parle du logiciel que je viens de compiler), mais j'étais curieux de voir à quoi ressemblait cette application. Et puis ça fait toujours plaisir d'arriver à compiler de vieux trucs.

C'est pour ça d'ailleurs que j'aime bien les langages comme le Pascal ou le C.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie