Forum Liberty Basic France

Général » JustBasic et Wine(linux) mariage improbable mais sympahtique
Le 15/08/2018 à 15h43

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 520
Bonjour,

Ce fil pour signaler d'éventuelles difficultés ou incompatibilités rencontrés à l'usage de JustBasic (prévu pour windows) sur un système GNU-Linux, en utilisant Wine. Si j'en suis arrivé là, c'est parce qu'en 2015 j'ai quitté Windows et je ne voulais pas quitter JustBasic.

Wine Is Not an Emulator. Sur un émulateur (une machine virtuelle), on définit des disques, des quantités de mémoire, des accès à ceci et celà, et on installe un système d'exploitation, puis ensuite les programmes. En grossièrement résumé, Wine se "contente" de lire les instructions Windows, et de les traduire à la volée en instructions Linux. Il est assez bluffant de voir tourner sous linux un programme windows sans qu'on ait eu à paramétrer une machine virtuelle.

Il y a souvent des limitations, parfois rédhibitoires, à l'utilisation de Wine, mais dans le cas de JustBasic, je n'ai rien de bien gênant pour mon utilisation courante :
  • une partie de l'aide n'est pas implémentée mais on a accès à la liste des mots-clef (menu Help de l'éditeur, puis page "index", descendre la liste et cliquer sur la série des "Command Reference"
  • le visuel de l'affichage de l'aide est un peu "rugueux", probablement un paramétrage que je n'ai pas fait dans Wine Configuration
  • l'aspect des fenêtres d'un programme JB/LB est légèrement différent sur windows et sur linux, le contenu des boutons et autres contrôles peut aussi avoir un encombrement un peu différent, c'est bon à savoir si ce paramètre a une importance.

A ce jour ma version de Wine est 2.0.5, ce n'est pas forcément la dernière en date, mais celle proposée par ma distribution Linux, Mageia6
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 15/08/2018 à 15h54

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 520
FILEDIALOG, OS error 16r57

J'ai voulu reprendre un vieux sujet, alors j'ai réorganisé son arborescence sur le disque dur... et il ne fonctionne plus : chaque tentative d'ouverture d'un fichier par mon programme se solde par le message "runtime error : paramètre non valide. (OS error 16r57)" et la fin immédiate de mon programme.

Pour simplifier, initialement, le programme et les données qu'il traite étaient sur le chemin A. Maintenant le programme est sur le chemin B, les données dont il se nourrit sont sur le chemin B et copiées à l'identique sur le chemin C. Le tout est sur un disque dur dans un format windows que peut lire mon linux.

On a donc l'arborescence B :
disquedur/mesdocs/progJustBasic/cheminB/programme
disquedur/mesdocs/progJustBasic/cheminB/dossier/fichier1
disquedur/mesdocs/progJustBasic/cheminB/dossier/fichier2
...

et l'arborescence C :
disquedur/mesdocs/progJustBasic/cheminC/dossier/fichier1
disquedur/mesdocs/progJustBasic/cheminC/dossier/fichier2
...

je lance JustBasic, puis par le menu File/Open... je choisis le programme sur cheminB. Je lance le programme, et je lui demande d'ouvrir, par FILEDIALOG, les fichiers de données présents sur cheminB/dossier : plantage immédiat et message "runtime error : paramètre non valide. (OS error 16r57)"

Je relance le programme, en lui demandant d'ouvrir les données sur cheminC/données, et là le programme lit normalement les données.

Lus dans un comparateur de fichiers, les fichiers de cheminB/dossier/ et cheminC/dossier/ sont strictement identiques.

Je copie les arborescences B et C sur une clef USB, que j'ouvre avec mon windows de secours, et là, le programme fonctionne, que les données soient lues à partir du chemin B ou du chemin C. Le problème est donc imputable à Wine/linux.

Pour commencer à comprendre il faut prendre les vrais chemins.
Code TEXT :
 
chemin B : /progs justbasic/mes_essais/base de données/Base de données v0_04 - filtres/2018 08 14 - 21h25 - essai 8 tables/
chemin C : /progs justbasic/mes_essais/base de données/discussion bdd/Moi/2018 08 14 - 21h25 - essai 8 tables/
 

Chemin B ne fonctionne pas, chemin C fonctionne, il y a deux fois la chaine "base de données" dans chemin B

si on remplace
Code :
chemin B : /progs justbasic/mes_essais/base de données/Base de données v0_04 - filtres/

par
Code :
chemin B : /progs justbasic/mes_essais/base de données/Base de v0_04 - filtres/

le programme plante.

Pareil avec
Code :
chemin B : /progs justbasic/mes_essais/base de données/Base d v0_04 - filtres/


Par contre, avec
Code :
chemin B : /progs justbasic/mes_essais/base de données/Base v0_04 - filtres/

cela fonctionne.

Cela pourrait être un problème d'espaces dans la chaine "Base de données" qui est répétée deux fois dans le chemin, mais il n'y a pas que ça, car avec
Code :
chemin B : /progs justbasic/mes_essais/base de données/Base fg v0_04 - filtres/

ça recoince illico. Or, "Base fg" n'est pas "Base de données".

Alors pourquoi /base de données/Base v0_04 - filtres/ fonctionne ? Je laisse reposer un petit peu avant d'essayer d'y répondre...
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 15/08/2018 à 16h00

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2090
Perso j'attends que Linux sorte un clone exact de Windows. J'ai testé plusieurs distribs, c'est vraiment pas mon truc. J'ai testés plusieurs Windows et finalement je suis revenu sous XP; rien ne vaut les vieilles gamelles. Et je regrette encore le clavier du ZX Spectrum, c'est dire...
Kouaaa... La sclérose me guette ? Mais non, mais non.

Pour ton msg de: 15/08/2018 à 15h54
Je dirais qu'il a plantage (de ta part) entre les noms effectifs et les noms dans les chemins.
____________________
Roro

   
Le 16/08/2018 à 17h59

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 520
De ma part, je ne pense pas, puisque je suis pour moi juge et partie comme tout un chacun l'est pour lui-même, et donc il ne peut être question que ce soit moi ;)

Je penche plutôt pour un problème de traduction des-dits chemin du système windows au système linux. Peut-être même pas un bug, mais une façon de faire de l'un qui n'existerait pas dans l'autre, donc intraduisible, ou une limitation de l'un par rapport à l'autre. Je vais faire un tour sur le site de Wine, il doit bien y avoir un forum quelque part pour exposer le cas
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 16/08/2018 à 19h42

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2090
Citation:
il doit bien y avoir un forum quelque part pour exposer le cas

Tu a intérêt à être clair dans les explicatures.
____________________
Roro

   
Le 16/08/2018 à 23h08

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 520
Bah lui eh ! Depuis mes pas quand claires sont explications ? J'y peux rien si les gens savent pas lire ( ;) )

Je suis au début d'une série de tests et le problème se clarifie : l'arborescence fautive est pleinement opérationnelle à partir ...d'un disque Linux. Normal, Wine c'est Linux.

Le problème survient avec un disque NTFS, donc windows, et j'utilise un disque NTFS : quand mon programme écrit ses fichiers, je verrais bien Wine convertir d'abord les données en linux, et linux les convertir en windows pour les écrire en ntfs, et inversement, bien sûr... Donc au final, les données que mon programme a écrit auront subi quatre conversions quand il les aura relues, augmentant d'autant le risque qu'une incompatibilité se révèle quelque part.

Ce truc de ouf est simplement rendu obligatoire car j'utilise aussi mes données dans des environnements purement windows, et windows ne sait pas lire les partitions linux.
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 17/08/2018 à 10h49

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2090
Citation:
quatre conversions

Que se passe t'il quand on mets un Linux dans une V Box dans Windows ?
____________________
Roro

   
Le 17/08/2018 à 17h05

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 520
Je ne sais pas.

A priori, si la machine est virtuelle, les disques durs le sont aussi, et il n'y aurait pas de raison de faire des conversions linux->windows puis windows->linux dans la communication entre la machine et ses disques. Je pense qu'on utilise plutôt une encapsulation des données linux dans des trames windows, puisque l'ensemble est programmé en windows. Je ne sais pas ce qu'il en est réellement.

C'est une bonne question...
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 18/08/2018 à 00h46

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2090
Citation:
une encapsulation

Y a forcément de la conversion quelque part
____________________
Roro

   
Le 18/08/2018 à 18h03

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 520
Je ne suis pas convaincu. Du côté de chez Wine, oui, par nature, mais dans une machine virtuelle, je doute, ou peut-être quand il s'agit d'écrire sur un support réel ?

Autrement voici les résultats des essais. L'habituel problème du temps qui passe et de son emploi à des tâches autrement plus nécessaires fait que je commenterai plus tard, mais voici :


Par ailleurs, ces essais mériteraient d'être repris pour être vraiment sûr qu'on compare ce qui est comparable, et de ne pas intervertir un "/Documents/..." avec "/Mes documents/...", par exemple. C'est peut-être le même dossier accessible directement ou par un raccourci.

La colonne "partition" complète la colonne "chemins B et C sur", c'est le type de partition du disque contenant les fichiers de la base.

La colonne "lancement du programme" identifie la localisation du ".bas"

La colonne "sélecteur de fichier" indique, parmi les chemins proposés par le programme quand je veux lire une base, le chemin choisi.
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Général » JustBasic et Wine(linux) mariage improbable mais sympahtique  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie