This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libcloog-isl.so.4: cannot open shared object file: No such file or directory


> > Hi Manfred,
> >
> > Thanks for your reply. I have made the changes that you suggested to
> > my /etc/bashrc file but I still get the same error when I try to compile
> > hello.f90.
> >
> > That file is simply:
> >         program hello
> >            print *, "Hello World!"
> >         end program hello
> >
> > When I compile that code I get the following.
> >
> > Documents]$ gfortran hello.f90 -o hello.exe
> > /usr/local/gcc-4.8/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/f951:
> > error while loading shared libraries: libcloog-isl.so.4: cannot open
> > shared object file: No such file or directory
> >
> 
> This sounds strange somehow.
> Have you sourced your bashrc (or did a new login) ?

I opened a new xterm after changing bashrc each time and this seemed to
work. When I checked the path after each change it was the latest
version.


> What tells "type -a gfortran" ?


 ~]$ type -a gfortran
gfortran is a function
gfortran () 
{ 
    export LD_LIBRARY_PATH=/usr/local/gcc4.8/lib64:$LD_LIBRARY_PATH;
    /usr/local/gcc-4.8/bin/gfortran "$@"
}
gfortran is /usr/local/gcc-4.8/bin/gfortran
gfortran is /usr/local/gcc-4.8/bin/gfortran
gfortran is /usr/bin/gfortran



> 
> It seems this has nothing to do with GCC, it's simply a path issue, as
> the library libcloog-isl.so is not found.
> 
> So you have to make sure your LD_LIBRARY_PATH contains a segment which
> points exactly to the location of your libcloog-isl.so.4.
> 
> 
> >
> > Could the previous version of g compilers be conflicting with this
> > latest version? I did not remove the previous version whilst trying 4.8
> > out in /usr/local. The files for the older version are in /usr/ but I
> > know that I am running the newer version by using the gfortran -v
> > command.
> >
> 
> Not so much an issue for compiling, but when running your hello.exe (when you
> managed to build it), you have to make sure it uses the correct libgfortran.so.
> You can check this with the command "ldd hello.exe".
> 
> 
> Cheers,
> Manfred
> 
> 
> > Documents]$ gfortran -v
> > Using built-in specs.
> > COLLECT_GCC=/usr/local/gcc-4.8/bin/gfortran
> > COLLECT_LTO_WRAPPER=/usr/local/gcc-4.8/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper
> > Target: x86_64-unknown-linux-gnu
> > Configured with: ../gcc-4.8-source/gcc-4.8-20130704/configure
> > --enable-languages=c,c++,fortran --enable-checking=release
> > --disable-libmudflap --disable-libstdcxx-pch --enable-libgomp
> > --enable-lto --enable-gold --with-plugin-ld=/usr/bin/gold
> > --with-cloog-include=/usr/include-cloog --with-cloog-lib=/usr/lib64
> > --prefix=/usr/local/gcc-4.8
> > Thread model: posix
> > gcc version 4.8.2 20130704 (prerelease) (GCC)
> >
> > The error message given during compiling hello.f90 talks about
> > libcloog-isl.so.4 and in the information provided by that gfortran -v it
> > says:
> > --with-cloog-include=/usr/include-cloog
> > --with-cloog-lib=/usr/lib64
> > DOes this mean that gfortran is looking for libclood-isl.so.4 in these
> > folders? These are not the folders that I have placed libclood-isl.so.4.
> > How can I get gfortran to use the correct folder for this file?
> >

I tried to move the required libraries from one of the folder that I
have then in to the folder that gfortran -v says that it wanted them in:

Documents]$ sudo cp /usr/gcc-4.8/lib64-pre/* /usr/lib-64

When I opened a new xterm this did build hello.f90 but hello.exe would
not run.

Documents]$ ldd hello.exe
./hello.exe: /usr/lib64/libgfortran.so.3: version `GFORTRAN_1.4' not
found (required by ./hello.exe)
	linux-vdso.so.1 =>  (0x00007fffdb5ff000)
	libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00007fa8c851f000)
	libm.so.6 => /lib64/libm.so.6 (0x000000385b400000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003861c00000)
	libquadmath.so.0 => not found
	libc.so.6 => /lib64/libc.so.6 (0x000000385b800000)
	/lib64/ld-linux-x86-64.so.2 (0x000000385b000000)

Trying to run the code gives:

Documents]$ ./hello.exe
./hello.exe: error while loading shared libraries: libquadmath.so.0:
cannot open shared object file: No such file or directory

The file libquadmath.so.0 is in the /usr/local/gcc-4.8/lib
and /usr/local/gcc-4.8/lib64/ directories but not in /usr/lib64. Is
there a way of configuring gfortran to make it look
in /usr/local/gcc-4.8 for the libraries that it needs?

I guess that I can just copy the whole /usr/local/gcc-4.8/lib
and /usr/local/gcc-4.8/lib64 into /usr/lib and /usr/lib64 directories.
But it would be better to get gfortran to look in the places that we
want.

Thanks for your help,
Jonathan




> > Or is there another issue?
> >
> > Thanks for your help,
> > Jonathan
> >
> >
> >
> >>
> >>> When I try to compile a simple "hello world" program to test the
> >>> installation then I get the following error. What does this error mean?
> >>> Where should I unpack gcc-4.8-infrastructure?
> >>>
> >>>
> >>> gfortran hello.f90 -o hello.exe
> >>> /usr/local/gcc-4.8/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/f951:
> >>> error while loading shared libraries: libcloog-isl.so.4: cannot open
> >>> shared object file: No such file or directory
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]