OS X AMC 1.2.1 macport build échoue après la mise à jour OpenCV 3.0.0 (Bug #368)
Description
Bonjour, un signalement d'échec du build Macports d'AMC 1.2.1 après la mise à jour d'OpenCV 3.0.0 viens d'arriver sur https://trac.macports.org/ticket/48074.
Je vais essayer de reproduire ça.
History
Updated by Joël Brogniart almost 10 years ago
Le fichier concerné par le problème de link est "amc-detect.cc
".
La version d'OpenCV installée maintenant par MacPorts est la version 3.0.0 et il y a eu un peu de réorganisation. Il semblerait que pour la version 1.2.1 dans MacPorts, un simple changement dans le fichier "Makefile-macports.conf
" résolve le problème.
Il faut y ajouter une nouvelle librairie OpenCV dans les options de compilation et transformer
GCC_OPENCV=-I$(BASEPATH)/include/opencv -lopencv_core -lopencv_highgui -lopencv_imgproc
en
GCC_OPENCV=-I$(BASEPATH)/include/opencv -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs
Je fais quelques tests supplémentaires et demanderai quelques renseignements complémentaires côté MacPorts. Si tout va bien je proposerai un patch et une modification du fichier de port. Côté AMC il n'y a rien à changer.
Par contre, il est probable que cette version d'OpenCV se propage un peu partout et qu'il faille adapter la version actuelle d'AMC. J'ai trouvé le truc à changer à partir des informations trouvées dans http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html.
Updated by Joël Brogniart almost 10 years ago
Les tests se sont bien passé. J'ai soumis des modifications du port pour AMC 1.2.1 à MacPorts et les modifications ont été acceptées. Donc tout est réglé côté MacPorts.
Updated by Joël Brogniart almost 10 years ago
J'ai oublié : pour que le nouveau fichier de définition soit pris en compte sur votre installation, il faut mettre à jour MacPorts avec la commande suivante.
sudo port selfupdate
Updated by Joël Brogniart almost 10 years ago
Le problème existe aussi pour la version de développement d'AMC.
Updated by Alexis Bienvenüe almost 10 years ago
Est-ce que MacPorts fournit également pkg-config
, qui permettrait d'utiliser les commandes suivantes ?
pkg-config --cflags opencv pkg-config --libs opencv
Il suffirait alors de supprimer les lignes définissant
GCC_OPENCV
et GCC_OPENCV_LIBS
dans Makefile-macports.conf
.Updated by Joël Brogniart almost 10 years ago
Dès que j'ai un moment je jette un œil là dessus, mais j'ai peur de ne pas pouvoir faire de tests dans le journée et après je pourrais rien faire avant le mois de septembre, mon avion pour le bout du monde part demain matin ;-)
Updated by Joël Brogniart almost 10 years ago
Par contre je vois un problème potentiel qui est lié au fonctionnement de Macports. Un fichier de port Macport (Portfile) contient des informations et options qui sont calculées au moment où on demande l'installation du port et certaines informations peuvent ne pas être disponibles car elles sont fournies par des outils qui ne seront installés que plus tard car ils sont dans la chaine des dépendences. Je galère en ce moment pour obtenir de l'information sur Perl au bon moment quand ils n'est pas installé lors de la demande d'installation d'AMC.
Updated by Alexis Bienvenüe almost 10 years ago
Peut-être peut-on s'en sortir avec quelque chose comme depends_build
(si je comprends bien ceci) ?
Updated by Joël Brogniart almost 10 years ago
Si opencv n'est utilisé que pour le build d'AMC, c'est là qu'il faut mettre la dépendance à opencv. Pour l'instant j'ai indiqué la dépendance avec depends_lib. Mais je ne pense pas que ça résoudra le problème de librairie non trouvée.
Updated by Joël Brogniart over 9 years ago
Alexis Bienvenüe wrote:
Est-ce que MacPorts fournit également
pkg-config
, qui permettrait d'utiliser les commandes suivantes ?
[...]
Il suffirait alors de supprimer les lignes définissantGCC_OPENCV
etGCC_OPENCV_LIBS
dansMakefile-macports.conf
.
Je peux ajouter une dépendance à pkg-config pour la phase de construction et supprimer ces lignes. Est-ce que cela suffira ou faut-il d'autres modifications ?
Updated by Joël Brogniart over 9 years ago
Alexis Bienvenüe wrote:
Est-ce que MacPorts fournit également
pkg-config
, qui permettrait d'utiliser les commandes suivantes ?
[...]
Il suffirait alors de supprimer les lignes définissantGCC_OPENCV
etGCC_OPENCV_LIBS
dansMakefile-macports.conf
.
Je peux ajouter une dépendance à pkg-config pour la phase de construction et supprimer ces lignes. Est-ce que cela suffira ou faut-il d'autres modifications ?
Pendant que j'y suis avec les ports OpenCV et pkg-config installé, j'obtiens les infos suivantes.
bash$ pkg-config --cflags opencv -I/opt/local/include/opencv -I/opt/local/include bash$ pkg-config --libs opencv -L/opt/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lopencv_hal
Updated by Alexis Bienvenüe about 8 years ago
Marqué résolu sur MacPorts.
- % Done changed from 0 to 100
- Status changed from New to Closed