[MacOS] erreur à la compilation de mac-devel

Added by Thomas Elguedj over 7 years ago

Bonjour,

Après une pause de quelques mois je suis en train de réessayer d'installer la version devel d'AMC sur mon macbook retina 12".
Je suis sous El capitan 10.11.5
J'ai installé toutes les dépendances via macports sans probleme SAUF gcc5 et pdftk.
Comme la machine n'est pas puissante, je voulais ne pas avoir à compiler gcc5 donc j'ai tenté d'installer la version de pdftk server pour mac os 10.11 en suivant les conseils de Joel et comme suggéré dans 2-3 autres messages.
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

Je précise que j'ai bien supprimé la dépendance à pdftk dans le fichier port d'amc-devel.

si je lance l'install avec la commande

sudo port install auto-multiple-choice-devel

je me mange l'erreur suivante:

Error: org.macports.build for port auto-multiple-choice-devel returned: command execution failed
Please see the log file for port auto-multiple-choice-devel for details:
    /opt/local/var/macports/logs/_Users_telguedj_nix_macports_x11_auto-multiple-choice-devel/auto-multiple-choice-devel/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port auto-multiple-choice-devel failed

Evidemment je m'empresse d'aller voir le fichier log en question (que je met en PJ du message).

Pour résumer les dernières lignes du fichier log sont

:info:build pdftk uncompress error: No such file or directory at ../reproducible-pdf.pl line 28.
:info:build make[1]: *** [auto-multiple-choice.en.pdf] Error 2
:info:build rm auto-multiple-choice.en.tex img_pdf/warning.pdf img_pdf/note.pdf img_pdf/important.pdf
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_Users_telguedj_nix_macports_x11_auto-multiple-choice-devel/auto-multiple-choice-devel/work/23cc81f7ce8a/doc'
:info:build make: *** [doc] Error 2
:info:build rm icons/auto-multiple-choice.png
:info:build make: Leaving directory `/opt/local/var/macports/build/_Users_telguedj_nix_macports_x11_auto-multiple-choice-devel/auto-multiple-choice-devel/work/23cc81f7ce8a'
:info:build Command failed:  cd "/opt/local/var/macports/build/_Users_telguedj_nix_macports_x11_auto-multiple-choice-devel/auto-multiple-choice-devel/work/23cc81f7ce8a" && /usr/bin/make -w all AMCCONF=macports BASEPATH=/opt/local GCC_OPENCV="-I/opt/local/include/opencv" GCC_OPENCV_LIBS="-lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs" PERLPATH=/opt/local/bin/perl5.24 PERLDIR=/opt/local/lib/perl5/vendor_perl/5.24 
:info:build Exit code: 2
:error:build org.macports.build for port auto-multiple-choice-devel returned: command execution failed
:debug:build Error code: CHILDSTATUS 5589 2
:debug:build Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring" 
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring" 
    invoked from within
"command_exec build" 
    (procedure "portbuild::build_main" line 8)
    invoked from within
"portbuild::build_main org.macports.build" 
    ("eval" body line 1)
    invoked from within
"eval $procedure $targetname" 
:info:build Warning: targets not executed for auto-multiple-choice-devel: org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Please see the log file for port auto-multiple-choice-devel for details:
    /opt/local/var/macports/logs/_Users_telguedj_nix_macports_x11_auto-multiple-choice-devel/auto-multiple-choice-devel/main.log

Vu l'erreur donnée par pdftk j'ai supposé un moment que le pb venait de là.
J'ai bidouillé 2-3 trucs pour vérifier que pdftk fonctionne et je n'ai pas vu de pb, donc j'ai bêtement tenté d'exécuter la commande de compilation qui plante en la lançant manuellement dans le répertoire en question.

J'ai donc tapé dans le terminal

cd "/opt/local/var/macports/build/_Users_telguedj_nix_macports_x11_auto-multiple-choice-devel/auto-multiple-choice-devel/work/23cc81f7ce8a" 

puis
sudo /usr/bin/make -w all AMCCONF=macports BASEPATH=/opt/local GCC_OPENCV="-I/opt/local/include/opencv" GCC_OPENCV_LIBS="-lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs" PERLPATH=/opt/local/bin/perl5.24 PERLDIR=/opt/local/lib/perl5/vendor_perl/5.24 

Et de manière surprenante la compilation se passe bien.

Arrivé à ce stade je ne sais plus quoi faire, donc si quelqu'un a une idée, je suis preneur.

merci.

Thomas

main.log (397.2 kB)


Replies (6)

RE: [MacOS] erreur à la compilation de mac-devel - Added by Joël Brogniart over 7 years ago

Les erreurs qui apparaissent dans le journal sont des erreurs de droits d'accès lors de la tentative de génération de la documentation. Lorsque MacPorts est exécuté, il fonctionne en tant qu'utilisateur "macports". La commande sudo make si dessus sera exécutée en tant qu'utilisateur "root".

Il faudrait voir pourquoi l'utilisateur "macports" n'a pas les droits d'écriture dans le dossier "/opt/local/var/macports/build/_Users_telguedj_nix_macports_x11_auto-multiple-choice-devel/auto-multiple-choice-devel/work/23cc81f7ce8a/doc" et ses sous dossiers.

RE: [MacOS] erreur à la compilation de mac-devel - Added by Joël Brogniart over 7 years ago

D'ailleurs, que donne la commande "which pdftk" dans le terminal ?

RE: [MacOS] erreur à la compilation de mac-devel - Added by Thomas Elguedj over 7 years ago

Re bonjour,

Pour la 2ème question, voila la réponse.

/usr/local/bin/pdftk

Pour la première j'ai vérifier les droits d'accès du repertoire en question. Le propriétaire est bien macports et il possède bien les droits complets sur celui-ci et les sous répertoire. J'ai essayé d'élargir les droits mais évidement sans que ca ne change quoi que soit, la compilation plante toujours au meme endroit.

Bizarre....

RE: [MacOS] erreur à la compilation de mac-devel - Added by Joël Brogniart over 7 years ago

Bon, on dirait que ça coince au moment ou pdftk doit générer un fichier. Malheureusement, je n'ai plus de machine en 10.11 et en 10.12, j'attends la mise à jour de l'installation opencv avec Macport pour reprendre les essais.

À tout hasard, essayez de nettoyer l'installation d'AMC (sudo port clean -f --all auto-multiple-choice-deve) et de tenter à nouveau une installation.

RE: [MacOS] erreur à la compilation de mac-devel - Added by Thomas Elguedj over 7 years ago

J'ai tenté la suggestion de nettoyage sans succès.
Je m'étais résolu a tenter l'installation de gcc5 et pdftk avec macports et du coup j'ai supprimé l'installation du binaire de pdftk spécifique 10.11 installée préalablement.

Et là j'ai fait un truc qui m'a mis la puce à l'oreille. En gros, je parlais à mon cobureau en meme temps que je supprimais en ligne de commande les répertoires orphelins de pdftk et j'ai relancé l'installation macports d'AMC-devel sans faire exprès. Evidemment ça a planté mais comme pdftk était désinstallé, je suis allé voir le fichier log par curiosité. Et là bizarrement il plante au meme endroit avec exactement la meme erreur que précédemment!
Du coup j'ai commencé à me dire que bien que pdftk ait été installé avant, la ligne suivante de mon fichier log d'installation plantée ressemblait furieusement à "je ne trouve pas la commande pdftk"

:info:build pdftk uncompress error: No such file or directory at ../reproducible-pdf.pl line 28.

Sans trop y croire j'ai donc regardé où macports installe le binaire (ou au moins un lien symbolique) pour une install de pdftk.
La réponse est (comme pour la plupart de ce que macports installe si j'ai bien suivit)

/opt/local/bin

Alors que le package fournit par pdflabs que j'ai installé met le lien symbolique vers le binaire de pdftk dans
/usr/local/bin

J'ai vérifié que les deux chemins sont bien dans mon path mais suite à la remarque de Joel sur le fait c'est le user macports qui execute la compilation, je me suis dis bêtement que son path ne contenait peut être pas /usr/local/bin (il n'y a pas grand chose dedans).

Bref j'ai fait un lien symbolique de /opt/local/bin/pdftk vers /usr/local/bin/pdftk (qui pointe lui meme vers /opt/pdflabs/pdftk/bin/pdftk).

J'ai relancé l'installation de amc-devel et ça a fonctionné!

J'ai lancé AMC et il s'affiche correctement. Je vais tester que tout va bien en profondeur mais je penses avoir réglé le pb.

Du coup c'est peut être une méthode intéressante pour faire fonctionner la version sur 10.11 sans avoir à recompiler gcc5 et pdftk.

Thomas

RE: [MacOS] erreur à la compilation de mac-devel - Added by Alexis Bienvenüe over 7 years ago

J'ai envoyé deux petites modifications qui devraient aider :
  • hg:10e7c7691ce1 : AMC n'utilise plus highgui pour OpenCV>=3. En fait ce que AMC utilise est dans highgui pour OpenCV<3, mais est mis dans imgcodecs pour OpenCV>=3. Donc plus besoin de faire appel à highgui
  • hg:4cb73a2b8e28 : possibilité de ne pas utiliser reproducible-pdf.pl (configuré dans Makefile-macports.conf)

(1-6/6)