hhoeflin / hdf5r

Other
80 stars 23 forks source link

Cannot find shared object libhdf5_hl.so.100 #106

Open ekernf01 opened 6 years ago

ekernf01 commented 6 years ago

This error message is very similar to #94, but I tried the fix from vondoReshi and it doesn't solve this. Note that the filename ends in 100, not 10.

Prior to running install.packages("hdf5r"), I downloaded hdf5 1.8.20, extracted it, and ran the following commands.

I made sure that echo $LD_LIBRARY_PATH includes <my_home_folder>/lib, so I was hoping R would be able to find all the .o and .so files it needs. As best I can tell by googling, there is something in a header file that is throwing off the C++ compiler's header checking, but I am probably way off. Do you have any suggestions for how to proceed? Thanks!

The exact error:

Error: package or namespace load failed for ‘hdf5r’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/home/ek29w/R/x86_64-pc-linux-gnu-library/3.5/hdf5r/libs/hdf5r.so':
  libhdf5_hl.so.100: cannot open shared object file: No such file or directory

The full log:

trying URL 'https://mirrors.sorengard.com/cran/src/contrib/hdf5r_1.0.1.tar.gz'
Content type 'application/octet-stream' length 1999865 bytes (1.9 MB)
==================================================
downloaded 1.9 MB

