Bonjour à tous,

Pendant longtemps j'ai utilisé Purebasic un langage que j'apprécie énormément par sa facilité, et ses possibilités quand il s'agit de programmer des logiciels, soit en passant par des API soit directement, et pour son utilisation facile de l'openGL pour des jeux en 2D par ex.

Il existe pour Windows (évidemment) mais il est aussi compilé pour Linux. Or pour Linux, je n'arrive pas à faire tout ce qu'il demande pour le faire marcher. Je vais essayer d'être le plus précis possible car c'est un logiciel sous licence, mais il existe une version d'essai dont je vous donnerai le lien.

Dans le package j'ai un fichier checkinstall qui me permet de voir ce qu'il me manque, le soucis c'est ce que n'est pas super explicite et je ne sais pas quels paquets installer.

La dernière fois que j'ai voulu essayer, c'était sous Linux Mint et tout ce que j'ai gagné, c'est de péter mon thème de bureau (en gros je me suis retrouvé avec des fenêtres on se serait cru à la dernière guerre). Donc j'ai du installer un truc qu'il ne fallait pas.

Je vous explique d'abord, et je vous donner le fichier de démo. Dans le package j'ai aussi donc un readme et un install pour savoir ce qu'il faut donc je vous quote les parties les plus intéressantes :

Pré-requis
- gcc
- GTK+ 2.0 devel (and optionally GTK+ 1.2 devel for old application support)
- SDL 1.2 devel
- libstdc++ devel
- iodbc and iodbc-devel to be able to use the Database commands (see www.iodbc.org)
- libgtkembedmoz.so shoud be installed to have the WebGadget() working (comes with the Mozilla package).
Once the Mozilla package is installed, you could have to do an ldconfig after have added the right path
(/usr/lib/mozilla.x.x) to /etc/ld.so.config.
- xine and xine-devel for the Movie commands
- libgnomeprintui2.2 and libgnomeprintui2.2-devel for the print commands

Note: a script which validate if all the development libraries are correctly installed is available
in the main purebasic directory. To execute it, type:

./checkinstall.sh
Comme je vous l'ai dit pour moi le checkinstall c'est chouette mais je trouve jamais les paquets qu'il faut. C'est comme ca que j'ai tout péter dans Mint lol

Installation
Quick Installation method:

If you do not need to use the compiler from the commandline, the quickest
method is to simply extract the purebasic archive somewhere and execute
the PureBasic IDE.

Type "./purebasic" from inside the "compilers" folder, or doubleclick
on the "purebasic" executable file in your file manager.


Other Installation methods:


1) Recommended (doesn't require root rights)

a) Setup the PUREBASIC_HOME environment variable to your purebasic
path. It can be done in a terminal like this (if you have put
purebasic in your home directory):

export PUREBASIC_HOME=~/purebasic


b) Add the purebasic/compilers/ directory to you path, as it's
where all purebasic binaries are. This can be done like this:

export PATH=$PUREBASIC_HOME/compilers:$PATH


After these 2 steps, you should be able to type 'pbcompiler' in a shell
and you ready to use the IDE, just type 'purebasic'.

Note that these steps only affect your current terminal session, and will not
be present after you log out or restart. It is recommended that you put the above
two lines inside a startup script (like "~/.bashrc" if you use the bash), so
they are executed whenever you log in or open a terminal.
J'ai pas mis la seconde méthode d'install car elle n'est pas recommandée.

Voilà, donc après ben je comprend pas trop comment faire, déjà avoir les bons paquets et ensuite leur truc variables et cie je suis un peu perdu.

Voici un lien qui provient du site officiel et qui vous permettra d'avoir une version de démo :

- Linux 32 bits : http://www.purebasic.com/download/purebasic-demo.tar.gz

- Linux 64 bits : http://www.purebasic.com/download/purebasic-demo_x64.tar.gz

Edit : questions supplémentaire : est ce que je peux faire tourner un programme 32 bits sur mon linux 64 bits ? car au final je préfère pour le moment travailler avec la 32 bits pour des raisons de compatibilité et de facilité.

Je vous remercie par avance 🙂
Bonjour,
Pour voir j'ai téléchargé la version Linux 64 bits.

Pour l'essayé sans l’installer, j'ai suivi
Quick Installation method:

  If you do not need to use the compiler from the commandline, the quickest
  method is to simply extract the purebasic archive somewhere and execute
  the PureBasic IDE.

  Type "./purebasic" from inside the "compilers" folder, or doubleclick
  on the "purebasic" executable file in your file manager.
