DiamondLightSource / durin

BSD 3-Clause "New" or "Revised" License
2 stars 5 forks source link

durin build #14

Closed TomRei87 closed 4 years ago

TomRei87 commented 4 years ago

Hi,

I followed all instructions for building h5df and durin, but during the durin build I am facing following issue:

`tom@tomre:/usr/local/lib64/durin$ make mkdir -p ./build ... src/file.c: In function ‘get_dectris_eiger_dataset_dims’: src/file.c:342:44: error: format not a string literal and no format arguments [-Werror=format-security] sprintf("Unable to open dataset %.16s", ds_name);

src/file.c: In function ‘read_pixel_info’: src/file.c:413:3: error: format not a string literal and no format arguments [-Werror=format-security] sprintf("Error opening dataset %.32s", path);

src/file.c:420:3: error: format not a string literal and no format arguments [-Werror=format-security] sprintf("Error reading dataset %.32s", path);

src/file.c:433:4: error: format not a string literal and no format arguments [-Werror=format-security] sprintf("Error openeing units attribute for %.32s after existence check", path);

cc1: some warnings being treated as errors Makefile:30: recipe for target 'build/file.o' failed make: *** [build/file.o] Error 1`

Perhaps someone has any suggestions? Thanks!

/Tom

graeme-winter commented 4 years ago

@TomRei87 would be useful to know the build environment for this - looking into your error now. What platform are you running?

TomRei87 commented 4 years ago

running on ubuntu 18.04

graeme-winter commented 4 years ago

@tschoonj has kindly added some fixes - @TomRei87 please could you try again.

Highlights we need more robust tests...

TomRei87 commented 4 years ago

Thanks, I added the fixes.

new outout:

tom@tomre:/usr/local/lib64/durin$ sudo make mkdir -p ./build h5cc -Wall -g -O2 -fpic -I./src -I./bslz4/src -std=c89 -shared build/plugin.o build/file.o build/err.o build/filters.o build/bslz4.a -o ./build/durin-plugin.so /usr/bin/ld: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a(H5MFaggr.o): relocation R_X86_64_PC32 against symbol 'H5E_RESOURCE_g' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status Makefile:44: recipe for target 'build/durin-plugin.so' failed make: *** [build/durin-plugin.so] Error 1

tschoonj commented 4 years ago

Just did a build with an Ubuntu 18.04 Singularity image and it turns out that the HDF5 binaries that ship with that distro are too old (1.10.0) to build Durin due to the use of H5Dget_chunk_storage_size and H5DOread_chunk functions, which were added in HDF5 1.10.2.

If you really need to use Ubuntu 18.04, you will need to install a recent HDF5 yourself from source, otherwise you may need to switch to a distribution that ships appropriate HDF5 binaries, like Ubuntu Eoan (not LTS though...).

TomRei87 commented 4 years ago

After updating to Eoan everything seems to work. Thanks a lot for your help!

graeme-winter commented 4 years ago

@TomRei87 thanks for getting in touch - @tschoonj thank you for the fixes 🙂since everything now working will close.