Невозможно установить cint в Ubuntu 12.04

Я пытаюсь собрать cint из источников на Ubuntu 12.04. Однако он жалуется на 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]"!

У меня установлены libreadline6, libreadline-dev и libreadline6-dev. Что мне делать?

Редактировать:

Используя опцию --readlinelib ниже, я могу запустить configure, make и 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

Но когда я пытаюсь запустить его, я получаю:

~/Desktop/cint-5.18.00 » cint
cint: error while loading shared libraries: libCint.so: cannot open shared object file: No such file or directory

Спасибо

6
задан 05.05.2020, 19:06

2 ответа

  • Поиск разделяемой библиотеки с использованием:

    locate libreadline.so
    

    Затем запустите configure с опцией --readlinelib:

    ./configure --readlinelib=/lib/x86_64-linux-gnu/libreadline.so.6 --prefix=/usr/local
    make
    sudo make install
    
  • Если cint не может найти общую библиотеку libCint.so.

    sudo ln /usr/local/lib/libCint.so /usr/lib/libCint.so
    

    или вы можете добавить /usr/local/lib к пути загрузки ld:

    sudo echo "/usr/local/lib" >> /etc/ld.so.conf.d/usr-local.conf
    sudo ldconfig
    

    Но учтите, что это не рекомендуется, локально установленные библиотеки могут конфликтовать с установленными библиотеками Distribution. Так что делайте ссылки, если у вас возникают такие проблемы.

  • Если это не сработало. Существует несколько версий библиотеки readline. посмотрим, работают ли они.

    Если у вас установлена ​​64-битная ОС:

    sudo apt-get install lib64readline6-dev:i386
    

    Я проверил, и она работает. В противном случае проверьте другой из 32-битных:

    sudo apt-get install lib32readline6-dev
    
6
ответ дан 05.05.2020, 19:07
  • 1
    Я искал, и libreadline обнаруживается в /usr/lib/x86_64-linux-gnu/libreadline.a и /usr/lib32/libreadline.a.. возможно, я должен обновиться, библиотеки соединяют кэш каналом? – viggy28 05.05.2020, 19:07
  • 2
    Это странно.. У меня есть установка на 64 бита Linux desktop 3.5.0-45-generic #68~precise1-Ubuntu SMP Wed Dec 4 16:18:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux, но первое решение, которое Вы предложили, не встретило зависимости.. второе может быть установлено.. действительно ли возможно установить второе, не повреждая установку на 64 бита? – Basit Anwer 05.05.2020, 19:08
  • 3
    использование --readlinelib работы.. Спасибо. Мой список пакета является текущим. – L. Dai 05.05.2020, 19:08
  • 4
    Я установил его.. Однако настройте, все еще не находит libreadline.. я пропускаю что-нибудь? – BKSpurgeon 05.05.2020, 19:08
  • 5
    Если склонный не упоминал другой lib в ' пакеты, чтобы быть removed' тогда они могут быть установлены друг около друга без любого конфликта. Можно проверить также инструмент Synaptic использования во вкладку зависимости, если у них есть конфликт. – S V 05.05.2020, 19:09

Как установить cint на 64-битную версию Ubuntu 12.10. Вот как я это сделал:

  1. Создайте новый каталог /home/el/foo

  2. Перейдите в каталог и оформите последнюю версию и great:

    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
    
  3. Затем запустите его:

    el@apollo:~/foo/cint$ cint
    
    cint : C/C++ interpreter  (mailing list 'root-cint@cern.ch')
       Copyright(c) : 1995~2010 Masaharu Goto (gotom@hanno.jp)
       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
    
  4. На главном сайте есть учебники.

    cint> printf("ok");
    (const char* 0x16bef60)"ok"
    
1
ответ дан 05.05.2020, 19:07

Теги

Похожие вопросы