Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 02/03/2011, à 19:50

Coeur Noir

Cherche aide pour installer openDCP

Bonjour à toute-z-et-à-toousss...

Travaillant quotidiennement avec des projecteurs de cinéma numérique, curiosité est grandissante chez moi de créer mes propres contenus à projeter (annonces d'événements, infos locales, films courts, etc...)

Me suis donc intéressé sérieusement à la question - sous windows - et sous linux, hélas avec moins de succès sous linux pour l'instant...

Voir ces liens pour mieux cerner de quoi il retourne :

http://www.projectionniste.net/forums/v … f=7&t=3247

http://forum.ubuntu-fr.org/viewtopic.php?id=444881

http://code.google.com/p/opendcp/

Me voici donc bloqué avec un message d'erreur (lire ici comment 3) dont je ne sais que faire lorsque je tente d'installer openDCP depuis ses sources. Pour l'instant la seule réponse c'est que "mon" asdcplib n'est pas assez récente alors que je l'ai prise ici : http://www.cinecert.com/asdcplib/

Je loupe forcément quelquechose quelquepart - quelqu'un pour m'éclairer ?

Dernière modification par Coeur Noir (Le 02/03/2011, à 19:51)

Hors ligne

#2 Le 03/03/2011, à 01:09

Coeur Noir

Re : Cherche aide pour installer openDCP

Comment savoir si les librairies suivantes sont bien installées - autrement dit si j'ai bien compilé asdcp, par exemple :

OpenDCP requiert :

  - AS-DCP File Access Library (http://www.cinecert.com/asdcplib/)
  - OpenSSL (http://www.openssl.org/docs/crypto/crypto.html)
  - LibXML2 (http://xmlsoft.org/)
  - LibXSLT (http://xmlsoft.org/)
  - LibXMLSec (http://www.aleksey.com/xmlsec/)
  - LibTIFF (http://www.libtiff.org/)
  - OpenJPEG (http://www.openjpeg.org)

AS-DCP requiert quant à lui :
  - OpenSSL 0.9.8k minimum (http://www.openssl.org/)
  - Xerces-C (http://xerces.apache.org/xerces-c/)
  - Expat (http://expat.sourceforge.net/)

Hors ligne

#3 Le 03/03/2011, à 13:53

argh0

Re : Cherche aide pour installer openDCP

Bon, ok, donc c'est parti, petit tutoriel pour installer asdcplib et opendcp par compilation pour les brelles.

Je signale au cas où, toutes les commandes sont à rentrer de façon séparées, les unes après les autres (ne pas copier un bloc, mais ligne par ligne en faisant entrée à chaque fois)

1) Tu télécharges les sources de asdcplib et opendcp sur leurs sites web respectifs avec Firefox, dans le dossier Téléchargements.

Dézipper et placer dans un dossier ~/src/ (un dossier pour les sources dans ton dossier perso):

mkdir ~/src/
cd Télechargements
unzip opendcp-0.16-src.zip 
mv opendcp-0.16-src ~/src/

(han, comment c'est trop stylé faire des trucs au terminal qu'on pourrait faire à la souris)

On va voir ce qui se dit dans les fichiers d'info...

cd ~/src/opendcp-0.16-src/
ls
less README.txt
less COMPILE.txt

Ok, on y voit un peu plus clair, effectivement il faut asdcplib et d'autres conneries. Donc même chose, dézippage de asdcplib :

cd ~/Téléchargements
tar -xzf asdcplib-1.7.40.tar.gz 
mv asdcplib-1.7.40 ~/src/

2) on installe toutes les dépendances nécessaires qui sont dans les dépôts :

sudo apt-get install libxslt1.1 libxslt1-dev openssl libssl-dev libxml2 libxmlsec1 xmlsec1 libxmlsec1-dev libxmlsec1-openssl libtiff4 libtiff4-dev libopenjpeg2  libopenjpeg-dev  libexpat1-dev  libxml2-dev cmake

(c'est une seule commande) Ça fait un paquet de trucs, hein. En fait faut installer à la fois des librairies de fonctionnement et des librairies de developpement nécessaires pour compiler. Là on les installe en ligne de commande, tu aurais pu les chercher dans Synaptic. Si il y en a déjà installés, ils seront ignorés.

3) Compilation de asdcplib (on commence les choses sérieuses)
Si pas placé dans le bon dossier y aller :

cd ~/src/asdcplib-1.7.40

Et c'est parti :

./configure
make
sudo checkinstall

T'inquiètes, ça prend un peu de temps. Regarde les messages de fin à chaque commande, si il n'y a rien d'alarmant (genre fatal error, machin not found) c'est que c'est bon. Checkinstall te permet de générer un paquet .deb et de l'installer pour une désinstallation plus facile - on peut aussi faire make install, je sais pas trop la différence. Quand checkinstall te demande d'entrer de la doc, t'en fous, tu fais non.

4) installation d'Opendcp ! (enfin)

Changement de dossier :

cd ~/src/opendcp-0.16-src/

En fait y'à une petite erreur dans un fichier de config qui empêche la compilation. Donc tu fais comme suit :

gedit CMakeModules/FindXMLSec.cmake

Ça ouvre un fichier dans gedit, l'éditeur de texte, et tu remplaces :

# Include dir
find_path(XMLSEC_INCLUDE_DIR
NAMES xmlsec.h xmlsec/xmlsec.h
)

Par

# Include dir
find_path(XMLSEC_INCLUDE_DIR
NAMES xmlsec.h xmlsec1
)

Bon, donc compilation :

cmake .
make
sudo checkinstall

FIN de l'installation.

Et voilà ! Donc ça évidemment c'est la théorie, sur Ubuntu 10.10 64bits en plus. Et j'ai pas testé les programmes. Donc tu auras toi immanquablement des erreurs que l'on corrigera et on devrait s'en sortir. Bonne chance !

Hors ligne

#4 Le 03/03/2011, à 23:28

Coeur Noir

Re : Cherche aide pour installer openDCP

Yessss, merci et avec de l'humour !

Entre-temps je me suis documenté et suis donc parvenu à compiler pas mal de trucs - avait également corrigé l'erreur dans le FindXMLsec - notamment : openSSL car il faut la dernière version, pas celle des dépôts.

Je me retrouve avec des bin et des lib installés dans /usr/local/bin(ou)lib -> rien n'a fonctionné tant que je ne les avais pas copié dans /usr/bin(ou)lib : normal ???

Ensuite openDCP a besoin de la dernière version d'openjpeg la 1.4. L'ai compilée mais elle ne prend pas la place de la version installée depuis les dépôts bien avant. Et si je veux enlever celle-là, ça me vire un paquet de paquets...

Bref en l'état la commande opendcp_j2k ne fonctionne pas (erreur segmentation, à priori à cause de la version d'openjpeg) la commande opendcp_xml c'est ok. opendcp_mxf s'appuie sur asdcplib donc ça devrait aller (puisque la commande asdcp-test fonctionne).

Je pense que je n'ai pas procédé dans le bon ordre et qu'il faudrait que je reparte d'un système 'vierge' qu'en penses-tu ?

J'ai placé mes dossiers de sources dans /opt/ c'était peut-être pas une bonne idée ?

Ah oui ici c'est ubuntu 10.04 64bits aussi.

Hors ligne

#5 Le 04/03/2011, à 10:31

Coeur Noir

Re : Cherche aide pour installer openDCP

Ha, apparemment une version 0.17 d'openDCP est en train de voir le jour...

Hors ligne

#6 Le 04/03/2011, à 19:05

argh0

Re : Cherche aide pour installer openDCP

Coeur Noir a écrit :

OpenSSL car il faut la dernière version, pas celle des dépôts. [...] Ensuite openDCP a besoin de la dernière version d'openjpeg la 1.4. L'ai compilée mais elle ne prend pas la place de la version installée depuis les dépôts bien avant. Et si je veux enlever celle-là, ça me vire un paquet de paquets.

C'est quand même bizarre, ce programme qui ne marche pas avec les versions courantes des librairies et qui a besoin des toutes dernières versions, c'est pas habituel. Normalement, les fonctions usuelles ne changent pas de nom entre les versions et donc les codes sont souvent compatibles avec des "vieilles" versions. Par exemple la toute dernière version de Drupal marche avec PHP 5.2.5, dans Lucid Lynx c'était déjà PHP 5.3 qui était dans les dépôts. Bon, ok, je veux bien pour OpenJPEG, mais pour OpenSSL, c'est bizarre, c'est un truc mûr depuis longtemps...

En tout cas, si j'essaye de désinstaller OpenJpeg (libopenjpeg2) avec Synaptic, ça va, chez moi ça ne désinstalle rien de grave... Si tu réinstalles une version plus neuve, il faudra que tu recompiles OpenDCP, forcément.

Je me retrouve avec des bin et des lib installés dans /usr/local/bin(ou)lib -> rien n'a fonctionné tant que je ne les avais pas copié dans /usr/bin(ou)lib : normal ???

Ah. Bon. En tout cas depuis mon terminal j'ai accès aux commandes opendcp_xml_verify, opendcp_j2k, opendcp_mxf, opendcp_xml. Je peux les lancer avec un argument -h pour afficher un petit fichier d'aide, pour la suite je peux pas, j'ai pas de fichiers d'exemple... En fait, si je me rappelle bien, t'as une variable $PATH dans le bash (tu peux l'afficher avec echo $PATH) qui donne les chemins des répertoires où le bash va chercher les fonctions, /usr/local/bin est dedans chez moi. J'imagine que pour les librairies ça doit être la même chose, il y a des "chemins", mais je sais pas où.

Ceci dit, si tu installes en sudo, j'imagine que les trucs vont dans les répertoire /usr/bin et /usr/lib au lieu des /usr/local/.

Un truc à savoir : checkinstall est l'équivalent de make install, sauf qu'en plus il te crée un espèce de paquet et il le référence dans dpkg et dérivés (apt-get, Synaptic), ce qui te permet de désinstaller tes programmes compilés facilement. Ce qu'il n pourra pas faire si tu fous le bordel et tu déplaces tes fichiers compilés manuellement...

Je pense que je n'ai pas procédé dans le bon ordre et qu'il faudrait que je reparte d'un système 'vierge' qu'en penses-tu ?

J'en pense du bien. Sauf que de toutes façons, si tu changes des librairies de base dans le système par des versions plus à jour, tu "fous le bordel". OpenJPEG c'est pas trop grave (rien d'essentiel n'en dépend), OpenSSL beaucoup plus. Grosso modo, tous les paquets officiels ont été testés pour bien fonctionner ensemble, si t'en changes un... Bon, donc limite je te recommanderais d'avoir deux systèmes, un pour bosser tous les jours, l'autre d'expérimentation. Je t'aurais dit de prendre une distribution roulante comme ArchLinux ou Debian Testing, mais il semblerait qu'elles ne sont pas suffisamment à jour pour toi...

J'ai placé mes dossiers de sources dans /opt/ c'était peut-être pas une bonne idée ?

Ça change pas grand chose. Mais dans la théorie, les sources, tu travailles dessus, ce sont des documents, donc dans ton dossier /home/user/src par exemple. /opt/ pour des binaires récupérés sur le web tels quels, /usr/local/bin les trucs compilés.

Bon, et saches quand même que je ne suis pas un grand pro de la compilation et de tout ça, j'apprends, c'est l'intérêt d'essayer de te filer un coup de main.

Ha, apparemment une version 0.17 d'openDCP est en train de voir le jour...

Ouais, et ça m'étonne qu'on trouve facilement les versions compilées pour Windows et Mac et pas les sources...

Hors ligne

#7 Le 06/03/2011, à 13:09

Coeur Noir

Re : Cherche aide pour installer openDCP

Ca y est les source 0.17 sont disponibles avec quelques changements significatifs -> je vais repartir d'une install' ubuntu fraîche, je pense.

C'est libtiff 3.9.2 installé par défaut dans ubuntu, pas la 3.9.4 semble-t-il.

compile.txt a écrit :

OpenDCP
------------
This program builds the XML files for Digital Cinema Packages.

Requirements
------------
The program requires the following libraries. The versions listed are the ones tested with OpenDCP.

  - AS-DCP File Access Library 1.7.40 (http://www.cinecert.com/asdcplib/)
  - OpenSSL 0.9.8 (http://www.openssl.org/docs/crypto/crypto.html)
  - LibXML2 2.7.8 (http://xmlsoft.org/) [optional - if you want XML signatures]
  - LibXSLT 1.1.26 (http://xmlsoft.org/) [optional - if you want XML signatures]
  - LibXMLSec 1.2.16 (http://www.aleksey.com/xmlsec/) [optional - if you want XML signatures]
  - LibTIFF 3.9.4 (http://www.libtiff.org/)
  - OpenJPEG 1.4 (http://www.openjpeg.org)

Mac OS X and many linux distributions already have OpenSSL (libcrypto) installed.

Cmake
------------
CMake is used to build this application. You may need to install CMake.
Most linux distributions have CMake installed or have it available through the package manager.
On Mac OSX, CMake is easily installed with MacPorts.

Compile
------------
It is recommended you perform an out-of-source build. This will prevent cluttering the source directory.
This can be performed from anywhere, just give cmake the path to the root directory of the OpenDCP source.

For example, if the OpenDCP source is in /home/opendcp, but you want to build in /home/opendcp-build

# cd /home/opendcp-build
# cmake /home/opendcp/

By default XMLSEC libraries are not enabled, to enabled add the ENABLE_XMLSEC flag

# cmake -DENABLE_XMLSEC=ON /home/opendcp

If you want to statically link OpenDCP (not recommended), you can add the ENABLE_STATIC flag

# cmake -DENABLE_STATIC=ON /home/opendcp

Once cmake completes, you should have the necessary make files. To compile issue the make command.

# make

You should end up with opendcp_xml, opendcp_xml, opendc_xml_verify (if XMLSEC enabled) opendcp_j2k in the bin directory of youe build tree.

Install
------------
You can install OpenDCP so you can invoke the command from anywhere.

# make install

Dernière modification par Coeur Noir (Le 06/03/2011, à 13:11)

Hors ligne

#8 Le 10/03/2011, à 23:23

Coeur Noir

Re : Cherche aide pour installer openDCP

Bon je repars d'une install' ubuntu toute fraîche...

Openjpeg v1.4 est compilé/installé ainsi que les différents paquets/lib.

Pour asdcp j'ai un doute, à la fin de ./configure j'ai quelques "no" en fin de ligne :

coeur-noir@coeur-noir-desktop:~/Sources/asdcplib-1.7.40$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 1572864
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... (cached) ranlib
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for OpenSSL headers in /usr/include... found
checking for OpenSSL libraries... found
checking for OpenSSL... yes
checking if OpenSSL version is >= 0.9.7... yes
checking for Expat XML Parser... no
checking for Xerces C++ Parser... no
checking for --with-python... no
checking for pthread_create in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating win32/Makefile
config.status: creating win32/Makefile.mak
config.status: executing depfiles commands

Grave pas grave ? Expat et Xerces sont pourtant installés. Je continue...

_____________


Ok, passons à opendcp-0.17, là tout roule...

Je vais tester les différents outils.

A chaque étape je suis parvenu à créer un .deb via checkinstall.

_____________


Premiers tests concluants.

Dernière modification par Coeur Noir (Le 11/03/2011, à 11:04)

Hors ligne

#9 Le 11/03/2011, à 11:27

argh0

Re : Cherche aide pour installer openDCP

Coeur Noir a écrit :

Bon je repars d'une install' ubuntu toute fraîche...

Openjpeg v1.4 est compilé/installé ainsi que les différents paquets/lib.

Par curiosité, tu t'y es pris comment pour désinstaller la version 1.3 et installer la version 1.4 ? Synaptic puis ./configure make sudo checkinstall ?

Coeur Noir a écrit :

Pour asdcp j'ai un doute, à la fin de ./configure j'ai quelques "no" en fin de ligne :
[...]
Grave pas grave ? Expat et Xerces sont pourtant installés. Je continue...

Pas grave, je crois. Configure ne fait que checker ta configuration et adapter les instructions de compilation en fonction.

Coeur Noir a écrit :

A chaque étape je suis parvenu à créer un .deb via checkinstall.

Tu fais sudo checkinstall, hein, du coup, pour installer en tant qu'admin et que ça aille direct dans les bons répertoires au lieu des répertoires "user"? Note que ce .deb ne peut pas être distribué, il est uniquement à usage interne : comme ça tu retrouves les paquets des logiciels compilés dans apt-get, synaptic, logithèque, etc.

Au passage, un truc cool : utiliser checkinstall avec auto-apt (voir https://help.ubuntu.com/community/Check … 0auto-apt). Auto-apt te permet de lancer le ./configure sans avoir les dépendances, et installe les dépendances automatiquement (enfin, les versions des dépôts).

L'étape suivante, une fois que tu seras arrivé à tout faire marcher correctement, serait d'aider les autres à l'installer. Pour commencer, éditer les messages de début de conversation sur les forums pour faire un tuto complet et à jour.

Ensuite, si tu es vraiment motivé, tu peux essayer de créer un ppa : https://launchpad.net/ubuntu/+ppas . Le principe : tu envoies le code source par ftp au serveur, qui te compile lui-même les paquets, et crée un dépôt pour chaque version d'Ubuntu (10.04, 10.10, 32 bits, 64 bits). Si des versions des dépendances sont déjà présentes dans ton ppa (genre openjpeg 1.4), il va utiliser ces versions pour la compilation, sinon celles des dépôts principaux. Donc ensuite, pour l'installation, les gens n'ont plus qu'à rajouter le dépôt à leurs sources de logiciel, puis faire un sudo apt-get update et sudo apt-get install ce qu'ils veulent. Si un logiciel est plus récent dans le ppa, il remplace la version déjà installée.

Donc en gros : tu crées un ppa, tu y uploades successivement les codes sources par ordre de dépendance (openjpeg, asdcplib, opendcp), les paquets sont créés automatiquement. Puis tu n'as plus qu'à donner l'adresse du ppa aux personnes intéressées, qui eux pourront utiliser Synaptic.

Dernière modification par argh0 (Le 11/03/2011, à 11:34)

Hors ligne

#10 Le 11/03/2011, à 18:44

Coeur Noir

Re : Cherche aide pour installer openDCP

Yes, j'ai fait sudo checkinstall.

Par curiosité, tu t'y es pris comment pour désinstaller la version 1.3 et installer la version 1.4 ? Synaptic puis ./configure make sudo checkinstall ?

euh... nan, plus barbare : j'ai réinstallé ubuntu big_smile

Je vais tester - et d'autres aussi vont tester - et mettre à jour le tuto en fonction de ce qu'on arrive (ou pas) à faire.

Pour le ppa, l'idée est chouette... Je ne m'y lancerais qu'avec l'accord de l'auteur d'opendcp - qui bosse dur pour le peaufiner.

Dernière modification par Coeur Noir (Le 14/03/2011, à 13:29)

Hors ligne

#11 Le 22/11/2012, à 15:28

Coeur Noir

Re : Cherche aide pour installer openDCP

Juste pour info : l'auteur d'OpenDCP fournit maintenant des paquets .deb et .rpm

Voir → http://code.google.com/p/opendcp/downloads/list

Hors ligne

Haut de page ↑