et cela fonctionne, mais ce n'est qu'une version d'essai.

je résume

-télécharger le version 64 bits
-décompresser l’archive
-dans cette archive décompressé aller dans le répertoire compilers
-et lancer l’exécutable purebasic avec la commande ./purebasic

Cette méthode à l'avantage de ne rien installer sur ton système, donc tu ne risques pas de casse.
Bon j'ai réussi à mettre les libs qu'il faut (à priori) mais impossible de compiler une source, il me fait une erreur gcc que je ne comprend pas, à priori il y a un problème avec le linker alors si il y a des utilisateurs avertis dans le coin 😉
Tu devrai nous donner l'intitulé complet de l'erreur que tu as...
Crystal Noir wrote:Bon j'ai réussi à mettre les libs qu'il faut (à priori) mais impossible de compiler une source, il me fait une erreur gcc que je ne comprend pas, à priori il y a un problème avec le linker alors si il y a des utilisateurs avertis dans le coin 😉
Une erreur gcc ? C'est probablement parce que tu n'as pas installé tous les compilateurs, et qui plus est la plupart des programmes tournent en 32 bits, donc il te faut des paquets et des librairies qui vont rendre ta distro compatible.

Il te faut donc :

- gcc

- gcc-c++

- compat-gcc-34

- compat-gcc-34-c++

- libgcc
paradise wrote:Une erreur gcc ? C'est probablement parce que tu n'as pas installé tous les compilateurs, et qui plus est la plupart des programmes tournent en 32 bits, donc il te faut des paquets et des librairies qui vont rendre ta distro compatible.

Il te faut donc :

- gcc

- gcc-c++

- compat-gcc-34

- compat-gcc-34-c++

- libgcc
D'une part, il faut sacrément être doué pour comprendre l'erreur de Crystal Noir... Sans les traces desdites erreurs. Si ce n'est pas du génie, c'est du pifomètre.
D'autre part, "la plupart des programmes tournent en 32 bits" est, pour être poli, hautement contestable. Surtout quand on parle ici d'un programme installé en version 64 bits.
Enfin, en quoi installer la suite GCC 3.X --- les paquets compat-gcc-* --- résoudrait un supposé problème de compilation en 32 bits ?

A éviter, donc...
Pikachu_2014 wrote: D'une part, il faut sacrément être doué pour comprendre l'erreur de Crystal Noir... Sans les traces desdites erreurs. Si ce n'est pas du génie, c'est du pifomètre.
D'autre part, "la plupart des programmes tournent en 32 bits" est, pour être poli, hautement contestable. Surtout quand on parle ici d'un programme installé en version 64 bits.
Enfin, en quoi installer la suite GCC 3.X --- les paquets compat-gcc-* --- résoudrait un supposé problème de compilation en 32 bits ?

A éviter, donc...
Je ne prétends pas être doué, ni prétendre avoir résolu le problème de notre ami, c'est juste que j'avais compris qu'il voulait l'installer en 32 bits, et comme personnellement il m'est souvent arrivé d'avoir des soucis de compilation pour avoir oublié d'installer des compat, je m'étais dit que ça pouvait lui être utile.

Désolé d'avoir paru prétentieux, j'essaie juste d'aider à mon humble niveau, houlà ! :roll:
paradise wrote:Je ne prétends pas être doué, ni prétendre avoir résolu le problème de notre ami, c'est juste que j'avais compris qu'il voulait l'installer en 32 bits, et comme personnellement il m'est souvent arrivé d'avoir des soucis de compilation pour avoir oublié d'installer des compat, je m'étais dit que ça pouvait lui être utile.
J'ai cru lu une question sur le 32 bits plus générale, qui dépasse le simple contexte de PureBasic :
questions supplémentaire : est ce que je peux faire tourner un programme 32 bits sur mon linux 64 bits ? car au final je préfère pour le moment travailler avec la 32 bits pour des raisons de compatibilité et de facilité.
Pour y répondre plus correctement : oui, on peut exécuter des programmes 32 bits sous Fedora 64 bits. Le paquet glibc.i686 doit simplement être installé. De même, pour compiler cette fois en 32 bits avec gcc, on installera le paquet glibc-devel.i686. Ainsi, l'option magique -m32 de gcc est utilisable.
Ben pour l'erreur le problème c'est que j'ai dedans des caractères non identifiables, c'est pas que je veux pas vous donner.

Dans l'erreur que je vous met dessous, je remplace les caractères non identifiables par des **

Ca fait :

gcc : erreur : unrecognized option â***-arch=i386â**

Je vais voir si j'ai bien les libs décrites plus haut. Sinon dans la version démo il y a normalement un dossier examples/source dans lequel il y a des sources qu'on est censé pouvoir compiler.

Je nage un peu car niveau développement j'ai plus l'habitude d'environnement Windows donc c'est vrai que là je suis un peu paumé 😃

EDIT : j'ai essayé d'ajouter les paquets donnés plus haut il y en avait que deux que je n'avais pas. Cependant ca marche pas mieux j'ai toujours la même erreur 🙁
Des caractères non identifiables ?

Tu ne peux pas faire un copier-coller de toute ta ligne avec ces caractères et les mettre dans ta réponse entre :

code (entre crochets) et /code (entre crochets),

qu'on y voie plus clair ?
Non car l'erreur est montré dans une boîte de dialogue. Je peux à la rigueur faire un screenshot ca sera plus simple.

gtkembedmoz => cette bibliothèque est dépréciée et n'existe plus dans les versions récentes de Xulrunner (elle a été rétablie, temporairement, dans la version fedora 15)
Conclusion c'est mort ? si je comprend bien 😃 En gros va falloir que je dev sous win et que je compile pour linux et que je teste sur linux beurk que d'aller retour 😃

A moins d'utiliser l'ide Win avec wine.
Il faut dire que l'erreur est assez logique vu que gcc n'accepte pas d'option -arch=i386 l'option est -march=i386 même si pour du 32 bits je compilerais plus en i686 personnellement.
Disons que moi j'ai rien fait de particulier, j'ai juste cliqué sur le bouton "compiler" après on peut mettre des options pour le linker et le compiler mais là ca devient compliqué.
Dans ce cas pourquoi passer des options d'optimisation à la compilation ?
Je ne connais pas cet IDE mais par défaut ajouter des options de compilation c'est quand même bizarre. En plus il semble bien détecter gcc mais donne une option qui me fait penser au compilateur intel.
Il ne met pas d'option de compilation, il nous donne la possibilité de le faire. Mais bon vu comme c'est parti, j'sens que j'vais tout simplement virtualiser Windows directement comme cela j'aurais accès à l'ide (windows tant pis) et je pourrais compiler ensuite pour tester sous linux.

Car là c'est un peu le bazar leur truc. J'ai même téléchargé la dernière bêta pour voir, en fait on a en requis les mêmes libs etc...Je suis désepéré lol.

Et dire que j'avais codé un moteur de particules pas mal qui marchait bien sous dodows, le porter sous linux via opengl aurait pu être sympa 😃
Ils ont pas un support pour le logiciel ?
C'est si compliqué que ça de lui dire de ne pas mettre d'option d'optimisation pour gcc ?
Faut que je regarde, je ne maitrise pas trop le dev sous linux donc c'est vrai que je me suis jamais posé la question.

Pour le support si il y a un forum mais les topics sur linux ne sont pas nombreux...Il y a un topic où quelqu'un essai de le faire marcher sous Fedora 15 justement mais depuis silence radio.

EDIT : j'ai jeté un oeil mais rien de bien concret. Dans l'idée on a la possibilité de paramétrer un fichier à donner au linker qui passe des options mais via carrément des commandes ( que je ne connais pas lol).

Sinon on peut mettre un lib (par ex opengl pour linux ou on peut également faire appel au gtk 1.2 à la place du 2).

Je dois dire que je vois pas trop, ca commence à devenir compliqué pour moi.
En version demo on a la même erreur sur l'exemple que j'ai choisi dans le dossier examples...
Par contre il est vrai que l'ide n'est pas géniale par rapport aux options et à la verbosité en compilation...

[edit] Bon j'ai avancé un peu. Je suis passé en ligne de commande donc :
$ cd /chemin/ou/est/purebasic
$ export PUREBASIC_HOME=`pwd`
$ export PATH=$PUREBASIC_HOME/compilers:$PATH
$ cd examples/source
$ $ pbcompiler 2DDrawing.pb

******************************************
PureBasic 4.51 (Linux - x86) Demo
******************************************

