Code Monkey home page Code Monkey logo

contrib's Introduction

OpenMS

License (3-Clause BSD) Project Stats Discord Shield Gitter Install with bioconda Install with conda Documentation API docs Gitpod Ready-to-Code

OpenMS is an open-source software C++ library for LC-MS data management and analyses. It offers an infrastructure for rapid development of mass spectrometry related software. OpenMS is free software available under the three clause BSD license and runs under Windows, macOS, and Linux.

It comes with a vast variety of pre-built and ready-to-use tools for proteomics and metabolomics data analysis (TOPPTools) as well as powerful 1D, 2D and 3D visualization (TOPPView).

OpenMS offers analyses for various quantitation protocols, including label-free quantitation, SILAC, iTRAQ, TMT, SRM, SWATH, etc.

It provides built-in algorithms for de-novo identification and database search, as well as adapters to other state-of-the art tools like X!Tandem, Mascot, Comet, etc. It supports easy integration of OpenMS built tools into workflow engines like KNIME, Galaxy, WS-Pgrade, and TOPPAS via the TOPPtools concept and a unified parameter handling via a 'common tool description' (CTD) scheme.

With pyOpenMS, OpenMS offers Python bindings to a large part of the OpenMS API to enable rapid algorithm development. OpenMS supports the Proteomics Standard Initiative (PSI) formats for MS data. The main contributors of OpenMS are currently the Eberhard-Karls-Universität in Tübingen, the Freie Universität Berlin, and the ETH Zürich.

Features

  • Core C++ library under three-clause BSD licence using modern C++17
  • Python bindings to the C++ API through pyOpenMS
  • Major community file formats supported (mzML, mzXML, mzIdentXML, pepXML, mzTab, etc.)
  • Over 150+ individual analysis tools (TOPP Tools), covering most MS and LC-MS data processing and mining tasks
  • Powerful 1D, 2D and 3D visualization tools (TOPPView)
  • Support for most MS identification and quantification workflows (targeted, DIA, label-free, isobaric and stable isotope)
  • Support for all major platforms (Windows [XP, 7, 8, 10], macOS and Linux)

Documentation

Users and developers should start by reading the OpenMS documentation. OpenMS API reference documentation and advanced developer doxygen documentation can be browsed here.

openms.readthedocs.io documentation aims at being an entry point for users and developers alike. It is trying to be mostly version-independent and therefore only consists of one main branch. We may introduce tags for older releases in the future.

The OpenMS API reference has several endpoints:

  1. nightly: OpenMS API reference and advanced developer documentation of nightly releases.
  2. release/latest : OpenMS API reference and advanced developer documentation of latest stable release.
  3. release/${version} : OpenMS API reference and advanced developer documentation of an older version.

Documentation for the Python bindings pyOpenMS can be found on the pyOpenMS online documentation.

Citation

Please cite:

Pfeuffer, J., Bielow, C., Wein, S. et al. OpenMS 3 enables reproducible analysis of large-scale mass spectrometry data, Nat Methods 21, 365–367 (2024). https://doi.org/10.1038/s41592-024-02197-7

The file AUTHORS contains a list of all authors who worked on OpenMS.

Licence

OpenMS is released under the three clause BSD licence.

contrib's People

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contrib's Issues

Staged build for contrib possible ?

Hi,

First of all I would like to thank you that you took the time to nicely package all dependencies of openms. I am managing an entire software stack on a hpc cluster and therefore I know that this is not self-evident.

I am managing our software stack with the package manger SPACK from LLNL (http://spack.readthedocs.io/en/latest/index.html) that supports already more than 1000 packages. It requires staged builds of all software. I created a openms-contrib spack package, which builds fine, but at the end it fails, because it can not install the files from the stage directory into the final location.

Is it somehow possible to have a staged build that uses make install to install the built files into their final location (specified through -DCMAKE_INSTALL_PREFIX) ?

Best regards

Sam

Building OpenMS development branch with clang 4.0.0, contrib boost seems to not cut it

In file included from /opt/openms-src/src/openms/source/MATH/STATISTICS/CumulativeBinomial.cpp:36:
In file included from /opt/openms-contrib/include/boost/math/special_functions/binomial.hpp:14:
In file included from /opt/openms-contrib/include/boost/math/special_functions/factorials.hpp:14:
In file included from /opt/openms-contrib/include/boost/math/special_functions/gamma.hpp:30:
In file included from /opt/openms-contrib/include/boost/math/special_functions/lanczos.hpp:1288:
/opt/openms-contrib/include/boost/math/special_functions/detail/lanczos_sse2.hpp:13:10: fatal error: 'emmintrin.h' file not found
#include <emmintrin.h>
         ^~~~~~~~~~~~~
1 error generated.
make[2]: *** [src/openms/CMakeFiles/OpenMS.dir/build.make:774: src/openms/CMakeFiles/OpenMS.dir/source/MATH/STATISTICS/CumulativeBinomial.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /opt/openms-src/src/openms/source/MATH/STATISTICS/GammaDistributionFitter.cpp:39:
In file included from /opt/openms-contrib/include/boost/math/special_functions/gamma.hpp:30:
In file included from /opt/openms-contrib/include/boost/math/special_functions/lanczos.hpp:1288:
/opt/openms-contrib/include/boost/math/special_functions/detail/lanczos_sse2.hpp:13:10: fatal error: 'emmintrin.h' file not found
#include <emmintrin.h>
         ^~~~~~~~~~~~~
1 error generated.
make[2]: *** [src/openms/CMakeFiles/OpenMS.dir/build.make:798: src/openms/CMakeFiles/OpenMS.dir/source/MATH/STATISTICS/GammaDistributionFitter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1107: src/openms/CMakeFiles/OpenMS.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

error compiling COINOR on Mac Os 10.9 (from clean VM)

 In file included from CoinIndexedVector.cpp:14:

  ./CoinTypes.hpp:10:11: fatal error: 'cinttypes' file not found

  # include <cinttypes>

            ^

  1 error generated.

  make[2]: *** [CoinIndexedVector.lo] Error 1

  make[2]: *** Waiting for unfinished jobs....

  CoinLpIO.cpp:1272:17: warning: format string is not a string literal
  (potentially insecure) [-Wformat-security]

    sprintf(buff, start_str)
                  ^~~~~~~~~

  CoinLpIO.cpp:1371:22: warning: format string is not a string literal
  (potentially insecure) [-Wformat-security]

    sprintf(start_str, buff)
                       ^~~~

  2 warnings generated.

  make[1]: *** [all-recursive] Error 1

  make: *** [all-recursive] Error 1
Call Stack (most recent call first):
  CMakeLists.txt:491 (OPENMS_CONTRIB_BUILD_COINOR)


-- Configuring incomplete, errors occurred!

eigen does not build with VS2010 generator

the eigen in the contrib delivered with the 2.0.1 release build does not work with VS 2010 generator:

cmake -DBUILD_TYPE=EIGEN -G "Visual Studio 10 2010" ..\OpenMS-2.0.1\contrib
-- Downloading EIGEN ..
-- Downloading EIGEN .. done
-- Validating archive for EIGEN ..
-- Validating archive for EIGEN .. done
-- Extracting EIGEN ..
-- Extracting EIGEN .. done (1st pass)
-- Extracting EIGEN ..
-- Extracting EIGEN .. done (2nd pass)
-- Try patching C:/openms/win32_msvs_test3/src/eigen-eigen-ffa86ffb5570/cmake/Ei
genDetermineVSServicePack.cmake with binary option ...
-- Patching C:/openms/win32_msvs_test3/src/eigen-eigen-ffa86ffb5570/cmake/EigenD
etermineVSServicePack.cmake ... done
-- Generating eigen build system ..
-- Generating eigen build system .. done
-- Installing eigen headers ..
CMake Error at libraries.cmake/eigen.cmake:70 (message):
  Installing eigen headers ..  failed
Call Stack (most recent call first):
  CMakeLists.txt:503 (OPENMS_CONTRIB_BUILD_EIGEN)


-- Configuring incomplete, errors occurred!
See also "C:/openms/win32_msvs_test3/CMakeFiles/CMakeOutput.log".

it does work with other generators

cmake -DBUILD_TYPE=EIGEN -G "Visual Studio 9 2008"  ..\OpenMS-2.0.1\contrib
[...]
-- Try patching C:/openms/win32_msvs_test2/src/eigen-eigen-ffa86ffb5570/cmake/Ei
genDetermineVSServicePack.cmake with binary option ...
-- Patching C:/openms/win32_msvs_test2/src/eigen-eigen-ffa86ffb5570/cmake/EigenD
etermineVSServicePack.cmake ... done
-- Generating eigen build system ..
-- Generating eigen build system .. done
-- Installing eigen headers ..
-- Installing eigen headers .. done
-- Copying EIGEN libraries ..
-- Copying EIGEN libraries .. done
--
--
--   EIGEN has been built! Some parts of the contrib might still need (re)buildi
ng.
--   Configure and build OpenMS at your discretion!
--
--
--
-- Configuring done
-- Generating done
-- Build files have been written to: C:/openms/win32_msvs_test2

Discrepancy (CMakeLists.txt and source packages)

CMakeLists.txt:
set(ARCHIVE_XERCES Xerces-C_3_2_0.tar.gz)
set(ARCHIVE_XERCES_TAR Xerces-C_3_2_0.tar)

source packages
https://abibuilder.informatik.uni-tuebingen.de/archive/openms/contrib
xerces-c-3.1.1.tar.gz

Seems to lead to failure:

/home/alka/software/cmake-3.14.3/bin/cmake -DBUILD_TYPE=XERCESC -DNUMBER_OF_JOBS=4 ../contrib
-- ADDRESSMODEL is: 64-bit
-- BUILD_TYPE: XERCESC (one of: ALL;SEQAN;LIBSVM;XERCESC;BOOST;COINOR;BZIP2;ZLIB;GLPK;EIGEN;WILDMAGIC;SQLITE;KISSFFT;HDF5)
-- FORCE_REBUILD: OFF
-- NUMBER_OF_JOBS: 4 (maximal number of concurrent compile jobs)
-- Downloading XERCES .. Try #1
-- Downloading XERCES .. done
-- Validating archive for XERCES .. 
-- Validating archive for XERCES .. Found empty archive.
-- Downloading XERCES .. Try #2
-- Downloading XERCES .. done
-- Validating archive for XERCES .. 
-- Validating archive for XERCES .. Found empty archive.
-- Downloading XERCES .. Try #3
-- Downloading XERCES .. done
-- Validating archive for XERCES .. 
-- Validating archive for XERCES .. Found empty archive.
CMake Error at macros.cmake:132 (message):
  Download and validation failed after 3 tries.  Check your internet
  connection and try to rebuild XERCES to trigger a new download of the
  archive.
Call Stack (most recent call first):
  macros.cmake:151 (download_contrib_archive)
  libraries.cmake/xercesc.cmake:14 (OPENMS_SMARTEXTRACT)
  CMakeLists.txt:522 (OPENMS_CONTRIB_BUILD_XERCESC)

Are the sources somewhere else?

Eigen fails to build on VS 2012 sp4 (cl version 17.00.61030)

See OpenMS/OpenMS#651

Eigen 3.2 doesn't build on VS 2012 sp4 (cl version 17.00.61030). There is a fix up to sp3 in the current eigen development branch (see https://bitbucket.org/eigen/eigen/src/4206f0c33abe98e6d28d0fd660623d0279273cee/cmake/EigenDetermineVSServicePack.cmake?at=default)
I think we shouldn't proceed until this is resolved.

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineVSServicePack.cmake:128 (list):
  list index: 3 out of range (-3, 2)
Call Stack (most recent call first):
  cmake/EigenDetermineVSServicePack.cmake:9 (_DetermineVSServicePack_CheckVersionWithTryCompile)
  cmake/EigenTesting.cmake:316 (EigenDetermineVSServicePack)
  cmake/EigenTesting.cmake:428 (ei_get_compilerver)
  cmake/EigenConfigureTesting.cmake:8 (ei_set_build_string)
  CMakeLists.txt:349 (include)

Boost fails to build under macOS 10.15.6

Under macOS 10.15.6 Boost fails to build

cmake -DBUILD_TYPE=ALL -DNUMBER_OF_JOBS=4 -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang /Users/lars/Code/OpenMS-Release-2-5-0/OpenMS/contrib

with

clang: error: unknown argument: '-fcoalesce-templates'

See also here.

Libraries missing on Win7 / MSVS 2008

When compiling with cmake -DBUILD_TYPE=ALL -G "NMake Makefiles ..\openms_contrib on a Win7 machine (32 bit, MSVS 2008) I seem to be missing some libraries.

  1. I only get one Wildmagic library (Wm5Cored.lib) which is not what OpenMS later expects, see OpenMS/OpenMS#2040
  2. I seem to be missing libboost_regex-vc90-mt-1_52.lib which can be corrected by copying libboost_regex-mt.lib to that location. It seems some boost libs produce the "vc90-mt-1_52" libs by default (math) while others do not produce it and do not seem to need it for OpenMS (bzip2, date, iostreams, zlib). Unfortuntately regex does not produce it but seem to need it

Add ICU as requirement or additional contrib

A colleague of mine had problems while linking an OpenMS tool. References to symbols from the ICU library were missing. It seems like we are using these transcoding capabilities and actually also need icu as a requirement (at least on linux). We have to at least note it somewhere or maybe even add it to the contrib since also Xerces depends on it.

Eigen Fails to Install

Hi,

I am running into an error when building contrib dependencies, specifically for Eigen.

CMake Command

[singjust@gra-login1 test-build]$ cmake -DBUILD_TYPE=EIGEN ../contrib

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /cvmfs/soft.computecanada.ca/custom/bin/cc
-- Check for working C compiler: /cvmfs/soft.computecanada.ca/custom/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/gcc-5.4.0/bin/c++
-- Check for working CXX compiler: /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/gcc-5.4.0/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ADDRESSMODEL is: 64-bit
-- BUILD_TYPE: EIGEN (one of: ALL;SEQAN;LIBSVM;XERCESC;BOOST;COINOR;BZIP2;ZLIB;GLPK;EIGEN;WILDMAGIC;SQLITE;KISSFFT;HDF5)
-- FORCE_REBUILD: OFF
-- NUMBER_OF_JOBS: 2 (maximal number of concurrent compile jobs)
-- Downloading EIGEN .. Try #1
-- Downloading EIGEN .. done
-- Validating archive for EIGEN .. 
-- Validating archive for EIGEN .. successful
-- Extracting EIGEN .. 
-- Extracting EIGEN .. done
-- Try patching /home/singjust/projects/def-hroest/bin/openms/build/test/test-build/src/eigen-eigen-5a0156e40feb/CMakeLists.txt with binary option ... 
-- Patching /home/singjust/projects/def-hroest/bin/openms/build/test/test-build/src/eigen-eigen-5a0156e40feb/CMakeLists.txt ... done
-- Try patching /home/singjust/projects/def-hroest/bin/openms/build/test/test-build/src/eigen-eigen-5a0156e40feb/blas/CMakeLists.txt with binary option ... 
-- Patching /home/singjust/projects/def-hroest/bin/openms/build/test/test-build/src/eigen-eigen-5a0156e40feb/blas/CMakeLists.txt ... done
-- Try patching /home/singjust/projects/def-hroest/bin/openms/build/test/test-build/src/eigen-eigen-5a0156e40feb/unsupported/CMakeLists.txt with binary option ... 
-- Patching /home/singjust/projects/def-hroest/bin/openms/build/test/test-build/src/eigen-eigen-5a0156e40feb/unsupported/CMakeLists.txt ... done
-- Generating eigen build system .. 
-- Generating eigen build system .. done
-- Installing eigen headers .. 
CMake Error at libraries.cmake/eigen.cmake:77 (message):
  Installing eigen headers ..  failed
Call Stack (most recent call first):
  CMakeLists.txt:587 (OPENMS_CONTRIB_BUILD_EIGEN)


-- Configuring incomplete, errors occurred!
See also "/home/singjust/projects/def-hroest/bin/openms/build/test/test-build/CMakeFiles/CMakeOutput.log".

contrib_build.log

-- Starting to build contrib --
CXX: /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/gcc-7.3.0/bin/c++
CC: /cvmfs/soft.computecanada.ca/custom/bin/cc

 ------------------------------------------------------------------------
                              eigen
 ------------------------------------------------------------------------

-- Standard libraries to link to explicitly: none
-- Could NOT find CHOLMOD (missing:  CHOLMOD_INCLUDES CHOLMOD_LIBRARIES)
-- Could NOT find UMFPACK (missing:  UMFPACK_INCLUDES UMFPACK_LIBRARIES)
-- Could NOT find SUPERLU (missing:  SUPERLU_INCLUDES SUPERLU_LIBRARIES SUPERLU_VERSION_OK)
-- A version of Pastix has been found but pastix_nompi.h does not exist in the include directory. Because Eigen tests require a version without MPI, we disable the Pastix backend.
--
-- Configured Eigen 3.3.4
--
-- Some things you can do now:
-- --------------+--------------------------------------------------------------
-- Command       |   Description
-- --------------+--------------------------------------------------------------
-- make install  | Install Eigen. Headers will be installed to:
--               |     <CMAKE_INSTALL_PREFIX>/<INCLUDE_INSTALL_DIR>
--               |   Using the following values:
--               |     CMAKE_INSTALL_PREFIX: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24
--               |     INCLUDE_INSTALL_DIR:  include/eigen3
--               |   Change the install location of Eigen headers using:
--               |     cmake . -DCMAKE_INSTALL_PREFIX=yourprefix
--               |   Or:
--               |     cmake . -DINCLUDE_INSTALL_DIR=yourdir
-- make doc      | Generate the API documentation, requires Doxygen & LaTeX
-- make check    | Build and run the unit-tests. Read this page:
--               |   http://eigen.tuxfamily.org/index.php?title=Tests
-- make blas     | Build BLAS library (not the same thing as Eigen)
-- make uninstall| Removes files installed by make install
-- --------------+--------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /project/6011811/bin/contrib-OpenMS_v24/src/eigen-eigen-5a0156e40feb/build
abort: repository /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/src/eigen-eigen-5a0156e40feb not found!
abort: repository /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/src/eigen-eigen-5a0156e40feb not found!
CMake Warning (dev) in bench/spbench/CMakeLists.txt:
  A logical block opening on the line

    /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/src/eigen-eigen-5a0156e40feb/bench/spbench/CMakeLists.txt:51 (if)

  closes on the line

    /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/src/eigen-eigen-5a0156e40feb/bench/spbench/CMakeLists.txt:63 (endif)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

Install the project...
-- Install configuration: "Release"
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/signature_of_eigen3_matrix_library
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/share/pkgconfig/eigen3.pc
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/share/eigen3/cmake/Eigen3Targets.cmake
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/share/eigen3/cmake/UseEigen3.cmake
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/share/eigen3/cmake/Eigen3Config.cmake
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/share/eigen3/cmake/Eigen3ConfigVersion.cmake
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Cholesky
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/CholmodSupport
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Core
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Dense
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Eigen
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Eigenvalues
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Geometry
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Householder
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/IterativeLinearSolvers
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Jacobi
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/LU
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/MetisSupport
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/OrderingMethods
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/PaStiXSupport
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/PardisoSupport
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/QR
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/QtAlignedMalloc
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/SPQRSupport
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/SVD
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/Sparse
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/SparseCholesky
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/SparseCore
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/SparseLU
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/SparseQR
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/StdDeque
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/StdList
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/StdVector
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/SuperLUSupport
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/UmfPackSupport
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/src
-- Up-to-date: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/src/Householder
-- Installing: /home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/src/Householder/BlockHouseholder.h
CMake Error at Eigen/cmake_install.cmake:70 (file):
  file INSTALL cannot copy file
  "/home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/src/eigen-eigen-5a0156e40feb/Eigen/src/Householder/BlockHouseholder.h"
  to
  "/home/singjust/projects/def-hroest/bin/contrib-OpenMS_v24/include/eigen3/Eigen/src/Householder/BlockHouseholder.h".
Call Stack (most recent call first):
  cmake_install.cmake:69 (include)


gmake: *** [install] Error 1

@hroest and I briefly looked into it, we don't think disk space is the issue because there is more than enough disk space. Is there a possible conflict with the file ../include/eigen3/Eigen/Householder and the folder ../include/eigen3/Eigen/src/Householder?

If there is any other information you would like, please let me know.

Best,

Justin

patch.exe does not end with status 0

On our win8 build machine, when running the contrib cmake from one of the VS Command lines (As admin), whenever patches are applied with patch.exe, a window opens that patch.exe did not end well.
If you accept the window and turn back to cmd, the build failed of course. However, when you rerun, the patch seemed to be applied nonetheless and cmake skips the patching next time, therefore completing.
Maybe we find a workaround for this if it affects other machines too, but for now it is fine, since it seems to work when invoked from e.g. Jenkins and when I do it manually, I can just hit cmake twice.

Update Boost to allow VS2017 U3 and VS2019

We need to upgrade or patch to allow newer version. I would like to include at least a version for 2017.3. But I can also upgrade to the newest stable if nothing speaks against it.

Include the hdf5-config.cmake if generated

Currently, we get weird CMake errors that actually do not seem to affect the compilation of OpenMS.

-- Unable to determine HDF5 C flags from HDF5 wrapper.
-- Unable to determine HDF5 C version from HDF5 wrapper.
-- Unable to determine HDF5 CXX flags from HDF5 wrapper.
-- Unable to determine HDF5 CXX version from HDF5 wrapper.

or

-- HDF5 C compiler wrapper is unable to compile a minimal HDF5 program.
/Users/runner/work/OpenMS/OpenMS/contribbld/h5c++
dir is /Users/runner/work/OpenMS/OpenMS/contribbld
Package hdf5 was not found in the pkg-config search path.
Perhaps you should add the directory containing `hdf5.pc'
to the PKG_CONFIG_PATH environment variable
Package 'hdf5', required by 'hdf5_cpp-1.10.5', not found
/Users/runner/work/OpenMS/OpenMS/bld/src/openms/CMakeFiles/hdf5/cmake_hdf5_test.cxx:1:10: fatal error: 'H5Cpp.h' file not found
#include <H5Cpp.h>
         ^~~~~~~~~
1 error generated.
-- HDF5 CXX compiler wrapper is unable to compile a minimal HDF5 program.
-- Found HDF5: /Users/runner/work/OpenMS/OpenMS/contribbld/lib/libhdf5_cpp.a;/Users/runner/work/OpenMS/OpenMS/contribbld/lib/libhdf5.a (found version "1.10.5") found components: C CXX HL 

This is because the FindHDF5.cmake module is used, which tries to infer compile options from the hdf5 compiler wrappers (hdf5c++, etc.).
Those wrappers are not correctly built in our contrib, e.g. on macOS it has stuff like a hardcoded compiler path in it:

#! /bin/sh
##
# Copyright by The HDF Group....

prg=$0
if [ ! -e "$prg" ]; then
  case $prg in
    (*/*) exit 1;;
    (*) prg=$(command -v -- "$prg") || exit;;
  esac
fi
dir=$(
  cd -P -- "$(dirname -- "$prg")/.." && pwd -P
) || exit
prg=$dir/$(basename -- "$prg") || exit

printf '%s\n' "$prg"
printf 'dir is %s\n' "$dir"

export PKG_CONFIG_PATH=$dir/lib/pkgconfig

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ `pkg-config --define-variable=prefix=$dir --cflag --libs hdf5_cpp-1.10.5` $@

and probably the try_compile commands of the Find module do not specify the sysroot always correctly.

Therefore I think it is better to rely on an hdf5-config.cmake if present and therefore use find_package(HDF5 ... NO_MODULE) in OpenMS.

[WIN] Boost always uses VC11 toolset

Although I specify --toolset=msvc-12.0, the bootstrap binary uses VC11. It builds but I suspect errors later on when linking to OpenMS.
Is it because it does not know about 12.0 in Boost 1.52.0?
I think we have two choices:

  • Make our own toolset in the user-config.jam
  • Upgrade source package (I think I read that it is definitely supported now)

What do you think? What's quicker/better?

CoinOR upgrade

I want to upgrade CoinOR (to 1.8.3) because of a bug compiling on newer OSX systems.
On Linux and OSX now everything works fine but i have a question regarding Windows:

I created new solutions based on the existent ones in the newest CoinMP release (usually v9, sometimes v10 available) like described in the CMake files.
However, it seems that CoinMP is the parent project of all of them and unfortunately it always tries to only override the v9 solutions of the subfolder. They seem to be hard-linked there.
If I refuse to upgrade the subproject solutions for v9, it still works but the subprojects are built via the v9 solution only.

Question: Is this bad or should this be no problem to build the subprojects for v9 and aggregate them in CoinMP with the e.g. v11 solution?
If it IS a problem: Can you suggest me how to upgrade such a hierarchical project on Windows such that all individual projects are upgraded?

I am hoping that e.g. @cbielow knows something about this.

Introduce tags and use in CI

@jpfeuffer
Currently, we don't track the corresponding OpenMS version. We should use tags and use them to check out the appropriate version in e.g. CI. Otherwise changes to the contrib will break either the master or develop build in OpenMS/OpenMS. Also if one wants to build an older version he must look up the correct contrib version based on e.g. the date.

build fails on Windows for 2.5 Release

After #94 the build fails on Windows for several libraries, for example:

>cmake -DBUILD_TYPE=HDF5 -G "Visual Studio 14 2015 Win64" ..\..\source\contrib
...
-- Build shared libs .. in Off
-- Generating HDF5 build system ..
-- C:/Program Files/CMake/bin/cmake.exe -G "Visual Studio 14 2015 Win64"
                        -A;x64
                        -D BUILD_SHARED_LIBS=Off
                        -D CMAKE_INSTALL_PREFIX=D:/openms/build/test
                        -D BUILD_TESTING=Off
                        -D HDF5_BUILD_EXAMPLES=Off
                        -D HDF5_BUILD_TOOLS=Off

                        D:/openms/build/test/src/hdf5-1.10.5

CMake Error at libraries.cmake/hdf5.cmake:69 (message):
  Generating HDF5 build system ..  failed
Call Stack (most recent call first):
  CMakeLists.txt:646 (OPENMS_CONTRIB_BUILD_HDF5)


-- Configuring incomplete, errors occurred!
See also "D:/openms/build/test/CMakeFiles/CMakeOutput.log".

I added a debug command that prints out the problematic CMake call and what is clear that it fails because of the ARCHITECTURE_OPTION_CMAKE which here is set to -A;x64 which does not work.

Eigen patch fails

When building Eigen for the second time, applying the patches fails as follows:

$ cmake -DBUILD_TYPE=EIGEN  contrib_exp
[...all works well]
$ cmake -DBUILD_TYPE=EIGEN  contrib_exp
-- ADDRESSMODEL IS: 64 bit
-- BUILD_TYPE: EIGEN (one of: ALL;SEQAN;LIBSVM;XERCESC;BOOST;COINOR;BZIP2;ZLIB;GLPK;EIGEN;WILDMAGIC;SQLITE;KISSFFT)
-- FORCE_REBUILD: OFF
-- NUMBER_OF_JOBS: 2 (maximal number of concurrent compile jobs)
-- Downloading EIGEN .. 
-- Downloading EIGEN .. skipped (already downloaded)
-- Validating archive for EIGEN .. 
-- Validating archive for EIGEN .. done
-- Extracting EIGEN .. 
-- Extracting EIGEN .. skipped (already exists)
-- Try patching /tmp/tt/src/eigen-eigen-5a0156e40feb/CMakeList.txt with binary option ... 
-- Try patching /tmp/tt/src/eigen-eigen-5a0156e40feb/CMakeList.txt without binary option ... 
-- Patching /tmp/tt/src/eigen-eigen-5a0156e40feb/CMakeList.txt ... failed (with and without --binary option)
-- Check if the patch was created with 'diff -u' and if the paths are correct!
-- Call was: /tmp/tt/src/eigen-eigen-5a0156e40feb: /usr/bin/patch  -p0 -b -N -i "/home/hr/openmsall/source/contrib_exp/patches//eigen/CMakeList.txt.patch"
CMake Error at macros.cmake:248 (message):
  patching file CMakeLists.txt

  Reversed (or previously applied) patch detected! Skipping patch.

  2 out of 2 hunks ignored -- saving rejects to file CMakeLists.txt.rej
Call Stack (most recent call first):
  libraries.cmake/eigen.cmake:20 (OPENMS_PATCH)
  CMakeLists.txt:543 (OPENMS_CONTRIB_BUILD_EIGEN)


-- Configuring incomplete, errors occurred!
See also "/tmp/tt/CMakeFiles/CMakeOutput.log".

this is quite annoying and does not happen for any of the other contrib packages. We probably should not try to apply the patches twice

Boost build error, msvc version inconsistent

On behalf of @hkuich; originally reported here OpenMS/OpenMS#886

When trying to build the most recent version of contrib on windows 7, 64 bit, an error occurs reproducibly:

C:\Users\hkuich\Programming\contrib_build>cmake -G "Visual Studio 12 Win64" ..\c
ontrib_code -DBUILD_TYPE=BOOST
-- ADDRESSMODEL IS: 64 bit
-- MSVC Version is: 12
-- BUILD_TYPE: BOOST (one of: ALL;SEQAN;LIBSVM;XERCESC;BOOST;GSL;COINOR;BZIP2;ZL
IB;GLPK;EIGEN;WILDMAGIC)
-- FORCE_REBUILD: OFF
-- NUMBER_OF_JOBS: 2 (maximal number of concurrent compile jobs)
-- Downloading BOOST ..
-- Downloading BOOST .. skipped (already downloaded)
-- Validating archive for BOOST ..
-- Validating archive for BOOST .. done
-- Extracting BOOST ..
-- Extracting BOOST .. skipped (already exists)
-- Bootstrapping Boost libraries (bootstrap.bat) ...
-- Bootstrapping Boost libraries (bootstrap.bat) ... done
-- Building Boost library (bjam address-model=64;install;-j2;--prefix=C:/Users/h
kuich/Programming/contrib_build;--layout=tagged;--with-math;--with-date_time;--w
ith-iostreams;--with-regex;--build-type=complete;-sZLIB_SOURCE=C:/Users/hkuich/P
rogramming/contrib_build/src/zlib-1.2.5;-sBZIP2_SOURCE=C:/Users/hkuich/Programmi
ng/contrib_build/src/bzip2-1.0.5;runtime-link=shared;link=static;toolset=msvc-12
) ..
-- Building Boost library (bjam address-model=64;install;-j2;--prefix=C:/Users/h
kuich/Programming/contrib_build;--layout=tagged;--with-math;--with-date_time;--w
ith-iostreams;--with-regex;--build-type=complete;-sZLIB_SOURCE=C:/Users/hkuich/P
rogramming/contrib_build/src/zlib-1.2.5;-sBZIP2_SOURCE=C:/Users/hkuich/Programmi
ng/contrib_build/src/bzip2-1.0.5;runtime-link=shared;link=static;toolset=msvc-12
) .. failed
-- BUILD_BOOST_OUT =
error: msvc initialization: parameter 'version' inconsistent
error: no value was specified in earlier initialization
error: an explicit value is specified now

-- BUILD_BOOST_ERR =
-- BUILD_BOOST = 1
CMake Error at libraries.cmake/boost.cmake:80 (message):

error: msvc initialization: parameter 'version' inconsistent
error: no value was specified in earlier initialization
error: an explicit value is specified now

Call Stack (most recent call first):
CMakeLists.txt:461 (OPENMS_CONTRIB_BUILD_BOOST)

-- Configuring incomplete, errors occurred!
See also "C:/Users/hkuich/Programming/contrib_build/CMakeFiles/CMakeOutput.log".

After modification of boost.cmake at line 62 (commenting out the TOOLSET variable as an argument), the build process proceeds and completes without errors.

set(BOOST_CMD_ARGS "${BOOST_ARG}" 
"install" 
"-j${NUMBER_OF_JOBS}" 
"--prefix=${PROJECT_BINARY_DIR}" 
"--layout=tagged" # create libnames without vcXXX in filename; include dir is /include/boost (as opposed to "versioned" where /include/boost-1.52/boost plus ...vc110.lib
"--with-math" 
"--with-date_time" 
"--with-iostreams" 
"--with-regex"
"--build-type=complete"
"-sZLIB_SOURCE=${ZLIB_DIR}"
"-sBZIP2_SOURCE=${BZIP2_DIR}" 
"runtime-link=shared"
"link=${BOOST_BUILD_TYPE}") 
##"${TOOLSET}")

However, OpenMS afterwards cannot be built, because Boost cannot be found, although the libraries are present in the \lib folder in contrib.

SQLite fails to build on CentOS

I have trouble to build libSVM on our CentOS cluster when using the latest contrib:

-- Building SQLITE library (make) ..
-- Building SQLITE library (make) .. failed
CMake Error at libraries.cmake/sqlite.cmake:111 (message):
  /bin/sh ./libtool --tag=CC --mode=compile
  /cvmfs/soft.computecanada.ca/custom/bin/cc -DPACKAGE_NAME=\"sqlite\"
  -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.15.0\"
  -DPACKAGE_STRING=\"sqlite\ 3.15.0\"
  -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\"
  -DPACKAGE=\"sqlite\" -DVERSION=\"3.15.0\" -DSTDC_HEADERS=1
  -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
  -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
  -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"
  -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1
  -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1
  -DHAVE_EDITLINE=1 -DHAVE_POSIX_FALLOCATE=1 -I.  -D_REENTRANT=1
  -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT
  sqlite3.lo -MD -MP -MF .deps/sqlite3.Tpo -c -o sqlite3.lo sqlite3.c

  /cvmfs/soft.computecanada.ca/custom/bin/cc -DPACKAGE_NAME=\"sqlite\"
  -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.15.0\"
  -DPACKAGE_STRING=\"sqlite\ 3.15.0\"
  -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\"
  -DPACKAGE=\"sqlite\" -DVERSION=\"3.15.0\" -DSTDC_HEADERS=1
  -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
  -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
  -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"
  -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1
  -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1
  -DHAVE_EDITLINE=1 -DHAVE_POSIX_FALLOCATE=1 -I.  -D_REENTRANT=1
  -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE
  -DSQLITE_ENABLE_EXPLAIN_COMMENTS -g -O2 -MT sqlite3-shell.o -MD -MP -MF
  .deps/sqlite3-shell.Tpo -c -o sqlite3-shell.o `test -f 'shell.c' || echo
  './'`shell.c

  /cvmfs/soft.computecanada.ca/custom/bin/cc -DPACKAGE_NAME=\"sqlite\"
  -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.15.0\"
  -DPACKAGE_STRING=\"sqlite\ 3.15.0\"
  -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\"
  -DPACKAGE=\"sqlite\" -DVERSION=\"3.15.0\" -DSTDC_HEADERS=1
  -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
  -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
  -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"
  -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1
  -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1
  -DHAVE_EDITLINE=1 -DHAVE_POSIX_FALLOCATE=1 -I.  -D_REENTRANT=1
  -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE
  -DSQLITE_ENABLE_EXPLAIN_COMMENTS -g -O2 -MT sqlite3-sqlite3.o -MD -MP -MF
  .deps/sqlite3-sqlite3.Tpo -c -o sqlite3-sqlite3.o `test -f 'sqlite3.c' ||
  echo './'`sqlite3.c

  gcc: error: 3.15.0": No such file or directory

  gcc: error: 3.15.0": No such file or directory

  gmake: *** [sqlite3-shell.o] Error 1

  gmake: *** Waiting for unfinished jobs....

  gmake: *** [sqlite3-sqlite3.o] Error 1

  libtool: compile: /cvmfs/soft.computecanada.ca/custom/bin/cc
  -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\"
  -DPACKAGE_VERSION=\"3.15.0\" "-DPACKAGE_STRING=\"sqlite 3.15.0\""
  -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\"
  -DPACKAGE=\"sqlite\" -DVERSION=\"3.15.0\" -DSTDC_HEADERS=1
  -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
  -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
  -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"
  -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1
  -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1
  -DHAVE_EDITLINE=1 -DHAVE_POSIX_FALLOCATE=1 -I.  -D_REENTRANT=1
  -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT
  sqlite3.lo -MD -MP -MF .deps/sqlite3.Tpo -c sqlite3.c -fPIC -DPIC -o
  sqlite3.o

  gcc: error: 3.15.0": No such file or directory

  gmake: *** [sqlite3.lo] Error 1
Call Stack (most recent call first):
  CMakeLists.txt:576 (OPENMS_CONTRIB_BUILD_SQLITE)


-- Configuring incomplete, errors occurred!
See also "/home/hroest/code/build/tt/CMakeFiles/CMakeOutput.log".

contrib builds boost in 32 bit instead of 64 bit

C:\Users\nvika\openms\contrib_win64_build_boost_only>"C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=BOOST -DNUMBER_OF_JOBS=4 -G "Visual Studio 15 2017 Win64"  ..\OpenMS\contrib\
-- Selecting Windows SDK version 10.0.17134.0 to target Windows 10.0.16299.
-- The C compiler identification is MSVC 19.14.26428.1
-- The CXX compiler identification is MSVC 19.14.26428.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ADDRESSMODEL IS: 64 bit
-- MSVC Version is: 15
-- Finding MSBuild.exe (usually installed along with .NET or VS [since 12] ) ... success
-- Finding nmake.exe (as part of VS) ... success
-- BUILD_TYPE: BOOST (one of: ALL;SEQAN;LIBSVM;XERCESC;BOOST;COINOR;BZIP2;ZLIB;GLPK;EIGEN;WILDMAGIC;SQLITE;KISSFFT)
-- FORCE_REBUILD: OFF
-- NUMBER_OF_JOBS: 4 (maximal number of concurrent compile jobs)
-- Downloading BOOST ..
-- Downloading BOOST .. skipped (already downloaded)
-- Validating archive for BOOST ..
-- Validating archive for BOOST .. done
-- Extracting BOOST ..
-- Extracting BOOST .. done (1st pass)
-- Extracting BOOST ..
-- Extracting BOOST .. done (2nd pass)
-- Bootstrapping Boost libraries (bootstrap.bat) ...
-- Bootstrapping Boost libraries (bootstrap.bat) ... done
-- Building Boost library (bjam address-model=64;install;-j4;--prefix=C:/Users/nvika/openms/contrib_win64_build_boost_only;--layout=tagged;--with-math;--with-date_time;--with-iostreams;--with-regex;--build-type=complete;-sZLIB_SOURCE=C:/Users/nvika/openms/contrib_win64_build_boost_only/src/zlib-1.2.11;-sBZIP2_SOURCE=C:/Users/nvika/openms/contrib_win64_build_boost_only/src/bzip2-1.0.5;runtime-link=shared;link=static;toolset=msvc-15.0) ..
C:\Users\nvika\openms\contrib_win64_build_boost_only\lib>dumpbin /headers libboost_date_time-mt-gd.lib
Microsoft (R) COFF/PE Dumper Version 14.14.26428.1
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file libboost_date_time-mt-gd.lib

File Type: LIBRARY

FILE HEADER VALUES
             14C machine (x86)
               A number of sections
        5AFDDE52 time date stamp Thu May 17 15:56:02 2018
           5CC01 file pointer to symbol table
              20 number of symbols
               0 size of optional header
               0 characteristics

note that boost seems to be built in 32 bit mode while all other contrib libraries are built in 64 bit mode. It is unclear why since bjam gets address-model=64; as an argument

CoinOR config.guess not able to guess for newer OSes

/usr/bin/oslevel =

  /usr/convex/getsysinfo =



  UNAME_MACHINE = aarch64

  UNAME_RELEASE = 5.15.0-1021-oracle

  UNAME_SYSTEM = Linux

  UNAME_VERSION = #27-Ubuntu SMP Fri Oct 14 20:04:20 UTC 2022

  configure: error: cannot guess build type you must specify one

  configure: error: /bin/bash './configure' failed for Data/Sample
Call Stack (most recent call first):
  CMakeLists.txt:590 (OPENMS_CONTRIB_BUILD_COINOR)

Solution:

find . -name "config.guess" -exec cp /usr/share/automake-1.16/config.guess {} \; or whatever, newer current automaker version you have installed.

Aborted Download

Currently, aborted downloads are not recognized and make the scripts hard to use. It seems that whenever cmake sees something, it assumes that it is a complete download:

$ ../cmake-2.8.12.2/bin/cmake -DBUILD_TYPE=SEQAN .
-- ADDRESSMODEL IS: 32 bit
-- BUILD_TYPE: SEQAN (one of: ALL;SEQAN;LIBSVM;XERCESC;BOOST;GSL;COINOR;BZIP2;ZLIB;GLPK;EIGEN;WILDMAGIC)
-- FORCE_REBUILD: OFF
-- NUMBER_OF_JOBS: 2 (maximal number of concurrent compile jobs)
-- Downloading SEQAN .. 
-- Downloading SEQAN .. skipped (already downloaded)
-- Extracting SEQAN .. 
-- Extracting SEQAN .. failed
CMake Error at macros.cmake:101 (message):
  gzip: stdin: unexpected end of file

  /bin/tar: Child returned status 1

  /bin/tar: Exiting with failure status due to previous errors
Call Stack (most recent call first):
  libraries.cmake/seqan.cmake:15 (OPENMS_SMARTEXTRACT)
  CMakeLists.txt:368 (OPENMS_CONTRIB_BUILD_SEQAN)


-- Configuring incomplete, errors occurred!

there are a few things we could do

  • print a message upon failure to rm archives/* and try again
  • check the checksum of the file and re-download if necessary

CoinOR fails to build

I see build failures of CoinOR on a system where I tried to build contrib for the first time (CentOS Linux release 7.3.1611 (Core) ):

c++ -DHAVE_CONFIG_H -I. -I. -O3 -pipe -DNDEBUG -pedantic-errors -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-long-long -fPIC -DCOINUTILS_BUILD -MT CoinFileIO.lo -MD -MP -MF .deps/CoinFileIO.Tpo -c CoinFileIO.cpp -o CoinFileIO.o

  In file included from
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/include/zconf.h:395:0,


                   from /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/include/zlib.h:34,
                   from CoinFileIO.cpp:205:


  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/include/limits.h:123:3:
  error: #include_next is a GCC extension

   # include_next <limits.h>
     ^

  gmake[2]: *** [CoinFileIO.lo] Error 1

which is probably due to the pedantic setting we have with CoinOR

Docker actions broken after moving dockerfiles

The repo here is not even checked out -> no context/dockerfile available

Please always try to check changes in the nightlies on the day after untested changes (even if two people look over it ;) , otherwise they get forgotten until other people need it.

Seqan 1.4.1 not compilable with gcc 4.6 to 5.x

/home/sachsenb/OpenMS/contrib-build/include/seqan/graph_types/graph_impl_fragment.h: In function 'bool seqan::operator<(const seqan::Fragment<TSize, seqan::ExactReversableFragment<TSpec> >&, const seqan::Fragment<TSize, seqan::ExactReversableFragment<TSpec> >&)':
/home/sachsenb/OpenMS/contrib-build/include/seqan/graph_types/graph_impl_fragment.h:296:14: error: parse error in template argument list
    if (left.reversed < right.reversed)

This is a compiler bug. He mistakes the smaller than operator with the start of a template. Fixed in gcc6. This is also present in the aptitude package unfortunately. Seqan 1.4.1 is not maintained anymore but moving to seqan 2 or now even 3 would be a major effort.

Refs:
https://svn.boost.org/trac10/ticket/13386
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10200

cannot find xerces lib

It seems after the recent merges, libxerces is now put into /lib64/ and it does not symlink to libxerces-c.a any more. Thus, OpenMS does not configure any more with default settings on Linux. Currently the way to build it is by setting a symlink:

ln -s /contrib-build/lib64/libxerces-c-3.2.a /contrib-build/lib/libxerces-c.a

or

ln -s /contrib-build/lib64/libxerces-c-3.2.a /contrib-build/lib64/libxerces-c.a

so it seems that the issue is not the folder but the missing symlink to libxerces-c.a, which is not documented and not very user friendly.

Download of packages fails with certain CMake versions when using redirects

I'm attempting to install the contrib package on Windows 7 64-bit, using cmake 3.0.0. Using either build type SEQAN or ALL I get an error:

c:\Users\Max\Downloads\contrib-master\contrib-master>"C:\Program Files (x86)\CMa
ke\bin\cmake.exe" -DBUILD_TYPE=SEQAN
-- Building for: Visual Studio 12 2013
-- ADDRESSMODEL IS: 32 bit
-- MSVC Version is: 12
-- BUILD_TYPE: SEQAN (one of: ALL;SEQAN;LIBSVM;XERCESC;BOOST;GSL;COINOR;BZIP2;ZL
IB;GLPK;EIGEN;WILDMAGIC)
-- FORCE_REBUILD: OFF
-- NUMBER_OF_JOBS: 2 (maximal number of concurrent compile jobs)
-- Downloading SEQAN ..
-- Downloading SEQAN .. done
-- Validating archive for SEQAN ..
-- Validating archive for SEQAN .. sha1 mismatch (expected: 1aecb390311a12330c5a
1c8d91cb9ac4cd8e1718 got: d4dd8ea3692d5860e5326181f3c5066139d98ca1)
-- The archive file for SEQAN seems to be damaged and will be removed.
-- Please try to rebuild SEQAN to trigger a new download of the archive.
-- If this fails again, please contact the OpenMS support.
CMake Error at macros.cmake:51 (message):
Abort!
Call Stack (most recent call first):
macros.cmake:86 (validate_archive)
macros.cmake:100 (download_contrib_archive)
libraries.cmake/seqan.cmake:15 (OPENMS_SMARTEXTRACT)
CMakeLists.txt:415 (OPENMS_CONTRIB_BUILD_SEQAN)

-- Configuring incomplete, errors occurred!
See also "C:/Users/Max/Downloads/contrib-master/contrib-master/CMakeFiles/CMakeO
utput.log".

I've attached the log file that it references, but as far as I can see immediately it doesn't describe any error:

CMakeOutput.log.txt

zlib issue on RHEL

When trying to build all contrib packages I get the following error

$ cmake -DBUILD_TYPE=ALL .
[...]
-- Downloading ZLIB ..
-- Downloading ZLIB .. done
-- Extracting ZLIB ..
-- Extracting ZLIB .. done
-- Configuring zlib library (./configure --prefix=/scratch/hroest/openms/test/test_new_oMS2/contrib  CC=/usr/bin/cc) ..
-- Configuring zlib library (./configure --prefix=/scratch/hroest/openms/test/test_new_oMS2/contrib  CC=/usr/bin/cc) .. done
-- Building zlib library (make CC='/usr/bin/cc' CFLAGS='-Wall -O3 -fPIC') ..
-- Building zlib library (make CC='/usr/bin/cc' CFLAGS='-Wall -O3 -fPIC') .. done
-- Installing zlib library (make install) ..
-- Installing zlib library (make install) .. failed
CMake Error at libraries.cmake/zlib.cmake:146 (message):
  cp libz.a /scratch/hroest/openms/test/test_new_oMS2/contrib/lib

  cp /scratch/hroest/openms/test/test_new_oMS2/contrib/lib

  cp: missing destination file operand after
  `/scratch/hroest/openms/test/test_new_oMS2/contrib/lib'

  Try `cp --help' for more information.

  gmake: *** [install-libs] Error 1
Call Stack (most recent call first):
  CMakeLists.txt:418 (OPENMS_CONTRIB_BUILD_ZLIB)


-- Configuring incomplete, errors occurred!

contrib build failed on RHEL5

the newest contrib failed at the stage of SEQAN on an RHEL5 machine

when we reverted to e4b7ed3 it worked without a problem but the latest checkout with Seqan 1.4.1 failed. are there any log files we could inspect? the commandline only says "Building seqan doc" and then fails

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.