[FreeBSD] GNUstep problème de compilation d'une application
4 réponses
Eric S.
Bonjour,
Je reposte ici un message posté sur fr.comp.applications.x11 où l'on
m'a redirigé vers vous.
Donc voici mon problème : j'ai installé il y a qques jours
l'environnement GNUstep (et ça sur FreeBSD 8.0-RELEASE).
Pour info, voici les versions des ports installés :
gnustep-back-0.17.1_2
gnustep-base-1.19.3_1
gnustep-gui-0.17.1_2
gnustep-make-2.2.0_1
J'ai testé la création d'une application en suivant un tutorial trouvé
sur le net (avec Gorm).
Et quand je lance le make (avec gmake) j'obtiens alors :
Linking app Todo ...
/usr/bin/ld: warning: libobjc.so.4, needed by /usr/local/GNUstep/
System/Library/Libraries/libgnustep-base.so, may conflict with
libobjc.so.2
/usr/local/GNUstep/System/Library/Libraries/libgnustep-base.so:
undefined reference to `gnustep_base_user_main'
collect2: ld returned 1 exit status
gmake[2]: *** [Todo.app/./Todo] Erreur 1
gmake[1]: *** [internal-app-run-compile-submake] Erreur 2
gmake: *** [Todo.all.app.variables] Erreur 2
Et en effet j'ai deux bibliothèques libobjc sur le système :
- celle du système de base : /usr/lib/libobjc.so.4
- et celle installé par gcc (qui est une dépendance pour l'installation
des ports gnustep*) : /usr/local/lib/gcc42/libobjc.so.2
Je ne pige pas que libgnustep-base.so ait été compilé avec la biblio du
système alors que gcc était une dépendance.
Comment puis-je indiquer dans mon GNUmakefile que je veux utiliser
libobjc.so.4 pour compiler mon application.
Merci à ceux qui auront pris le temps de me lire.
--
Eric S. [eric point servant chez gmail point com]
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JKB
Le 21-05-2010, ? propos de [FreeBSD] GNUstep problème de compilation d'une application, Eric S. ?crivait dans fr.comp.os.bsd :
Bonjour,
Bonjour,
Je reposte ici un message posté sur fr.comp.applications.x11 où l'on m'a redirigé vers vous.
Donc voici mon problème : j'ai installé il y a qques jours l'environnement GNUstep (et ça sur FreeBSD 8.0-RELEASE). Pour info, voici les versions des ports installés : gnustep-back-0.17.1_2 gnustep-base-1.19.3_1 gnustep-gui-0.17.1_2 gnustep-make-2.2.0_1
J'ai testé la création d'une application en suivant un tutorial trouvé sur le net (avec Gorm). Et quand je lance le make (avec gmake) j'obtiens alors :
Linking app Todo ... /usr/bin/ld: warning: libobjc.so.4, needed by /usr/local/GNUstep/ System/Library/Libraries/libgnustep-base.so, may conflict with libobjc.so.2 /usr/local/GNUstep/System/Library/Libraries/libgnustep-base.so: undefined reference to `gnustep_base_user_main' collect2: ld returned 1 exit status gmake[2]: *** [Todo.app/./Todo] Erreur 1 gmake[1]: *** [internal-app-run-compile-submake] Erreur 2 gmake: *** [Todo.all.app.variables] Erreur 2
Et en effet j'ai deux bibliothèques libobjc sur le système : - celle du système de base : /usr/lib/libobjc.so.4 - et celle installé par gcc (qui est une dépendance pour l'installation des ports gnustep*) : /usr/local/lib/gcc42/libobjc.so.2
Je ne pige pas que libgnustep-base.so ait été compilé avec la biblio du système alors que gcc était une dépendance.
Comment puis-je indiquer dans mon GNUmakefile que je veux utiliser libobjc.so.4 pour compiler mon application.
Merci à ceux qui auront pris le temps de me lire.
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 21-05-2010, ? propos de
[FreeBSD] GNUstep problème de compilation d'une application,
Eric S. ?crivait dans fr.comp.os.bsd :
Bonjour,
Bonjour,
Je reposte ici un message posté sur fr.comp.applications.x11 où l'on
m'a redirigé vers vous.
Donc voici mon problème : j'ai installé il y a qques jours
l'environnement GNUstep (et ça sur FreeBSD 8.0-RELEASE).
Pour info, voici les versions des ports installés :
gnustep-back-0.17.1_2
gnustep-base-1.19.3_1
gnustep-gui-0.17.1_2
gnustep-make-2.2.0_1
J'ai testé la création d'une application en suivant un tutorial trouvé
sur le net (avec Gorm).
Et quand je lance le make (avec gmake) j'obtiens alors :
Linking app Todo ...
/usr/bin/ld: warning: libobjc.so.4, needed by /usr/local/GNUstep/
System/Library/Libraries/libgnustep-base.so, may conflict with
libobjc.so.2
/usr/local/GNUstep/System/Library/Libraries/libgnustep-base.so:
undefined reference to `gnustep_base_user_main'
collect2: ld returned 1 exit status
gmake[2]: *** [Todo.app/./Todo] Erreur 1
gmake[1]: *** [internal-app-run-compile-submake] Erreur 2
gmake: *** [Todo.all.app.variables] Erreur 2
Et en effet j'ai deux bibliothèques libobjc sur le système :
- celle du système de base : /usr/lib/libobjc.so.4
- et celle installé par gcc (qui est une dépendance pour l'installation
des ports gnustep*) : /usr/local/lib/gcc42/libobjc.so.2
Je ne pige pas que libgnustep-base.so ait été compilé avec la biblio du
système alors que gcc était une dépendance.
Comment puis-je indiquer dans mon GNUmakefile que je veux utiliser
libobjc.so.4 pour compiler mon application.
Merci à ceux qui auront pris le temps de me lire.
Comme ça, c'est assez difficile à dire. Dans le répertoire en
question, il doit y avoir un Makefile. Rechercher dans ce Makefile
'-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre
solution, modifier l'ordre de résolution des bibliothèques, mais
sous FreeBSD, je ne sais plus comment faire.
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Le 21-05-2010, ? propos de [FreeBSD] GNUstep problème de compilation d'une application, Eric S. ?crivait dans fr.comp.os.bsd :
Bonjour,
Bonjour,
Je reposte ici un message posté sur fr.comp.applications.x11 où l'on m'a redirigé vers vous.
Donc voici mon problème : j'ai installé il y a qques jours l'environnement GNUstep (et ça sur FreeBSD 8.0-RELEASE). Pour info, voici les versions des ports installés : gnustep-back-0.17.1_2 gnustep-base-1.19.3_1 gnustep-gui-0.17.1_2 gnustep-make-2.2.0_1
J'ai testé la création d'une application en suivant un tutorial trouvé sur le net (avec Gorm). Et quand je lance le make (avec gmake) j'obtiens alors :
Linking app Todo ... /usr/bin/ld: warning: libobjc.so.4, needed by /usr/local/GNUstep/ System/Library/Libraries/libgnustep-base.so, may conflict with libobjc.so.2 /usr/local/GNUstep/System/Library/Libraries/libgnustep-base.so: undefined reference to `gnustep_base_user_main' collect2: ld returned 1 exit status gmake[2]: *** [Todo.app/./Todo] Erreur 1 gmake[1]: *** [internal-app-run-compile-submake] Erreur 2 gmake: *** [Todo.all.app.variables] Erreur 2
Et en effet j'ai deux bibliothèques libobjc sur le système : - celle du système de base : /usr/lib/libobjc.so.4 - et celle installé par gcc (qui est une dépendance pour l'installation des ports gnustep*) : /usr/local/lib/gcc42/libobjc.so.2
Je ne pige pas que libgnustep-base.so ait été compilé avec la biblio du système alors que gcc était une dépendance.
Comment puis-je indiquer dans mon GNUmakefile que je veux utiliser libobjc.so.4 pour compiler mon application.
Merci à ceux qui auront pris le temps de me lire.
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Patrick Lamaizière
JKB :
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
JKB :
Comme ça, c'est assez difficile à dire. Dans le répertoire en
question, il doit y avoir un Makefile. Rechercher dans ce Makefile
'-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre
solution, modifier l'ordre de résolution des bibliothèques, mais
sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Eric S.
Patrick Lamaizière [21-05-2010] :
JKB :
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Bonsoir,
Pour répondre à JKB, mon GNUmakefile ne fait qu'inclure les makefiles "principaux" de GNUstep, dans lesquels, certainement, je devrais retrouver cet directive. Je vais tester ça et viendrait vous faire un retour.
Et merci à Patrick pour le conseil : je vais jeter un oeil dans les ports. -- Eric S. [eric point servant chez gmail point com]
Patrick Lamaizière <adresse@est.invalid> [21-05-2010] :
JKB :
Comme ça, c'est assez difficile à dire. Dans le répertoire en
question, il doit y avoir un Makefile. Rechercher dans ce Makefile
'-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre
solution, modifier l'ordre de résolution des bibliothèques, mais
sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Bonsoir,
Pour répondre à JKB, mon GNUmakefile ne fait qu'inclure les makefiles
"principaux" de GNUstep, dans lesquels, certainement, je devrais
retrouver cet directive. Je vais tester ça et viendrait vous faire un
retour.
Et merci à Patrick pour le conseil : je vais jeter un oeil dans les
ports.
--
Eric S. [eric point servant chez gmail point com]
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Bonsoir,
Pour répondre à JKB, mon GNUmakefile ne fait qu'inclure les makefiles "principaux" de GNUstep, dans lesquels, certainement, je devrais retrouver cet directive. Je vais tester ça et viendrait vous faire un retour.
Et merci à Patrick pour le conseil : je vais jeter un oeil dans les ports. -- Eric S. [eric point servant chez gmail point com]
Eric S.
Eric S. [21-05-2010] :
Patrick Lamaizière [21-05-2010] :
JKB :
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Bonsoir,
Pour répondre à JKB, mon GNUmakefile ne fait qu'inclure les makefiles "principaux" de GNUstep, dans lesquels, certainement, je devrais retrouver cet directive. Je vais tester ça et viendrait vous faire un retour.
Et merci à Patrick pour le conseil : je vais jeter un oeil dans les ports.
Bonjour,
J'ai passé plusieurs heures sur le problème, en comparant avec une appli prise dans les ports : rien à faire.
J'ai essayé la manip de JKB, le libmap.conf : nada
J'ai donc tout effacé et j'ai recommencé tout depuis le début et ça fonctionne.
Donc je sais pas où j'ai bien pu faire une erreur. -- Eric S. [eric point servant chez gmail point com]
Eric S. <eric@desktop.home.invalid> [21-05-2010] :
Patrick Lamaizière <adresse@est.invalid> [21-05-2010] :
JKB :
Comme ça, c'est assez difficile à dire. Dans le répertoire en
question, il doit y avoir un Makefile. Rechercher dans ce Makefile
'-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre
solution, modifier l'ordre de résolution des bibliothèques, mais
sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Bonsoir,
Pour répondre à JKB, mon GNUmakefile ne fait qu'inclure les makefiles
"principaux" de GNUstep, dans lesquels, certainement, je devrais
retrouver cet directive. Je vais tester ça et viendrait vous faire un
retour.
Et merci à Patrick pour le conseil : je vais jeter un oeil dans les
ports.
Bonjour,
J'ai passé plusieurs heures sur le problème, en comparant avec une appli
prise dans les ports : rien à faire.
J'ai essayé la manip de JKB, le libmap.conf : nada
J'ai donc tout effacé et j'ai recommencé tout depuis le début et ça
fonctionne.
Donc je sais pas où j'ai bien pu faire une erreur.
--
Eric S. [eric point servant chez gmail point com]
Comme ça, c'est assez difficile à dire. Dans le répertoire en question, il doit y avoir un Makefile. Rechercher dans ce Makefile '-lobjc' et rajouter devant '-L/usr/local/lib/gcc42'. Une autre solution, modifier l'ordre de résolution des bibliothèques, mais sous FreeBSD, je ne sais plus comment faire.
Il y a libmap.conf(5)
Idée: regarder comment font les ports existants des applis GNUstep ?
Bonsoir,
Pour répondre à JKB, mon GNUmakefile ne fait qu'inclure les makefiles "principaux" de GNUstep, dans lesquels, certainement, je devrais retrouver cet directive. Je vais tester ça et viendrait vous faire un retour.
Et merci à Patrick pour le conseil : je vais jeter un oeil dans les ports.
Bonjour,
J'ai passé plusieurs heures sur le problème, en comparant avec une appli prise dans les ports : rien à faire.
J'ai essayé la manip de JKB, le libmap.conf : nada
J'ai donc tout effacé et j'ai recommencé tout depuis le début et ça fonctionne.
Donc je sais pas où j'ai bien pu faire une erreur. -- Eric S. [eric point servant chez gmail point com]