J'essaie de construire cint à partir de sources sur Ubuntu 12.04. Cependant, il se plaint de libreadline
:
~/Desktop/cint-5.18.00 » ./configure
Guessing architecture to be linuxx8664gcc
Using current CINT core
Please install the package "libreadline or [lib]readline-dev[el]"!
J'ai libreadline6
, libreadline-dev
et libreadline6-dev
installé. Que devrais-je faire?
En utilisant l’option --readlinelib
ci-dessous, je peux exécuter configure
, make
et make install
:
/usr/local/include/cint
/usr/local/include/cint/cintdictversion.h
/usr/local/include/cint/configcint.h
/usr/local/share/cint
/usr/local/share/cint/cint
/usr/local/share/cint/cint/lib/qt/qtcint.h
/usr/local/share/cint/cint/lib/wintcldl83/cintlib.c
/usr/local/share/cint/cint/lib/socket/cintsock.h
/usr/local/share/cint/cint/lib/socket/cintsock.c
/usr/local/share/cint/cint/lib/dll_stl/cinteh.h
/usr/local/share/cint/cint/lib/win32api/cintwin.h
/usr/local/share/cint/cint/lib/gl/cintGL.h
/usr/local/share/cint/cint/lib/cintocx
/usr/local/share/cint/cint/lib/cintocx/cintocx.aps
/usr/local/share/cint/cint/lib/cintocx/cintocx.h
/usr/local/share/cint/cint/lib/cintocx/cintocx.cpp
/usr/local/share/cint/cint/lib/cintocx/cintocx.ico
/usr/local/share/cint/cint/lib/cintocx/CintocxCtl.cpp
/usr/local/share/cint/cint/lib/cintocx/CintocxCtl.bmp
/usr/local/share/cint/cint/lib/cintocx/cintocx3.bmp
/usr/local/share/cint/cint/lib/cintocx/cintocx.clw
/usr/local/share/cint/cint/lib/cintocx/CintocxCtl.h
/usr/local/share/cint/cint/lib/cintocx/CintocxPpg.h
/usr/local/share/cint/cint/lib/cintocx/cintocx.mdp
/usr/local/share/cint/cint/lib/cintocx/cintocx.odl
/usr/local/share/cint/cint/lib/cintocx/CintocxPpg.cpp
/usr/local/share/cint/cint/lib/cintocx/cintocx.mak
/usr/local/share/cint/cint/lib/cintocx/Cint-Ocx
/usr/local/share/cint/cint/lib/cintocx/cintocx.rc
/usr/local/share/man/man1/makecint.1
/usr/local/share/man/man1/cint.1
/usr/local/lib/libCint.so
/usr/local/lib/libCint_static.a
/usr/local/lib/clang/3.5/include/f16cintrin.h
/usr/local/bin/cint
/usr/local/bin/cint-config
/usr/local/bin/makecint
Mais quand j'essaye de le lancer, je reçois:
~/Desktop/cint-5.18.00 » cint
cint: error while loading shared libraries: libCint.so: cannot open shared object file: No such file or directory
Merci
Rechercher une bibliothèque partagée en utilisant:
locate libreadline.so
Puis lancez configure avec l'option --readlinelib
:
./configure --readlinelib=/lib/x86_64-linux-gnu/libreadline.so.6 --prefix=/usr/local
make
Sudo make install
Si cint ne peut pas trouver la bibliothèque partagée libCint.so
.
Sudo ln /usr/local/lib/libCint.so /usr/lib/libCint.so
ou vous pouvez ajouter /usr/local/lib
au dernier chemin de chargement:
Sudo echo "/usr/local/lib" >> /etc/ld.so.conf.d/usr-local.conf
Sudo ldconfig
Mais gardez à l'esprit que cela n'est pas recommandé, les bibliothèques installées localement peuvent entrer en conflit avec les bibliothèques installées de Distribution. Alors faites des liens à la place si vous rencontrez de tels problèmes.
Si ça n'a pas marché. Il existe plusieurs versions de lib readline. voir s'ils fonctionnent.
Si votre système d'exploitation est une installation 64 bits:
Sudo apt-get install lib64readline6-dev:i386
Je l'ai vérifié et ça marche. Sinon, vérifiez l’autre de 32 bits:
Sudo apt-get install lib32readline6-dev
Comment installer cint sur une boîte Ubuntu 12.10 64 bits. Voici comment je l’ai fait:
Créer un nouveau répertoire /home/el/foo
Allez dans le répertoire et accédez à la dernière et à la meilleure:
svn co http://root.cern.ch/svn/root/branches/v5-34-00-patches/cint cint
cd cint
Sudo apt-get install libreadline-dev
./configure --readlinelib=/lib/x86_64-linux-gnu/libreadline.so.6.2 --prefix=/usr/local
make
Sudo make install
Sudo ln /usr/local/lib/libCint.so /usr/lib/libCint.so
Puis lancez-le:
el@apollo:~/foo/cint$ cint
cint : C/C++ interpreter (mailing list '[email protected]')
Copyright(c) : 1995~2010 Masaharu Goto ([email protected])
revision : 5.18.00, July 2, 2010 by M.Goto
No main() function found in given source file. Interactive interface started.
'h':help, 'q':quit, '{statements;}' or 'p [expr]' to evaluate
cint> sin(1.2);
(const double)1.19999999999999996e+00
Il y a des tutoriels sur le site principal.
cint> printf("ok");
(const char* 0x16bef60)"ok"