Echec de compilation de kdelibs3 à partir de darwinports

mrkite

Membre confirmé
17 Février 2005
14
0
67
Bonjour,
Je cherche à compiler kdelibs3 sur mon iMac G5 sous Tiger à partir de darwinports :

sudo /opt/local/bin/port install kdelibs3

et j'obtiens un message d'erreur à la compilation :

---> Building kdelibs3 with target all
Error: Target com.apple.build returned: shell command "cd "/opt/local/
var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdat
e_dports_kde_kdelibs3/work/kdelibs-3.4.1" && CC=gcc-3.3 CXX=g++-3.3
PREFIX=/opt/local FREETYPE_CONFIG=/opt/local/bin/freetype-config
LD_TWOLEVEL_NAMESPACE=true LDFLAGS='-L/usr/X11R6/lib -L/opt/local/
lib' ACLOCALFLAGS='-I libltdl' CFLAGS='-Os -fPIC' CXXFLAGS='-Os -
fPIC' CPPFLAGS='-I/usr/X11R6/include -I/opt/local/include/freetype2/
freetype -I/opt/local/include/fontconfig -I/opt/local/include/X11/Xft
-I/opt/local/include/X11/extensions -I/opt/local/include/gssapi -I/
opt/local/include -I/opt/local/include/qt3 -no-cpp-precomp -fno-
common -DMACOSX -UHAVE_REALTIME_SCHED ' LIBS='-L/usr/X11R6/lib -L/opt/
local/lib' SED=\"sed\" ALL_LIBRARIES='-L/usr/X11R6/lib -L/opt/local/
lib' PATH=\"/usr/X11R6/bin:/usr/X11R6/bin:/opt/local/bin:/opt/local/
sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/opt/local/bin:/opt/
local/bin\" HOME=/tmp QTDIR=/opt/local lt_cv_sys_max_cmd_len=65536
export CC PREFIX FREETYPE_CONFIG LD_TWOLEVEL_NAMESPACE LD_FLAGS
ACLOCALFLAGS CFLAGS CXXFLAGS CPPFLAGS LIBS DYLD_LIBRARY_PATH
LD_LIBRARY_PATH SED ALL_LIBRARIES PATH HOME QTDIR
lt_cv_sys_max_cmd_len && make all" returned error 2
Command output: make all-recursive
Making all in dcop
make all-recursive
Making all in KDE-ICE
make[4]: Nothing to be done for `all'.
Making all in .
Making all in dcopidl
/bin/sh ../../libtool --mode=link --tag=CXX g++-3.3 -Wnon-virtual-
dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -
Os -Os -fPIC -fno-exceptions -fno-check-new -fno-common -fno-
exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -
DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -L/
opt/local/lib -L/usr/X11R6/lib -L/opt/local/lib -L/usr/X11R6/lib -
L/opt/local/lib -o dcopidl -R /opt/local/lib -R /opt/local/lib -R /
opt/local/lib -R /usr/X11R6/lib -R /opt/local/lib main.o yacc.o
scanner.o -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -
lpthread -L/usr/X11R6/lib -L/opt/local/lib
g++-3.3 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-
arith -Wwrite-strings -Os -Os -fPIC -fno-exceptions -fno-check-new -
fno-common -fno-exceptions -fno-check-new -fno-common -
DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -
DQT_NO_TRANSLATION -o dcopidl main.o yacc.o scanner.o -Wl,-
bind_at_load -L/opt/local/lib -L/usr/X11R6/lib /opt/local/lib/libqt-
mt.dylib Carbon.ltframework QuickTime.ltframework OpenGL.ltframework
AGL.ltframework -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread
g++-3.3: Carbon.ltframework: No such file or directory
g++-3.3: QuickTime.ltframework: No such file or directory
g++-3.3: OpenGL.ltframework: No such file or directory
g++-3.3: AGL.ltframework: No such file or directory
make[4]: *** [dcopidl] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Je cherche donc de l'aide pour comprendre la nature du problème et suis à l'écoute de toute suggestion.
Merci d'avance pour votre aide.
 
Bonjour,
il y a un problème dans le makefile lors de la génération du nom de framework : Carbon.ltframework au lieu de Carbon.framework.
Bloc de code:
 g++-3.3 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer- 
 arith -Wwrite-strings -Os -Os -fPIC -fno-exceptions -fno-check-new - 
 fno-common -fno-exceptions -fno-check-new -fno-common - 
 DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT - 
 DQT_NO_TRANSLATION -o dcopidl main.o yacc.o scanner.o -Wl,- 
 bind_at_load  -L/opt/local/lib -L/usr/X11R6/lib /opt/local/lib/libqt- 
 mt.dylib Carbon.framework QuickTime.framework OpenGL.framework  
 AGL.framework -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread

PS : pour t'affranchir de la compilation, récupères cette librairies via Fink ou Darwinport.
 
Bien sûr ! Je comprends d'où vient le problème. Mais c'est bien en essayant de récupérer kdelibs3 via Darwinports que je suis tombé dessus, dans l'étape :

---> Building kdelibs3 with target all

Il faudrait que j'arrive à modifier le générateur de makefiles pour corriger ça. J'ai envoyé un mail à la mailing list de Darwinports il y a quelques jours, sans résultat. Merci en tout cas pour ce diagnostic rapide. Si je n'ai pas la solution, j'ai au moins la cause de la panne...{:)
 
mrkite a dit:
Bien sûr ! Je comprends d'où vient le problème. Mais c'est bien en essayant de récupérer kdelibs3 via Darwinports que je suis tombé dessus, dans l'étape :

---> Building kdelibs3 with target all

Il faudrait que j'arrive à modifier le générateur de makefiles pour corriger ça. J'ai envoyé un mail à la mailing list de Darwinports il y a quelques jours, sans résultat. Merci en tout cas pour ce diagnostic rapide. Si je n'ai pas la solution, j'ai au moins la cause de la panne...{:)

J'ai trouvé où la chaîne "ltframework" était générée : dans libtool, que j'ai modifiée en "framework". Et j'ai maintenant le message :


g++-3.3 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -Os -Os -fPIC -fno-exceptions -fno-check-new -fno-common -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -o dcopidl main.o yacc.o scanner.o -Wl,-bind_at_load -L/opt/local/lib -L/usr/X11R6/lib /opt/local/lib/libqt-mt.dylib Carbon.framework QuickTime.framework OpenGL.framework AGL.framework -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread
g++-3.3: Carbon.framework: No such file or directory
g++-3.3: QuickTime.framework: No such file or directory
g++-3.3: OpenGL.framework: No such file or directory
g++-3.3: AGL.framework: No such file or directory


Autrement dit ce n'est pas seulement un problème de nom de framework, il s'agit aussi de la présence dans mes fichiers de ces frameworks.
Le mystère s'épaissit...
 
Thierry6 a dit:
Quelle version d'Xcode utilises tu ?
XCode 2.2 est réputée buggée, ne pourrait est-ce ça ?

Je n'utilise pas Xcode, seulement le mode commande de Darwinports :
sudo port install kdelibs3

Cela dit je veux bien essayer avec Xcode, que je n'ai jamais utilisé à ce jour.
Mais je ne sais pas par quel bout commencer...
 
mrkite a dit:
Je n'utilise pas Xcode, seulement le mode commande de Darwinports :
sudo port install kdelibs3
Cela dit je veux bien essayer avec Xcode, que je n'ai jamais utilisé à ce jour.
Mais je ne sais pas par quel bout commencer...
N'est-il pas nécessaire pour DarwinPorts comme pour fink d'avoir Xcode installé ? Autrement dit, il faut installer les outils Developer. Pour éviter le problème souligné par thierry6, le mieux est d'installer la version qui se trouve sur le DVD d'installation de Tiger.
Ceci étant dit, j'ai depuis deux ou trois mois la version test d'Xcode 2.2 et aucun problème, ni avec fink, ni avec DarwinPorts.
 
A priori les outils de dev sont là puisqu'il a trouvé g++. Je pense plutôt que le makefile n'est pas bon.
Avec le "-F", ça donne quoi ?
 
FjRond a dit:
N'est-il pas nécessaire pour DarwinPorts comme pour fink d'avoir Xcode installé ? Autrement dit, il faut installer les outils Developer. Pour éviter le problème souligné par thierry6, le mieux est d'installer la version qui se trouve sur le DVD d'installation de Tiger.
Ceci étant dit, j'ai depuis deux ou trois mois la version test d'Xcode 2.2 et aucun problème, ni avec fink, ni avec DarwinPorts.

J'ai bien sûr Xcode installé à partir du DVD Tiger, c'est une des premières choses que j'ai faites quand j'ai reçu mon iMac.
 
ntx a dit:
A priori les outils de dev sont là puisqu'il a trouvé g++. Je pense plutôt que le makefile n'est pas bon.
Avec le "-F", ça donne quoi ?
Je ne peux pas modifier le makefile, il est réinitialisé durant l'étape de configuration de la commande
sudo port install kdelibs3
 
Qu'est-ce que tu as modifié pour enlevé les "lt" ? Continue dans cette voie pour corriger les autres erreurs.
 
ntx a dit:
Qu'est-ce que tu as modifié pour enlevé les "lt" ? Continue dans cette voie pour corriger les autres erreurs.
J'ai bien peur que ça ne suffise pas de modifier libtool, et d'ailleurs je ne sais pas comment continuer.

J'ai trouvé deux références récentes du même bug sur le web :

http://www.opendarwin.org/pipermail/darwinports/2005-September/027849.html
http://www.opendarwin.org/pipermail/darwinports-bugs/2005-November/013963.html

Je ne suis donc pas le seul à avoir expérimenté ce problème. J'ai envoyé un mail aux deux personnes qui ont reporté avant moi, pour savoir s'il y a eu une suite à leurs envois. Mais je suis pessimiste, apparemment rien n'a été corrigé depuis.
 
FjRond a dit:
N'est-il pas nécessaire pour DarwinPorts comme pour fink d'avoir Xcode installé ? Autrement dit, il faut installer les outils Developer. Pour éviter le problème souligné par thierry6, le mieux est d'installer la version qui se trouve sur le DVD d'installation de Tiger.
Ceci étant dit, j'ai depuis deux ou trois mois la version test d'Xcode 2.2 et aucun problème, ni avec fink, ni avec DarwinPorts.


oui, pour DarwinPorts il faut aussi XCode.
http://darwinports.opendarwin.org/docs/ch01s03.html

Le site fink parle de problèmes avec XCode 2.2, c'est pour cela que que j'y pensais.
http://fink.sourceforge.net/
il y a deux semaines, j'ai reporté un bug et tout de suite ils ont mis en cause XCode et corrigé.
"Apple's now-infamous XCode2.2 nested-functions issue."