ProteoWizard / pwiz

The ProteoWizard Library is a set of software libraries and tools for rapid development of mass spectrometry and proteomic data analysis software.
http://proteowizard.sourceforge.net/
Apache License 2.0
232 stars 100 forks source link

ProteoWizard build issues under Linux Red Hat 8 #3145

Open keesh0 opened 1 month ago

keesh0 commented 1 month ago

Hello, I have a local build with an enhancement working fine under Windows 11 using Visual Studio 2022. Now I wish to target Linux Red Hat 8 for production. When trying to build Quameter the following error appears. Any ideas would be appreciated.

scl enable gcc-toolset-9 "./quickbuild.sh -q --without-binary-msdata runtime-link=static pwiz_tools/Bumbershoot/quameter"

using gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20)

gcc.compile.c++ /odin/dev/scripts/deployments/quameter_asymm/PROTEOMICS_PWIZ/build-linux-x86_64/pwiz/data/msdata/without-binary-msdata/gcc-8/release/link-static/threading-multi/IO.o In file included from /odin/dev/scripts/deployments/quameter_asymm/PROTEOMICS_PWIZ/libraries/hdf5-1.12.0/src/hdf5.h:22, from /odin/dev/scripts/deployments/quameter_asymm/PROTEOMICS_PWIZ/pwiz/data/msdata/mzmlb/Connection_mzMLb.hpp:32, from /odin/dev/scripts/deployments/quameter_asymm/PROTEOMICS_PWIZ/pwiz/data/msdata/IO.cpp:33: /odin/dev/scripts/deployments/quameter_asymm/PROTEOMICS_PWIZ/libraries/hdf5-1.12.0/src/H5public.h:173:19: error: conflicting declaration 'typedef long long int ssize_t' typedef long long ssize_t;


I needed to update the JAM file to find hdf5: project pwiz : requirements

$(PWIZ_ROOT_PATH) $(PWIZ_LIBRARIES_PATH)/boost_aux $(boost_src) $(zlib_src) $(PWIZ_LIBRARIES_PATH)/hdf5-1.12.0/src
chambm commented 1 month ago

HDF 1.12 was added for reading Mobilion data, support for which is currently disabled. MZ5/mzMLb should be using hdf5-1.8, and 1.12 will be removed with a future Mobilion update that removes the need for compiling with the HDF5 headers. You shouldn't need to edit the Jamfiles to have it compile with HDF5 1.8 in the libraries directory.