IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[Ubuntu 8.10-Lazarus 0.9.27-ZeosLib 6.6.3] Quelle libsqlite.so ? [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Ubuntu 8.10-Lazarus 0.9.27-ZeosLib 6.6.3] Quelle libsqlite.so ?
    Bonjour,

    Problème curieux :
    • XP+lazarus 0.9.26+zeoslib 6.6.3+sqlite3 : OK
    • Ubuntu 8.04 + lazarus 0.9.26+zeoslib 6.6.3+sqlite3 : OK
    • Ubuntu 8.10 + lazarus 0.9.27+ zeoslib 6.6.3+sqlite3 : access violation

    Je ne dispose plus de l'Ubuntu 8.04. Ayant changé d'appareil, travaillant en gtk2, j'ai dû me résoudre à utiliser Ubuntu 8.10 + Lazarus 0.9.27. J'utilise la libsqlite.so disponible sur le site de SQlite (sqlite-3.6.10.so.gz) que j'ai placée dans le rép. de l'application, /usr/lib et /usr/share

    Problème déjà rencontré par qq'1 ?... et résolu ?

    Par contre, en Ubuntu 8.10 + Lazarus 0.9.27+ Zeoslib 6.6.3 avec une vieille libsqlite.so et une aussi vieille base, cela fonctionne avec le protocole sqlite (tout court - même pas le 2.8)... sauf qu'un DROP IF EXISTS table n'est pas géré... et qu'évidemment il ne gère pas mes bases sqlite3.

    Cordialement. Gilles
    Dernière modification par Invité ; 21/01/2009 à 16h05.

  2. #2
    Invité
    Invité(e)
    Par défaut Interrogation supplémentaire
    Re-bonjour,

    J'ai installé la lib sqlite-3.6.4.so (sans modifier son nom) dans le répertoire de l'application et cela fonctionne (mystère !?) sous l'IDE (Ubuntu 8.10+)Lazarus 0.9.27+Zeoslib 6.6.3 avec le protocole sqlite-3.
    Je compile. L'exécutable fonctionne.

    Je transfère l'intégralité du répertoire de l'application sur une autre station (de test) dotée elle aussi d'Ubuntu 8.10 (sans Lazarus). Je suis connecté en root (Le rép. est installé comme sur la station de développement dans /root - Droits sur le rép. OK). Je lance l'exécutable : plantage de la base !!!

    Je croyais que les libsql.so (et/ou sqlite-3.6.4.so ) dans le rép de l'exécutable suffisaient pour faire fonctionner l'appli ?

    Cordialement. Gilles
    Dernière modification par Invité ; 21/01/2009 à 16h01.

  3. #3
    Membre émérite
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Par défaut
    Bonjour Gilles,

    As tu vérifié si tu avais bien libsqlite.so dans le /usr/lib de ton ubuntu car zeos cherche un fichier de ce nom.
    -->voir le fichier ZPlainSqLite3.pas

    @+
    Chris

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Chris37,

    En effet dans le ZPlainSqlite3.pas, il est indiqué que
    • WINDOWS_DLL_LOCATION = 'sqlite3.dll';
    • LINUX_DLL_LOCATION = 'libsqlite.so';
    • SQLITE_VERSION = '3.5.4';


    J'ai supposé (comme pour Windows) qu'une fois placée dans le rép. de l'exécutable, la libsqlite.so rebaptisée (c'est la libsqlite3.so en réalité) prenait le dessus sur le lien qui existe dans le /usr/lib : libsqllite.so (dont la cible est /usr/lib/libsqlite.so.0.8.6)... car c'est le lien libsqllite3.so dont la cible est /usr/lib/libsqlite3.so.0.8.6

    Sur mon poste de dév., comme mon rép. lazarus est placé (pour la version 0.9.27) dans /usr/share (alors qu'il est dans /usr/lib pour la version 0.9.26), j'ai placé également la "libsqlite.so rebaptisée" dans /usr/share et dans /usr/share/lazarus... me disant qu'il était nécessaire de procéder ainsi pour permettre les tentatives de connexions "directes" à la base à partir du Zconnect placé sur l'IDE.

    Les stations de dév. et de test présentent les mêmes liens dans /usr/lib. Mais si, ce sont bien les liens de /usr/lib qui permettent le fonctionnement sur la station de test, alors il y a un problème : le libsqllite.so ne pointe pas sur une sqlite3 mais sur une sqlite... Dans ce cas, comme la station de test est installée par défaut (sans aucun autre paramétrage que l'accès pour le root à Gnome), il va falloir modifier la ZPlainSqlite3.pas...

    Pourquoi pas ? Mais je répugne à modifier de trop les paquets car à chaque release, la MAJ devient de plus en plus difficile et en cas de nouveau(x) problème(s), il est difficile de déterminer les "responsabilités"... Reste la possibilité de "modifier" un peu mon Ubuntu de test... pour voir si en effet c'est ce lien qui est déterminant... Je vérifie et je te tiens au courant.

    Merci pour la réponse. Cordialement. Gilles
    Dernière modification par Invité ; 21/01/2009 à 18h42.

  5. #5
    Invité
    Invité(e)
    Par défaut
    C'est bien cela Chris37,

    Tu as tout à fait raison... En faisant pointer le lien /usr/lib/libsqlite.so vers le fichier libsqlite3.so.0.8.6, cela fonctionne immédiatement sur la station de test.

    Ceci n'est évidemment pas satisfaisant, j'ai donc remplacé LINUX_DLL_LOCATION = 'libsqlite.so'; par LINUX_DLL_LOCATION = 'libsqlite3.so'; dans le fichier ZPlainSqLite3.pas et reconstruit le paquet ZeosLib.

    En remettant les liens d'origine maintenant sur la station de travail [il n'est pas acceptable de les modifier. D'autres applications peuvent les utiliser.], cela fonctionne correctement. Par contre la libsqlite.so ne sert à rien dans le rép de l'exécutable sur la station de test (Je l'ai enlevée - RAS).

    Merci pour ton aide. A bientôt. Gilles
    Dernière modification par Invité ; 21/01/2009 à 18h53.

  6. #6
    Membre émérite
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Par défaut
    Gilles,

    Ne modifie pas les paquet de ZEOS Ce n'est pas nécessaire.

    Il te suffit juste de faire un lien symbolique (raccourci linux) nommé du même nom que dans le fichier ZEOS et pointant vers ta librairie et le tour est joué

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/03/2011, 10h31
  2. [Lazarus] [0.9.26/Ubuntu 8.10] Lazarus en gtk2
    Par thierrybo dans le forum Lazarus
    Réponses: 6
    Dernier message: 31/03/2009, 14h51
  3. [Lazarus] Lazarus 0.9.26 + ZeosLib 6.6.4 + Firebird Embedded 2.0.3.5
    Par matthius dans le forum Lazarus
    Réponses: 7
    Dernier message: 16/03/2009, 09h07
  4. [Lazarus] [Ubuntu 8.10 + Lazarus 0.9.27] Erreur à la compilation de librairies
    Par Invité dans le forum Lazarus
    Réponses: 2
    Dernier message: 23/01/2009, 16h12
  5. [Lazarus / Ubuntu] Quelle fonte pour l'EDI ?
    Par ChPr dans le forum Lazarus
    Réponses: 1
    Dernier message: 02/02/2008, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo