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

Free Pascal Discussion :

Error while linking [Free Pascal]


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    149
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 149
    Par défaut Error while linking
    Bonjour à tous,

    J'ai un gros problème avec FPC. Lorsque je veux compiler un programme avec FPC sous Windows XP ça marche sans problème. Mais lorsque je veux faire du cross-compiling de Windows à Linux ou même lorsque je le compile directement sous Ubuntu (toujours avec FPC bien sûr) il me retourne toujours la même erreur en fin de programme : Error while linking !!!

    Alors là je n'ai vraiment aucune idée d'où ça peut venir. Et ça m'embête énormément surtout que je suis sencé faire tourner mon programme sous Linux, et que si j'utilise gpc (installé au pool de la fac) il ne veut pas non plus compiler mon fichier (mais bon lui il me retourne plein plein d'erreurs donc j'ai laissé tomber).

    Si quelqu'un avait une vague idée de ce "Error while linking" et comment le résoudre ça m'aiderait beaucoup !
    Pour info je n'utilise que "crt" dans mon programme... (si ça peut aider à répondre à d'éventuelles questions).

    Merci d'avance !

  2. #2
    Membre confirmé

    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    149
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 149
    Par défaut
    Bon je copie ici le message de la console, peut-être que ça vous parlera plus qu'à moi

    Free Pascal Compiler version 2.0.4 [2006/08/20] for i386
    Copyright (c) 1993-2006 by Florian Klaempfl
    Target OS: Linux for i386
    Compiling /home/marco/sudoku.pas
    Linking /home/marco/sudoku
    /usr/bin/ld: link.res: pas de fichier tel: Aucun fichier ou répertoire de ce type
    sudoku.pas(565,1) Error: Error while linking
    Error: /opt/fpc/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)

  3. #3
    Membre très actif
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Par défaut Re:
    aparement l'editeur de lien de freepascal rencontre des problémes lors de l'edition des liens
    je te conseil de voir sur le forum Linux c mon avis en tous cas
    cordialement @+

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 055
    Billets dans le blog
    2
    Par défaut
    Bonjour !
    Citation Envoyé par l'éditeur de liens
    pas de fichier tel: Aucun fichier ou répertoire de ce type
    Il cherche un fichier ou dossier nommé tel. Pas la moindre idée de quoi il peut s'agir...
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  5. #5
    Membre éprouvé Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 113
    Par défaut [FreePascal][Cross-Compile]
    Bonjour à tous,

    Cette discussion reprend exactement ce que je cherche à faire :
    - Compiler de Win32 vers Linux au moyen de FreePascal (puis Lazarus)

    Aprés installation comme sur des roulettes de FreePascal puis Lazarus je teste un "hello world" sur lazarus, et j'obtiens "Can't Find System Unit". Google me renvoie sur une précédente discussion de Zafo pour extraire i386-Linux et l'ajouter à côté de son copain i386-Win32. (http://www.developpez.net/forums/sho...d.php?t=286500)

    Comme Zafo, l'installation me permet de passer à l'étape suivante (plus d'erreur can't find system...

    Je décide de tester plus basiquement FreePascal dans un premier temps avec un projet livré en standard dans le répertoire de démo/txt de fpc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {
    program hello;
     
      begin
         writeln('Hello world');
      end.
    Mais j'obtiens : Error While Linking.
    Quelqu'un a t il déjà vu cette erreur sur freepascal ???

    a++

  6. #6
    Membre confirmé

    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    149
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 149
    Par défaut
    Oui moi xD
    Et je n'ai toujours pas trouvé de solution à ce problème... (malheureusement).

    Un admin m'avait bien suggéré de le passer dans le forum Linux, mais bon, comme c'est le même problème de Windows en cross-compiling ou directement sous Linux... je risquais juste de me faire jeter dehors ^^

  7. #7
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    Vous êtes tous deux confrontés à un problème d'installation sous linux non réussie...
    Sous linux, freepascal doit s'installer avec des droits d'administrateur, et il convient d'installer tous les packages demandés pour satisfaire les dépendances...
    Il y en a une quinzaine pour une mandriva, difficiles à trouver car non fournis sur les dvd, meme sur les versions commerciales les plus complètes...
    Suse en demande une petite dizaine, pareil pour ubuntu et kubuntu...
    Je n'ai pas eu l'occasion d'installer Lazarus et freepascal ailleurs.

    A la fin de l'installation (en mode console) depuis les sources officielles chargées depuis le site officiel, vous lirez un message qui vous indique ce qui reste à faire pour ajouter des chemins aux paths en cours...

    Bref, vous ne pouvez décemment pas envisager de programmer sur un os que vous ne connaissez pas suffisemment pour installer un programme. Je ne saurai que vous conseiller de tenter une installation classique à partir des sources, et de poser vos questions au fure et à mesure sur le forum linux...

    Ce n'est pas du tout aussi simple à installer que sous windows et vous aurez à mettre les mains dans le cambouis pour réussir.

    Mais le net fourmille de conseils pour les installations sur telle ou telle distribution de Linux, documentez-vous...

    Ma dernière installation remonte à quelques mois, c'était sur une kubuntu, ça ma pris un peu plus de deux heures, tout compris lecture de documentations sur le sujet et recherches et installation des paquets supplémentaires indispensables...

    Pour le cross compiling, je n'ai jamais essayé et pas vraiment envie de perdre du temps avec celà... Vu que je teste immédiatement un programme après sa compilation, je ne vois pas l'utilité de compiler un programme que je ne peux tester immédiatement...

    Quand à ceux qui coient qu'ils vont faire un programme un peu sérieux avec un code source exactement identique pour linux et windows ce sont de doux réveurs...


    Il y a toujours des surprises et des différences de comportement d'un os à l'autre... meme si les grandes lignes d'un programme restent les mêmes, on est toujours obligé de tenir compte de l'os cible et de l'y tester...

    Bonne programmation

    Clandestino

  8. #8
    Membre confirmé

    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    149
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 149
    Par défaut
    J'avais pourtant installé FreePascal sur Ubuntu d'après un tuto sur le net... Si l'installation était foireuse, pourquoi alors aurions-nous le même problème sous Windows ? Tu argumentes certes, mais tu ne donnes ni de réponse à cette dernière question ni à pourquoi la même erreur sur les deux OS ?

    Pour ce qui est du code Linux/Windows je suis au courant, et pour tout le reste aussi.

    Enfin merci quand même pour ta réponse, même si cela ne nous avance pas énormément

  9. #9
    Membre éprouvé Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 113
    Par défaut [FreePascal][Error while linking]
    Bonsoir,

    Merci pour vos réponses
    Personnellement je pense que la cross compilation est une super idée et qu'une fois l'installation correctement mise en place on obtient une excellente portabilité...
    J'ai trouvé une proposition d'installation via cygwin mais je ne sais pas ce qu'elle peut valoir :
    http://lists.freepascal.org/lists/fp...ry/007905.html
    et aussi (avec des utilitaires)
    http://z505.com/cgi-bin/qkcont/qkcon...Elf-on-Windows

    a++

  10. #10
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    Citation Envoyé par zafo
    J'avais pourtant installé FreePascal sur Ubuntu d'après un tuto sur le net... Si l'installation était foireuse, pourquoi alors aurions-nous le même problème sous Windows ?
    l'erreur signifie simplement que le linker ne trouve pas une librairie...

    Tu ne nous fournis pas le message complet de l'erreur et donc pas le nom de la librairie en cause...

    Tu ne nous recopie pas ta ligne de commande, et nous ne voyons donc pas quels arguments tu as passé à ton compilateur...

    Ton code source n'est pas compilable tel que tu nous le présente puisque il comprend un jamais fermé....


    Revenons à ton message d'erreur :
    celà peut venir sous linux:
    D'une installation non complète, ou ratée de fpc...
    D'une librairie non installée ... forcément le linker ne la trouve pas
    D'un chemin de dossier non conforme (chemin trop long ou avec des espaces)pour le fichier à compiler ou pour le dossier d'installation de freepascal...
    d'une librairie correctement installée mais dont le path n'est pas dans les paths de recherches spécifiés au programme dans ses fichiers de configuration.
    D'une librairie dont tu n'as pas donné le path en argument au compilateur dans ta ligne de commande...

    etc....

    Sous windows il faut ajouter comme problème
    le nom des librairies non résolues, car linux possède des liens avec différents noms vers une meme librairie (libmachin.so, libmachin.so2, libmachin1.2.so etc... pointent vers un seul fichier) permettant de resoudre les dependances avec une seule librairie...


    Mais le bug le plus fréquent reste l'utilisation de chemins longs et non conformes... (le dossier mes documents par exemple :p )

    Bonne programmation...

  11. #11
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Citation Envoyé par Clandestino
    Bref, vous ne pouvez décemment pas envisager de programmer sur un os que vous ne connaissez pas suffisemment pour installer un programme.
    Euh... parfois on n'a tout simplement pas le choix quand même. Et je ne crois pas qu'il soit réellement nécessaire de bien connaître un OS quand on veut programmer dessus (après tout dépend de ce qu'on veut faire). De plus que, comme tu le dis toi-même :
    Citation Envoyé par Clandestino
    Ma dernière installation remonte à quelques mois, c'était sur une kubuntu, ça ma pris un peu plus de deux heures, tout compris lecture de documentations sur le sujet et recherches et installation des paquets supplémentaires indispensables...
    Installer un logiciel sous linux peut-être vraiment galère, et pourtant Ubuntu est l'une des distributions les plus simples à utiliser, et elle est parmis les plus (et les mieux) documentées.
    Donc je ne crois pas qu'on puisse vraiment blâmer quelqu'un qui n'a pas réussi à installer un logiciel sous Linux, surtout si ce logiciel fait dépend de librairies rares...

  12. #12
    Membre confirmé Avatar de TheFreeBerga
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut ERROR WHILE LINKING [RÉSOLU]
    Tout simplement en renommant tous les chemins qui contenaient un espace par un underscore !

    NB: Je ne mets jamais d'espace dans les noms de fichiers, donc je ne sais pas si cela est aussi un problème. À creuser si votre problème persiste.

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

Discussions similaires

  1. [installation 9i] error while loading shared library
    Par ChristopheH dans le forum Installation
    Réponses: 3
    Dernier message: 19/07/2006, 17h36
  2. Erreur : Error while trying to write to file
    Par WebPac dans le forum Installation
    Réponses: 11
    Dernier message: 19/05/2006, 22h23
  3. GDB : Error while mapping shared library sections
    Par FrigoAcide dans le forum GDB
    Réponses: 1
    Dernier message: 09/05/2006, 11h06
  4. Réponses: 3
    Dernier message: 10/12/2004, 09h42
  5. Réponses: 2
    Dernier message: 05/02/2004, 13h58

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