Loading external modules...
Starting compilation...
52 lines processed.
Creating the executable.
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
Package gthread-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gthread-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gthread-2.0' found
Error: Linker
gcc: error: unrecognized option ‘-arch=i386’
Donc chez moi il manque des bibliothèques déjà est-ce que sur ta machine qui doit avoir suivi les prérequis c'est pas mieux ?
Bah en fait on a un bon debugger mais pour la compilation du soft, là ca pète avant même la compil donc niveau verbose on a que dalle.

J'ai regardé les options, je sais pas où passer cette option. On a la possibilité de changer les libs (opengl etc...), on peut mettre un fichier texte qui contient des lignes de commande pour le linker (mais encore faut il savoir lesquelles). C'est le bazar.

Va falloir que je fasse comme avec GLBasic, virtualiser winblows pour l'ide, créer un répertoire partagé dans lequel je compile pour linux, afin de tester en direct ensuite le résultat.

C'est quand même dingue.
Voir mon édit 😉
En fait on a rien en verbose dans l'ide mais dans le terminal ça cause plus !

[edit] Après installation de gtk2-devel :
$ pbcompiler 2DDrawing.pb

******************************************
PureBasic 4.51 (Linux - x86) Demo
******************************************

Loading external modules...
Starting compilation...
52 lines processed.
Creating the executable.
Error: Linker
gcc: error: unrecognized option ‘-arch=i386’
J'ai fait le même test que toi et moi il manque pas de ligne j'ai juste :
Loading external module...
Starting compilation...
52 lines processed.
Creating the executable.
Error: Linker
gcc: erreur: unrecognized option '-arch=I386'
Et le problème c'est que je ne sais pas comment changer cette option.

EDIT : grillé :p
J'allais te proposer exactement ça de patcher le fichier. C'est simple et facile à mettre en place.
Oui sauf que, dans un cas où j'ai fedora 64 bits et ce programme en 32 bits ca se passe comment ? 😃 car l'achitecture n'est pas la même.

Par contre il est pas très clair dans sa démarche, je n'ai pas l'habitude de patcher ce genre de chose.
Pareil, en ajoutant -march=i386 le compilateur se débrouillera pour faire le binaire en version 32 bits. Au pire ajoute un -m32 si tu veux forcer le 32 bits.
Crystal Noir wrote:J'ai trouvé une solution ici :

http://www.purebasic.fr/english/viewtopic.php?f=23&t=46293

mais je n'ai pas testé..
MarbolanGos wrote:J'allais te proposer exactement ça de patcher le fichier. C'est simple et facile à mettre en place.
Vous rendez-vous compte de ce que c'est ? Ce n'est pas un patch, il s'agit avec cette "solution" de remplacer le compilateur gcc par une sorte de wrapper immonde écrit en C. Tout ça pour blouser PureBasic.
Outre le fait de faire ça en C là où un script aurait largement suffit, c'est le fait de tripatouiller dans /usr/bin/ le compilo qui me choque.
Accessoirement, si gcc est mis à jour, tout serait à recommencer...
Des solutions comme ça sont à éviter comme la peste.
S'il n'est pas possible de configurer d'une façon ou d'une autre PureBasic pour modifier les options de compilation utilisées avec gcc, alors cette version Linux de PB ne vaut pas un clou. C'est aux logiciels de s'adapter au système, pas l'inverse (c).
Je pense que le fichier dummy.c fait partie de purebasic ou alors j'ai compris...
Mais si c'est les ficheirs gcc qu'ils essayent de modifier je comprends la réaction de Pikachu c'est vraiment à vomir !

[edit] Ah oui en fait c'est horrible j'avais pas lu cette phrase : [...] Keep in mind that this will not only affect PureBasic but every other program which uses gcc.
MarbolanGos wrote:J'allais te proposer exactement ça de patcher le fichier. C'est simple et facile à mettre en place.
Je trouve ceci un peu dangereux...
Il te propose de remplacer le fichier système /usr/bin/gcc, qui fait chez moi 345.8 kio par un autre, qui une fois compilé ne fait que 6.8 kio....

Il est clair qu'il lui manque pas mal de chose et j'ai bien peur que certaines applications ne fonctionnent plus...

Personnellement moi j'hésiterai beaucoup....

++EDIT++
Grillé par pikachu
C'est bien pour cela que je ne l'ai pas fait. Car même si je ne suis pas un pro de linux j'ai bien vu qu'il patchait directement gcc.

Perso je n'aime pas non plus ces solutions. Les seuls arguments qu'on peut mettre sur le linker c'est en ligne de commande via un fichier texte mais je ne suis pas sur que ce soit possible de lui enlever cette option pour en mettre une autre correcte.

Le pire c'est que la version bêta suivante, a le même soucis.

C'est pour ca que je disais que si c'est juste pour l'ide, j'sens que j'vais utiliser la virtualisation pour avoir l'ide et compiler directement via l'ide de windows avec la virtualisation ca sera moins risqué.

C'est comme le langage GLBasic (que j'apprécie beaucoup pour sa portabilité), et qui permet de coder facilement des routines 2D opengl, il permet de compiler à peu près pour n'importe quel plateforme (Gp2x, Ipad, Iphone, Android, windows, linux, webos etc...) mais l'ide est que sous windows.

Wine ? bof déjà essayé le résultat est pas terrible et pour rechercher certains fichiers lors de la compilation c'est trop le bazar. Du coup virtualisation => dossier partagé pour les compilations.

Et ne soyons pas pésimistes à cause du mot "basic", quoiqu'on en dise, ces langages sont puissants, quand on sait bien s'en servir et en plus on peut ajouter des lib externe (C/C++). Maintenant ce qui est regrettable c'est le portage des ide on se retrouve à coder sous win pour lancer sous linux c'est pas génial.
Il y a cependant peut-être moyen de reprendre l'idée du wrapper d'une manière autrement moins stupide que celle proposée sur le forum de PB... Je testerai ce soir.
bonjour,
perso si c'est pour developper des petites choses facilement autant se servir de lazarus c'est quand meme plus puissant et ça fonctionne sous linux sous windows .
exemple ce petit programme qui permet de realiser un pdf à partir de x jpg
http://perso.numericable.fr/bijean/stock/pdf.tar.gz
a+
Purebasic permet de développer de grandes choses quand on s'y met 😃 notamment avec OpenGL (2D) voir les jeux Bgames.

Pour le soft aussi, mais il est.....pénible à priori sous linux 😃

Mes langages de prédilection sous windows c'est purebasic / C# avec le framework xna / GLBasic

Et sous linux bah j'vais pas m'embêter vu que purebasic et GLBasic font très bien la compilation pour linux ^^ Si ce n'est que l'ide de pure est pourri sous linux à priori vu le bazar que c'est et GL a tout simplement son ide sous win.

Tout autre chose, j'ai vu qu'il existait Love aussi sous linux.
Bonjour,

Bon je remonte le sujet. J'ai regardé et bien je suis bien eu...(je sais c'est pas français mdr).

En effet, Purebasic sous windows me permet pas de compiler pour Linux. Je suis obligé de passer par la version Linux.

Logique vous allez me dire ? Pas forcément, certains languages et IDE permettent de compiler quelque soit la plateforme sur laquelle on est.

Bon bah du coup je suis coincé :roll:
Crystal Noir wrote:Bonjour,

Bon je remonte le sujet. J'ai regardé et bien je suis bien eu...(je sais c'est pas français mdr).

En effet, Purebasic sous windows me permet pas de compiler pour Linux. Je suis obligé de passer par la version Linux.

Logique vous allez me dire ? Pas forcément, certains languages et IDE permettent de compiler quelque soit la plateforme sur laquelle on est.

Bon bah du coup je suis coincé :roll:
Pas forcément...

Si tu as assez de place sur ton disque dur, tu pourrais installer une autre F15, dans laquelle tu pourras modifier gcc et qui ne te servira qu'a ça...
oui enfin c'est pas top non plus 😃 C'est quand même dingue qu'il y ait pas d'autre solution 🙁

Au pire faire une vm mais bon.
Comme je l'ai évoqué plus haut, un comportement plus « sérieux » existe heureusement.
Crystal Noir : petite question : dans quel dossier se trouve exactement l'exécutable purebasic que tu lances pour exécuter l'IDE ?
J'utilise la première possibilité, à savoir exécuter directement depuis le répertoire décompressé.

J'avais au départ également essayé la seconde possibilité en créant les PATH comme mentionné dans la doc mais d'après eux ce n'est pas nécessaire.
J'utilise la première possibilité, à savoir exécuter directement depuis le répertoire décompressé.
Que je ne connais pas et dont j'ai besoin 🙂.