* installing *source* package ‘hdf5r’ ...
** package ‘hdf5r’ successfully unpacked and MD5 sums checked
checking for a sed that does not truncate output... /bin/sed
checking for gawk... gawk
checking for grep that handles long lines and -e... /bin/grep
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
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 how to run the C preprocessor... gcc -E
checking for egrep... /bin/grep -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 for h5cc... /project/umw_rene_maehr/programs/miniconda3/bin/h5cc
checking for HDF5 libraries... yes (version 1.10.2)
checking hdf5.h usability... no
checking hdf5.h presence... yes
configure: WARNING: hdf5.h: present but cannot be compiled
configure: WARNING: hdf5.h:     check for missing prerequisite headers?
configure: WARNING: hdf5.h: see the Autoconf documentation
configure: WARNING: hdf5.h:     section "Present But Cannot Be Compiled"
configure: WARNING: hdf5.h: proceeding with the compiler's result
configure: WARNING:     ## -------------------------------- ##
configure: WARNING:     ## Report this to hoeflin@gmail.com ##
configure: WARNING:     ## -------------------------------- ##
checking for hdf5.h... no
checking for H5Fcreate in -lhdf5... no
configure: WARNING: Unable to compile HDF5 test program
checking for hdf5_hl.h... no
checking for H5LTpath_valid in -lhdf5_hl... no
configure: WARNING: Unable to compile HDF5_HL test program
checking for main in -lhdf5_hl... no
checking for matching HDF5 Fortran wrapper... /project/umw_rene_maehr/programs/miniconda3/bin/h5fc
Found hdf5 with version: 1.10.2
checking for ggrep... /bin/grep
checking whether /bin/grep accepts -o... yes
checking for ggrep... (cached) /bin/grep
checking whether /bin/grep accepts -o... yes
configure: creating ./config.status
config.status: creating src/Makevars
** libs
cp 1_10_2/*.c 1_10_2/*.h .
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c const_export.c -o const_export.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c datatype_export.c -o datatype_export.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5A.c -o Wrapper_auto_H5A.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5.c -o Wrapper_auto_H5.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5D.c -o Wrapper_auto_H5D.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5DS.c -o Wrapper_auto_H5DS.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5E.c -o Wrapper_auto_H5E.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5F.c -o Wrapper_auto_H5F.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5G.c -o Wrapper_auto_H5G.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5I.c -o Wrapper_auto_H5I.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5IM.c -o Wrapper_auto_H5IM.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5L.c -o Wrapper_auto_H5L.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5LT.c -o Wrapper_auto_H5LT.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5O.c -o Wrapper_auto_H5O.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5P.c -o Wrapper_auto_H5P.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5R.c -o Wrapper_auto_H5R.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5S.c -o Wrapper_auto_H5S.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5TB.c -o Wrapper_auto_H5TB.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5T.c -o Wrapper_auto_H5T.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5Z.c -o Wrapper_auto_H5Z.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5FDcore.c -o Wrapper_auto_H5FDcore.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5FDfamily.c -o Wrapper_auto_H5FDfamily.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5FDlog.c -o Wrapper_auto_H5FDlog.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5FDsec2.c -o Wrapper_auto_H5FDsec2.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_auto_H5FDstdio.c -o Wrapper_auto_H5FDstdio.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c convert.c -o convert.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c hdf5r_init.c -o hdf5r_init.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c H5Error.c -o H5Error.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c H5ls.c -o H5ls.o
gcc -I"/share/pkg/R/3.5.0/lib64/R/include" -DNDEBUG -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include -I/project/umw_rene_maehr/programs/miniconda3/include   -I/usr/local/include  -D__USE_MINGW_ANSI_STDIO -fpic  -I/share/pkg/bzip2/1.0.6_fPIC_lib/include -I/share/pkg/pcre/8.40/include -I/share/pkg/xz/5.2.3/include  -c Wrapper_manual_H5T.c -o Wrapper_manual_H5T.o
gcc -shared -L/share/pkg/R/3.5.0/lib64/R/lib -L/share/pkg/bzip2/1.0.6_fPIC_lib/lib -L/share/pkg/pcre/8.40/lib -I/share/pkg/xz/5.2.3/lib -o hdf5r.so const_export.o datatype_export.o Wrapper_auto_H5A.o Wrapper_auto_H5.o Wrapper_auto_H5D.o Wrapper_auto_H5DS.o Wrapper_auto_H5E.o Wrapper_auto_H5F.o Wrapper_auto_H5G.o Wrapper_auto_H5I.o Wrapper_auto_H5IM.o Wrapper_auto_H5L.o Wrapper_auto_H5LT.o Wrapper_auto_H5O.o Wrapper_auto_H5P.o Wrapper_auto_H5R.o Wrapper_auto_H5S.o Wrapper_auto_H5TB.o Wrapper_auto_H5T.o Wrapper_auto_H5Z.o Wrapper_auto_H5FDcore.o Wrapper_auto_H5FDfamily.o Wrapper_auto_H5FDlog.o Wrapper_auto_H5FDsec2.o Wrapper_auto_H5FDstdio.o convert.o hdf5r_init.o H5Error.o H5ls.o Wrapper_manual_H5T.o -L/project/umw_rene_maehr/programs/miniconda3/lib -L/project/umw_rene_maehr/programs/miniconda3/lib -L/project/umw_rene_maehr/programs/miniconda3/lib -L. -lhdf5_hl -lhdf5 -lz -lm -L/share/pkg/R/3.5.0/lib64/R/lib -lR
installing to /home/ek29w/R/x86_64-pc-linux-gnu-library/3.5/hdf5r/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error: package or namespace load failed for ‘hdf5r’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/home/ek29w/R/x86_64-pc-linux-gnu-library/3.5/hdf5r/libs/hdf5r.so':
  libhdf5_hl.so.100: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/ek29w/R/x86_64-pc-linux-gnu-library/3.5/hdf5r’

The downloaded source packages are in
    ‘/tmp/RtmplKWaOD/downloaded_packages’
Warning message:
In install.packages("hdf5r") :
  installation of package ‘hdf5r’ had non-zero exit status

My sessionInfo():

R version 3.5.0 (2018-04-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server release 6.4 (Santiago)

Matrix products: default
BLAS: /share/pkg/R/3.5.0/lib64/R/lib/libRblas.so
LAPACK: /share/pkg/R/3.5.0/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0
ekernf01 commented 6 years ago

Similar issues in a different project seem to suggest I could just rename the file. Example:

https://github.com/BVLC/caffe/issues/1463

For now, I'm punting, but I will report back if I try renaming.

mannau commented 6 years ago

For some reason autoconf seems to pick up version 1.10.2 instead of 1.8.20

checking for HDF5 libraries... yes (version 1.10.2)

Mabe some path is wrong?

mjsteinbaugh commented 5 years ago

I'm hitting this issue too. As far as I can tell, everything in my hdf5 configuration is correct. I'm running RedHat Linux 3.10.0-957.1.3.el7.x86_64. I compiled hdf5 from source using these settings:

../configure --prefix=/usr/local --enable-fortran --enable-cxx

Here's what I'm seeing when attempting to install hdf5r v1.0.1 in R:

checking for a sed that does not truncate output... /usr/bin/sed
checking for gawk... gawk
checking for grep that handles long lines and -e... /usr/bin/grep
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
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 how to run the C preprocessor... gcc -E
checking for egrep... /usr/bin/grep -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 for h5cc... /usr/local/bin/h5cc
checking for HDF5 libraries... yes (version 1.10.4)
checking hdf5.h usability... yes
checking hdf5.h presence... yes
checking for hdf5.h... yes
checking for H5Fcreate in -lhdf5... yes
checking for hdf5_hl.h... yes
checking for H5LTpath_valid in -lhdf5_hl... yes
checking for main in -lhdf5_hl... yes
checking for matching HDF5 Fortran wrapper... /usr/local/bin/h5fc
Found hdf5 with version: 1.10.4
checking for ggrep... /usr/bin/grep
checking whether /usr/bin/grep accepts -o... yes
checking for ggrep... (cached) /usr/bin/grep
checking whether /usr/bin/grep accepts -o... yes
configure: creating ./config.status
config.status: creating src/Makevars

[...]

Error: package or namespace load failed for ‘hdf5r’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/XXX/hdf5r/libs/hdf5r.so':
  libhdf5_hl.so.100: cannot open shared object file: No such file or directory

If I install hdf5 using yum, it works but I can only build hdf5r v1.0.0, since the hdf5 version is too old:

yum install hdf5-devel
# hdf5-1.8.12-10.el7.x86_64

hdf5r requires hdf5 >= 1.8.13, so this becomes difficult to install on RedHat unless we compile from source.

This package is a dependency for Seurat, which is a very popular tool for single-cell RNA-seq analysis. Has anybody else seen this on a different Linux distribution? @satijalab @andrewwbutler @mojaveazure

mjsteinbaugh commented 5 years ago

Regarding the hdf5r.so error above, here's how to fix that issue. If you've installed an updated version of hdf5 (for example into /usr/local), you need to ensure that LD_LIBRARY_PATH in R contains the corresponding lib path (e.g. /usr/local/lib). The recommended method is to set LD_LIBRARY_PATH in your ~/.Renviron file.

Here's how to check it in R:

Sys.getenv("LD_LIBRARY_PATH")

Note that LD_LIBRARY_PATH should not be set inside .bashrc, use the .Renviron method instead.

deto commented 4 years ago

@ekernf01 - I think your error might have had something to do with Anaconda/Miniconda

I'm commenting here in case anyone else stumbles on the same problem.

The issue is that anaconda exposes some files on the path related to libhdf5, but does not expose the corresponding .so files on LD_LIBRARY_PATH. This messes up the configuration script because it will look for the wrong versions of things.

The fix is easy if you have an updated conda executable. Just run conda deactivate to get out of any conda environment before running R. Then launch R and install the package. In general, I always try to do this before doing any installation that requires compilation (but had forgotten to today on a new system).

mjsteinbaugh commented 4 years ago

Alternatively, you can customize your .Renviron file so that conda isn't in the PATH at all, and you don't have to worry about environment deactivation. Here's what I'm currently doing in my Renviron.site file for my machines:

PATH="/usr/local/bin:/usr/bin:/bin"

If you're on Linux and have admin access, make sure all of your lib/ directories are configured correctly for ld (ldconfig), which requires files in /etc/ld.so.conf.d/. Then you don't have to worry about LD_LIBRARY_PATH.

rabbitpang commented 3 years ago

If there is anyone like me is using remote server. If this error happens, I recommend you to create a new conda environment and install packages again. It would be really helpful. credit to this answer!! https://www.biostars.org/p/498049/

dipterix commented 2 years ago

Hi @hhoeflin , is it possible to call dyn.load("...../libhdf5_hl.so.100") in .onLoad function manually? Usually on Linux servers (like Redhat), HDF5 are installed as Linux module. The dynamic libraries might not be necessarily loaded (similar to this case, even compiler flag is set correctly, the HDF5 library might not be added to ld.so cache). One solution could be to explicitly call dyn.load() when the package is loaded.

My current solution on our server is:

  1. Add hdf5 lib to LD_LIBRARY_PATH in the .Renviron
  2. Call dyn.load to load libhdf5....so.100
  3. Call library(hdf5r)
ayavuzcakir commented 1 year ago

@ekernf01 - I think your error might have had something to do with Anaconda/Miniconda

I'm commenting here in case anyone else stumbles on the same problem.

The issue is that anaconda exposes some files on the path related to libhdf5, but does not expose the corresponding .so files on LD_LIBRARY_PATH. This messes up the configuration script because it will look for the wrong versions of things.

The fix is easy if you have an updated conda executable. Just run conda deactivate to get out of any conda environment before running R. Then launch R and install the package. In general, I always try to do this before doing any installation that requires compilation (but had forgotten to today on a new system).

Thanks a lot, that solution worked for me!

vojtam commented 1 year ago

@ekernf01 - I think your error might have had something to do with Anaconda/Miniconda

I'm commenting here in case anyone else stumbles on the same problem.

The issue is that anaconda exposes some files on the path related to libhdf5, but does not expose the corresponding .so files on LD_LIBRARY_PATH. This messes up the configuration script because it will look for the wrong versions of things.

The fix is easy if you have an updated conda executable. Just run conda deactivate to get out of any conda environment before running R. Then launch R and install the package. In general, I always try to do this before doing any installation that requires compilation (but had forgotten to today on a new system).

Thank you for this tip, it finally worked! :heart: