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 :

Bilbliothèques du OnlineManager Lazarus : compatibilité 64 bits [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Bilbliothèques du OnlineManager Lazarus : compatibilité 64 bits
    Bonjour,

    J'ai utilisé jusqu'à présent FPC 3.0.4 et Lazarus 2.0.8 en version 32 bits
    Je suis passé en version 64 bits (AMD 64) avec FPC 3.2 et Lazarus 2.0.10.
    Je rencontre des problèmes de compilation (libc non reconnue) et compatibilité diverses, ainsi qu'a l'exécution (compatibilité des librairies du OnlineManager).
    Quelqu'un sait-il comment la librairie libc est remplacée, et si les librairies Indy 10, Abbrevia, Synapse etc... sont compatibles 64 bits.

    Merci

  2. #2
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut,

    Sous quel OS es-tu ?

    Tu as des messages d'erreur à la compilation ? as tu testé avec un projet simple, sans bibliothèque tierce ?

    A+

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour et merci de ta réponse

    Je suis sous une Debian 10.6 AMD 64.
    Mes programmes, écrits avec FPC 3.04 32 bits et Lazarus 2.0.8 32 bits fonctionnent sans problème avec la Debian 10.3 32 bits.
    Les erreurs sont soit à la compilation (libc manquante, mais je ne sais pas par quoi la remplacer), ou à l'exécution : Indy 10 se compile bien mais génère des erreurs d'exécution avec les protocoles https et ftps.

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Citation Envoyé par rpuyhaub Voir le message
    Je suis sous une Debian 10.6 AMD 64.
    ...
    Les erreurs sont soit à la compilation (libc manquante, mais je ne sais pas par quoi la remplacer),
    J'ai + ou - la même config avec FPC 3.2 et Laz 2.0.10 et c'est juste pas possible que la libc soit absente, sinon tu n'aurais pas de Linux fonctionnel.
    Je pense donc plutôt à un pb de configuration : comment as-tu installé tout ça ?


    Citation Envoyé par rpuyhaub Voir le message
    ou à l'exécution : Indy 10 se compile bien mais génère des erreurs d'exécution avec les protocoles https et ftps.
    Un problème à la fois : d'abord régler le problème de libc, après on verra le reste.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    As-tu vérifié les options de compilation du project ( options du compilateur/configuration et cible ) et as-tu fais un nettoyage avant compilation (Nettoyer et construire) ?
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci de vos réponses,

    Je ne suis pas sûr que l'on parle de la même libc.
    Avant d'utiliser Lazarus, j'utilisais Kylix.
    Et sous Kylix, on avait bien une libc, propre à Kylix, qui permettait les appels de bas niveau au système Linux.
    Sous FPC 3.04 32 bits, il y avait aussi une unité libc de compatibilité dans le répertoire i386 de FPC qui n'existe plus en version 64 bits.

    Ce que j'ai fait en version 64 bits :
    J'ai remplacé chaque fois que j'avais une clause USES libc par USES BaseUnix, unité de FPC.
    Ensuite j'ai remplacé tous les appels de fonctions propres à la libc (du type libc.chmod ...) par leur équivalent de BaseUnix (FpChmod dans ce cas ...)
    Donc je n'ai plus de problèmes maintenant pour compiler les programmes écrits pour les versions Linux 32 bits.

    Maintenant il me reste d'autres soucis, ce sont les compatibilités des libraries du OnlineManager en 64 bits.
    En particulier Indy 10 qui ne fonctionne pas (pour le moment) pour les transferts FTPS alors qu'il fonctionnait en version 32 bits
    Mais c'est un autre problème ! Le premier est réglé : il me reste le problème des librairies tierces.

  7. #7
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut

    oulalal ! Tes explications sont confuses, il me semble que tu mélanges plusieurs choses. Je vais récapituler pour être sûre.


    AVANT :

    Tu étais sous un système Linux 32 bits et tu programmais avec KYlix.

    MAINTENANT :
    Tu es sous Linux Debian 64 bits :

    PROBLEMES

    • Tes applications 32 bits ne fonctionnent plus

      1. Ils te manques des dépendances 32 bits à installer depuis le gestionnaire de paquet de Debian
      2. Tes applications ne sont tout simplement pas compatible


    A l'heure actuelle tu souhaites faire le portage de tes applications de Kylix vers Lazarus.

    PROBLEMES

    • Tu dois remplacer les unités et méthodes utilisées sous Kylix par leurs équivalences sous FPC/Lazarus

      1. Tu sembles t'en sortir

    • Tu rencontres des problèmes avec Lazarus pour l'installation de bibliothèques tierce via OPM

      QUESTIONS

      1. Avec Indy par exemples, quel est le comportement de Lazarus ? Tu as des erreurs de compilations ? si oui quel sont ces messages
      2. Tu as une erreur de comportement de Lazarus ? Après l'installation de la bibliothèque tierce, celui-ci ne se lance plus. Le paquet n'est pas bien installé (pas d'icônes dans la palette de composant) ?
      3. Quelles sont les autres bibliothèques tierces, que tu as essayé d'installer ? Certaines bibliothèques, nécessitent des paquets supplémentaires (normalement OPM les installe si elles ne sont pas présente). Parfois, il faut également faire attention dans quel ordre tu installes ces bibliothèques.
      4. Quel sont les messages d'erreur ?, Le comportement de Lazarus ?
      5. Tu as des problèmes lors de l'utilisation de ces bibliothèques dans tes programmes ? Quel sont ces problèmes, messages d'erreur ?


    Sans plus d'explications claires et précises, il ne nous est pas possible de te répondre et de te donner des solutions. Détails nous les problèmes 1 par 1. Donnes nous, plus d'informations concernant les erreurs et tes problématiques

    Bon dimanche

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Ce n'est pas exactement ça, il manque une étape.
    Je m'excuse pour le manque de clarté de mes explications mais je mélange deux sujets distincts.

    L'histoire est la suivante
    1- Nous avons travaillé (nous sommes deux) depuis 2005 avec Kylix sous Linux pour y porter plusieurs projets depuis Windows.
    Pas (trop) de problèmes malgré les limites de Kylix.
    Pour les fonctions système Linux, Kylix intégrait une unité libc qui fournissait une interface système Linux.

    2- Nous avons eu par la suite des problèmes avec les transferts en ftps et https car Kylix ne tolérait que de vielles versions de Indy 10 qui géraient très mal ces protocoles, voir pas du tout.

    3 Nous sommes donc passés sous Lazarus avec une Debian 9.3 puis 10.6 avec Lazarus et donc FPC le tout en 32 bits.
    Malgré quelques difficultés de portage, globalement tout s'est bien passé, y compris avec le Indy 10 du OnlinePackageManager.
    FPC 32 bit a dans son répertoire source un sous répertoire i386 qui fournit une unité libc qui permet de gérer les appels systèmes avec les mêmes appels que Kylix.

    Jusque là donc, tout va bien !

    Premier problème :
    Nos projets (SGBD) étaient hébergés sur une Debian 9 (Jessie) 64 bits. Nos collègues système avaient trouvé des librairies d'émulation 32 bits qui permettaient de faire tourner nos programmes 32 bits.
    Leurs serveurs sont passés en Debian 10.6 (Buster) 64 bits. Patatras : les émulateurs ne marchent plus ...
    Question : quelqu'un sait-il si c'est possible et comment d'utiliser (des) ces programmes 32 bits sur la debian 10.6 64 bits ?
    Je serais surpris qu'il n'y ait pas moyen, mais je n'ai pas trouvé.

    Deuxième problème :
    Pour le moyen terme, et le plus long terme nous avons commencé à porter notre version 32 bits en 64 bits avec Lazarus et fpc 64 bits.
    L'absence de libc telle qu'elle était fournie dans la version 32 bits de FPC nous a bien gênés, mais nous avons pu résoudre le problème en utilisant l'unité BaseUnix, qui est bien plus solide que la vielle libc système de Kylix. Il suffit de transposer les appels libc en appels BaseUnix, et, en cherchant un peu, il y a toujours moyen de trouver.
    Donc ça aussi fonctionne et nous n'avons plus de problèmes pour compiler nos projets en 64 bits sous Lazarus 2.0.10 et FPC 3.2.
    Reste cependant un problème : bien que tout se compile, nous avons des erreurs d'exécution dans nos développements de transferts FTPS et HHTPS avec la bibliothèque Indy 10 fournie par le OnlinePackageManager. Elle fonctionnait correctement en 32 bits, mais ce n'est plus le cas en 64 bits.
    Cependant les transferts en HTTP et FTP, eux, fonctionnent correctement.

    Nous nous demandons si elle est vraiment compatible 64 bits ...

    Voilà, j'espère avoir été clair cette fois, merci pour ton aide, et si tu as une idée, elle sera la bienvenue

    René

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour à nouveau,

    Pour être plus précis
    Les erreurs d'exécution avec la bibliothèque Indy (je crois que c'est une version 10.6, maintenue en particulier par Remy Lebeau) se posent, après le chargement des libraires ssl (libcrypto.so.1.1 et libssl.so.1.1) avec les procédures OpenSSL_add_all_ciphers et OpenSSL_add_all_digests qui génèrent des "Access violations".
    Mais je doute que le problème soit là ...

    Voilà !

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Yop !
    Citation Envoyé par rpuyhaub Voir le message
    3 Nous sommes donc passés sous Lazarus avec une Debian 9.3 puis 10.6
    ...
    Leurs serveurs sont passés en Debian 10.6 (Buster) 64 bits. Patatras : les émulateurs ne marchent plus ...
    Question : quelqu'un sait-il si c'est possible et comment d'utiliser (des) ces programmes 32 bits sur la debian 10.6 64 bits ?
    Pas de bol, ça fait 8 jours qu'on est en 10.7.
    Et va savoir si ça impacte ou pas tes problèmes...

    Et il y a ça, aussi, qu'il ne faut pas perdre de vue (et qui me fait hurler -- ça plus les problèmes de parallélisme à tout va de systemdaube, on peut se retrouver avec /dev/sda qui devient /dev/sdb, c'est-y pas du bonheur, ça ? )
    Citation Envoyé par Debian.org
    Contrary to our wishes, there may be some problems that exist in the release, even though it is declared stable. We've made a list of the major known problems, and you can always report other issues to us.
    source

    Citation Envoyé par rpuyhaub Voir le message
    Deuxième problème :
    Reste cependant un problème : bien que tout se compile, nous avons des erreurs d'exécution dans nos développements de transferts FTPS et HHTPS avec la bibliothèque Indy 10 fournie par le OnlinePackageManager. Elle fonctionnait correctement en 32 bits, mais ce n'est plus le cas en 64 bits.
    Cependant les transferts en HTTP et FTP, eux, fonctionnent correctement.

    Nous nous demandons si elle est vraiment compatible 64 bits ...
    Alors problèmes de développements de transferts FTPS et HTTPS mais pas de problèmes de transferts en HTTP et FTP, tu pourrais préciser ?
    Parce que erreurs d'exécution, on n'est pas voyants pour deviner ce qui se passe mal...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par rpuyhaub Voir le message
    Bonjour à nouveau,

    Pour être plus précis
    Les erreurs d'exécution avec la bibliothèque Indy (je crois que c'est une version 10.6, maintenue en particulier par Remy Lebeau) se posent, après le chargement des libraires ssl (libcrypto.so.1.1 et libssl.so.1.1) avec les procédures OpenSSL_add_all_ciphers et OpenSSL_add_all_digests qui génèrent des "Access violations".
    Mais je doute que le problème soit là ...

    Voilà !
    Salut, c'est plus clair maintenant, des "acces violations" as tu comparé les versions de openSSL et celles qui sont supportés par Indy cf : https://forum.lazarus.freepascal.org...?topic=48974.0

    Je pense que tu devrais poster ta question sur le forum Anglais, Remy Lebeau y est actif

    A+

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    J'ai enfin trouvé !
    J'avais un lien symbolique entre libcrypto.so et libcrypto.so.1.1 qui n'était plus correct.
    Je n'avais pas mis dans le script de lancement de l'exécutable la ligne export LD_LIBRARY_PATH avec les bons répertoires.
    Le lien n'étant pas correctement fait, les appels aux procédures de la libcrypto.so.1.1 plantaient.

    Merci pour votre aide à tous
    Je vais vérifier à l'aide du lien que tu m'as fourni les bibliothèques lib crypto et libssl compatibles avec Indy10.
    Je pense que celles fournies par la Debian 9.x et 10.x, à savoir les "1.1" le sont.
    Et, de fait, comme le dis JiPété, il n'y a aucun problème pour passer de la version 32 bits à la version 64 bits.

    Merci encore !

    René

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

Discussions similaires

  1. [Toutes versions] compatibilité 32 bits / 64 bits
    Par Fleur59 dans le forum Access
    Réponses: 11
    Dernier message: 19/07/2019, 23h41
  2. Compatibilité des programmes 32 bits
    Par Invité dans le forum Windows 7
    Réponses: 11
    Dernier message: 25/02/2010, 09h52
  3. Delphi 2007 et compatibilité vista 64 bits
    Par sbadecoder dans le forum Langage
    Réponses: 5
    Dernier message: 19/12/2009, 15h14
  4. Compatibilité avec Athlon 64 bits et Windows XP 32 bits
    Par homeostasie dans le forum Ordinateurs
    Réponses: 3
    Dernier message: 26/10/2008, 18h45
  5. [C#] Compatibilité C# et BITS de Microsoft.
    Par rastali dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/10/2005, 15h07

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