6

I am trying to build cint from sources on Ubuntu 12.04. However it complains about 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]"!

I have libreadline6, libreadline-dev and libreadline6-dev installed. What should I do?

Edit:

Using --readlinelib option below I am able to run configure, make and 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

But when I try to run it I get:

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

Thanks

10
  • Could you please put some of your time to review the answer? You may edit or add new one.
    – user.dz
    Jan 18, 2014 at 20:40
  • 1
    I have built and installed it using checkinstall but it tells me bin/cint: error while loading shared libraries: libCint.so: cannot open shared object file: No such file or directory
    – gc5
    Jan 19, 2014 at 16:05
  • locate libCint.so? (extend the question with the output, please, don't use comments for that)
    – user.dz
    Jan 19, 2014 at 16:12
  • 1
    locate returns only local version of the library.. I tried to run sudo make install. I have posted the error above, thanks.
    – gc5
    Jan 19, 2014 at 16:45
  • 1
    Add it to /etc/ld.so.conf.d/ see update
    – user.dz
    Jan 19, 2014 at 21:54

2 Answers 2

6
  • Search for shared lib using using:

    locate libreadline.so
    

    Then run configure with --readlinelib option:

    ./configure --readlinelib=/lib/x86_64-linux-gnu/libreadline.so.6 --prefix=/usr/local
    make
    sudo make install
    
  • If cint couldn't find the shared lib libCint.so.

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

    or you may add /usr/local/lib to ld load path:

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

    But keep in mind this not recommended, Local installed lib's may conflict with Distribution installed libs. So make links instead if you get such problems.

  • If it didn't work. There are multiple readline lib versions. see if they work.

    If your OS is 64bit install:

    sudo apt-get install lib64readline6-dev:i386
    

    I have checked it and it does work. Otherwise check the other one of 32bit:

    sudo apt-get install lib32readline6-dev
    
6
  • 1
    This is weird.. I have a 64 bit install 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 but the first solution you proposed has unmet dependencies.. the second can be installed.. is it possible to install the second without breaking a 64 bit install?
    – gc5
    Jan 16, 2014 at 21:58
  • If apt did not mention other lib in 'packages to be removed' then they can be installed beside each other without any conflict. You can check also using Synaptic tool in dependency tab if they have conflict.
    – user.dz
    Jan 16, 2014 at 22:33
  • I installed it.. However configure still does not find libreadline.. am I missing anything?
    – gc5
    Jan 16, 2014 at 23:00
  • 1
    I searched and libreadline shows up in /usr/lib/x86_64-linux-gnu/libreadline.a and /usr/lib32/libreadline.a.. maybe I need to refresh a libraries paths cache?
    – gc5
    Jan 16, 2014 at 23:51
  • 1
    using --readlinelib works.. Thanks. My package list is current.
    – gc5
    Jan 17, 2014 at 10:02
1

How to install cint onto a 64 bit Ubuntu 12.10 box. Here is how I did it:

  1. Make a new directory /home/el/foo

  2. Go into the directory and checkout the latest and greatest:

    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. Then run it:

    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
    
  4. There are tutorials on the main site.

    cint> printf("ok");
    (const char* 0x16bef60)"ok"
    

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .