sneumann / mzR

This is the git repository matching the Bioconductor package mzR: parser for netCDF, mzXML, mzData and mzML files (mass spectrometry data)
42 stars 27 forks source link

Update pwiz #61

Closed lgatto closed 7 years ago

lgatto commented 8 years ago

Recently, a bug had been fixed in pwiz that now allows to correctly refer to an MS3 precursor. This is an essential feature for downstream analyses, requiring an update to pwiz/mzR.

I am happy to do this when I am back from my travelling, by would appreciate any indication to any patches that need to be applied after checking out the latest pwiz. The process of updating pwiz should be well documented.

cc: @thirdwing @sneumann

sneumann commented 8 years ago

Hi Laurent, my approach in the past was to nuke the existing pwiz, and checkout the current pwiz, see https://github.com/Bioconductor-mirror/mzR/blob/master/checkoutpwiz.sh#L15 . Then I tried R CMD INSTALL to see where things brake. Ideally, this would just work with the new checkout, but since code usually grows, most breakage is due to missing checkouts. Those should be added to checkoutpwiz.sh until that script becomes the documentation for the "process of updating pwiz". Yours, Steffen

P.S.: That might be a time to update boost as well, especially if pwiz depends on newer features.

lgatto commented 8 years ago

Anyone any idea about this error?

...
g++ -std=c++11 -I/opt/Rpatched/lib64/R/include -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost `nc-config --cflags || /bin/true` -I/usr/local/include -I"/home/lg390/R/x86_64-pc-linux-gnu-library/3.3/Rcpp/include" -I"/home/lg390/R/x86_64-pc-linux-gnu-library/3.3/zlibbioc/include"   -fpic  -g -O2 -c boost/iostreams/src/file_descriptor.cpp -o boost/iostreams/src/file_descriptor.o
/bin/bash: nc-config: command not found
make[1]: *** No rule to make target `boost/thread/pthread/once.o', needed by `mzR.so'. Stop.
make[1]: Leaving directory `/home/lg390/dev/00_github/mzR.Rcheck/00_pkg_src/mzR/src'
ERROR: compilation failed for package ‘mzR’
* removing ‘/home/lg390/dev/00_github/mzR.Rcheck/mzR’

Note that src/boost/thread/once.hpp is present.

sneumann commented 8 years ago

Hi, for the .o you also need corresponding .c somewhere. ./boost/thread/pthread/once.cpp

lgatto commented 8 years ago

It's in another dir ./src/boost/thread/src/pthread/once.cpp

sneumann commented 8 years ago

ok, almost correct ... Also, this is a file that is only used in unixoid systems, Windows has a different thread model, that's where we need if(ARCH) in a unified Makevars later

lgatto commented 8 years ago

After the following manual adjustments (but that can't be the proper way forward)

cp ./src/boost/thread/src/pthread/once.cpp ./src/boost/thread/pthread/. 
cp ./src/boost/thread/src/pthread/once_atomic.cpp ./src/boost/thread/pthread/.
cp ./src/boost/thread/src/pthread/once.cpp ./src/boost/thread/pthread/.  
cp ./src/boost/thread/src/pthread/thread.cpp ./src/boost/thread/pthread/.
cp ./src/boost/thread/src/pthread/timeconv.inl ./src/boost/thread/pthread/.

I now get

...
g++ -std=c++11 -I/opt/Rpatched/lib64/R/include -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost `nc-config --cflags || /bin/true` -I/usr/local/include -I"/home/lg390/R/x86_64-pc-linux-gnu-library/3.3/Rcpp/include" -I"/home/lg390/R/x86_64-pc-linux-gnu-library/3.3/zlibbioc/include"   -fpic  -g -O2 -c pwiz/data/msdata/RAMPAdapter.cpp -o pwiz/data/msdata/RAMPAdapter.o
/bin/bash: nc-config: command not found
pwiz/data/msdata/RAMPAdapter.cpp: In member function ‘void pwiz::msdata::RAMPAdapter::Impl::getScanHeader(size_t, ScanHeaderStruct&, bool) const’:
pwiz/data/msdata/RAMPAdapter.cpp:169:23: error: cannot convert ‘std::string {aka std::basic_string<char>}’ to ‘const char*’ in assignment
     result.filterLine = filterLine;
                       ^
make[1]: *** [pwiz/data/msdata/RAMPAdapter.o] Error 1
make[1]: Leaving directory `/home/lg390/dev/00_github/mzR.Rcheck/00_pkg_src/mzR/src'
ERROR: compilation failed for package ‘mzR’
* removing ‘/home/lg390/dev/00_github/mzR.Rcheck/mzR’

Could these be related to the fact that we are still using boost 1.55.0 and we should rather upgrade boost?

sneumann commented 8 years ago

Hi, not online, so a quick guess : 1) don't copy, change the *.o paths instead 2) does not look like a boost issue, more likely pwiz and compiler. I would add a cast or change the type of filterLine to fix things. Yours Steffen


I blame Android for the brevity and typos

lgatto commented 8 years ago

1) don't copy, change the *.o paths instead

Could you clarify, please.

2) does not look like a boost issue, more likely pwiz and compiler. I would add a cast or change the type of filterLine to fix things.

How many such manual changes should be expected? That could really lead us down the rabbit hole. Would there be another way to avoid modifying the pwiz code?

sneumann commented 8 years ago

Here is the wrong path

https://github.com/Bioconductor-mirror/mzR/blob/master/src/Makevars#L22

Since the issue was in rampadapter, I expect only few changes to avoid previously accepted implicit behaviour In the compiler.


I blame Android for the brevity and typos

sneumann commented 8 years ago

Hi, how is progress going on ? Could you commit to a new branch and I try helping out ? Yours, Steffen

lgatto commented 7 years ago

@sneumann - sorry for the detail. I pushed to new_pwiz. The Makevars is amended and seems to work. I haven't had any time go into the casting error.

You also mentioned updating boost. From the checkoutpwiz.sh files, the following vars need to be updated

BOOSTVER=Boost_1_55_0
BOOSTREPO=http://svn.boost.org/svn/boost/tags/release/$BOOSTVER/boost

1.55.0 is the last version in that svn directly but the latest version is 1.62.0. Is this an relic or is there a reason for this?

sneumann commented 7 years ago

Hi, thanks for pushing.

I fixed the cast, but get a bunch of errors downstream, which look like an old boost version issue :-(

Proteowizard is bundling https://sourceforge.net/p/proteowizard/code/HEAD/tree/trunk/pwiz/libraries/boost_1_56_0.tar.bz2 so we are not too far behind: 1_55_0 is the last one in SVN http://svn.boost.org/svn/boost/tags/release/ and all later ones are now on https://github.com/boostorg

They now have modularised boost (jay!) https://github.com/boostorg/boost/wiki/Getting-Started#submodules but this requires a new checkoutpwiz structure. Either we download libraries manually: wget -O - https://github.com/boostorg/io/archive/boost-1.56.0.tar.gz | tar -tzvf - or we use that mentioned submodule concept.

Yours, Steffen

sneumann commented 7 years ago

Hi, just as an update, I now have locally a version that compiles with boost 1.58.0, but I still have to find a way to only include boost files actually required, and not the whole ~500MB boost files ... Yours, Steffen

sneumann commented 7 years ago

Hi, just as an update, I now have locally a version that compiles with boost 1.58.0, but I still have to find a way to only include boost files actually required, and not the whole ~500MB boost files ... Yours, Steffen

sneumann commented 7 years ago

So new_pwiz should compile on Linux, likely not yet on Windows. Could someone try Mac ? @lgatto ? Yours, Steffen

lgatto commented 7 years ago

I don't have a Mac. I could try to borrow one from a colleague, but that would only be later in the week at best. Will do my best.

jorainer commented 7 years ago

I could jump in - as a regular Mac user ;) what do I have to do? check out the new_pwiz branch, build and check it?

jorainer commented 7 years ago

A, well - too bad:

macbookjo:git jo$ R CMD build mzR
* checking for file ‘mzR/DESCRIPTION’ ... OK
* preparing ‘mzR’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* running ‘cleanup’
* installing the package to build vignettes
      -----------------------------------
* installing *source* package ‘mzR’ ...
** libs
*** arch - x86_64
rm -f cramp.o ramp_base64.o ramp.o RcppRamp.o RcppRampModule.o rnetCDF.o RcppPwiz.o RcppPwizModule.o RcppIdent.o RcppIdentModule.o ./boost/libs/system/src/error_code.o ./boost/libs/regex/src/posix_api.o ./boost/libs/regex/src/fileiter.o ./boost/libs/regex/src/regex_raw_buffer.o ./boost/libs/regex/src/cregex.o ./boost/libs/regex/src/regex_debug.o ./boost/libs/regex/src/instances.o ./boost/libs/regex/src/icu.o ./boost/libs/regex/src/usinstances.o ./boost/libs/regex/src/regex.o ./boost/libs/regex/src/wide_posix_api.o ./boost/libs/regex/src/regex_traits_defaults.o ./boost/libs/regex/src/winstances.o ./boost/libs/regex/src/wc_regex_traits.o ./boost/libs/regex/src/c_regex_traits.o ./boost/libs/regex/src/cpp_regex_traits.o ./boost/libs/regex/src/static_mutex.o ./boost/libs/regex/src/w32_regex_traits.o ./boost/libs/iostreams/src/zlib.o ./boost/libs/iostreams/src/file_descriptor.o ./boost/libs/thread/src/pthread/once.o ./boost/libs/thread/src/pthread/thread.o ./boost/libs/filesystem/src/operations.o ./boost/libs/filesystem/src/path.o ./boost/libs/filesystem/src/utf8_codecvt_facet.o ./boost/libs/chrono/src/chrono.o ./boost/libs/chrono/src/process_cpu_clocks.o ./boost/libs/chrono/src/thread_clock.o ./pwiz/data/msdata/Version.o ./pwiz/data/identdata/Version.o ./pwiz/data/common/MemoryIndex.o ./pwiz/data/common/CVTranslator.o ./pwiz/data/common/cv.o ./pwiz/data/common/ParamTypes.o ./pwiz/data/common/BinaryIndexStream.o ./pwiz/data/common/diff_std.o ./pwiz/data/common/Unimod.o ./pwiz/data/msdata/SpectrumList_MGF.o ./pwiz/data/msdata/DefaultReaderList.o ./pwiz/data/msdata/ChromatogramList_mzML.o ./pwiz/data/msdata/examples.o ./pwiz/data/msdata/Serializer_mzML.o ./pwiz/data/msdata/Serializer_MSn.o ./pwiz/data/msdata/Reader.o ./pwiz/data/msdata/Serializer_MGF.o ./pwiz/data/msdata/Serializer_mzXML.o ./pwiz/data/msdata/SpectrumList_mzML.o ./pwiz/data/msdata/SpectrumList_MSn.o ./pwiz/data/msdata/BinaryDataEncoder.o ./pwiz/data/msdata/Diff.o ./pwiz/data/msdata/MSData.o ./pwiz/data/msdata/References.o ./pwiz/data/msdata/SpectrumList_mzXML.o ./pwiz/data/msdata/IO.o ./pwiz/data/msdata/SpectrumList_BTDX.o ./pwiz/data/msdata/SpectrumInfo.o ./pwiz/data/msdata/RAMPAdapter.o ./pwiz/data/msdata/LegacyAdapter.o ./pwiz/data/msdata/SpectrumIterator.o ./pwiz/data/msdata/MSDataFile.o ./pwiz/data/msdata/MSNumpress.o ./pwiz/data/msdata/SpectrumListCache.o ./pwiz/data/msdata/Index_mzML.o ./pwiz/data/msdata/SpectrumWorkerThreads.o ./pwiz/data/identdata/IdentDataFile.o ./pwiz/data/identdata/IdentData.o ./pwiz/data/identdata/DefaultReaderList.o ./pwiz/data/identdata/Reader.o ./pwiz/data/identdata/Serializer_protXML.o ./pwiz/data/identdata/Serializer_pepXML.o ./pwiz/data/identdata/Serializer_mzid.o ./pwiz/data/identdata/IO.o ./pwiz/data/identdata/References.o ./pwiz/data/identdata/MascotReader.o ./pwiz/data/proteome/Modification.o ./pwiz/data/proteome/Digestion.o ./pwiz/data/proteome/Peptide.o ./pwiz/data/proteome/AminoAcid.o ./pwiz/utility/minimxml/XMLWriter.o ./pwiz/utility/minimxml/SAXParser.o ./pwiz/utility/chemistry/Chemistry.o ./pwiz/utility/chemistry/ChemistryData.o ./pwiz/utility/chemistry/MZTolerance.o ./pwiz/utility/misc/IntegerSet.o ./pwiz/utility/misc/Base64.o ./pwiz/utility/misc/IterationListener.o ./pwiz/utility/misc/MSIHandler.o ./pwiz/utility/misc/Filesystem.o ./pwiz/utility/misc/TabReader.o ./pwiz/utility/misc/random_access_compressed_ifstream.o ./pwiz/utility/misc/SHA1.o ./pwiz/utility/misc/SHA1Calculator.o ./pwiz/utility/misc/sha1calc.o ./random_access_gzFile.o ./RcppExports.o rampR.o R_init_mzR.o
find . -name \*~ -exec rm {} \;   ## from cleanup
find . -name \*.o -exec rm {} \;  ## from cleanup
find . -name "#*#" -exec rm {} \; ## from cleanup
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c cramp.cpp -o cramp.o
In file included from cramp.cpp:49:
./cramp.h:261:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampScanInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:261:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
./cramp.h:315:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampRunInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:315:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
2 warnings generated.
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c ramp_base64.cpp -o ramp_base64.o
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c ramp.cpp -o ramp.o
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c RcppRamp.cpp -o RcppRamp.o
In file included from RcppRamp.cpp:1:
In file included from ./RcppRamp.h:14:
./cramp.h:261:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampScanInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:261:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
./cramp.h:315:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampRunInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:315:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
2 warnings generated.
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c RcppRampModule.cpp -o RcppRampModule.o
In file included from RcppRampModule.cpp:2:
In file included from ./RcppRamp.h:14:
./cramp.h:261:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampScanInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:261:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
./cramp.h:315:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampRunInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:315:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
2 warnings generated.
clang -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC  -g -O2  -c rnetCDF.c -o rnetCDF.o
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c RcppPwiz.cpp -o RcppPwiz.o
In file included from RcppPwiz.cpp:1:
In file included from ./RcppPwiz.h:12:
In file included from ./pwiz/data/msdata/MSDataFile.hpp:29:
In file included from ./pwiz/data/msdata/MSData.hpp:29:
In file included from ./pwiz/data/common/ParamTypes.hpp:29:
In file included from ./pwiz/utility/misc/optimized_lexical_cast.hpp:36:
In file included from ./pwiz/utility/misc/Singleton.hpp:26:
In file included from ./boost_aux/boost/utility/singleton.hpp:19:
In file included from ./boost_aux/boost/utility/detail/singleton_manager.hpp:18:
In file included from ./boost/boost/thread/once.hpp:20:
In file included from ./boost/boost/thread/pthread/once_atomic.hpp:20:
In file included from ./boost/boost/atomic.hpp:12:
In file included from ./boost/boost/atomic/atomic.hpp:20:
In file included from ./boost/boost/atomic/fences.hpp:21:
In file included from ./boost/boost/atomic/detail/operations.hpp:17:
In file included from ./boost/boost/atomic/detail/operations_lockfree.hpp:21:
In file included from ./boost/boost/atomic/detail/ops_gcc_atomic.hpp:24:
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:53:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:61:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:69:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:77:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:85:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
6 errors generated.
make: *** [RcppPwiz.o] Error 1
ERROR: compilation failed for package ‘mzR’
* removing ‘/private/var/folders/xn/q92wxwcd15v9b0ywdpmlwmnh0000gn/T/RtmpifukUJ/Rinst7a45470a671d/mzR’
      -----------------------------------
ERROR: package installation failed

I've installed boost via homebrew

sneumann commented 7 years ago

ah, you don't need to install boost, it is included in mzR, version boost-1.58.0 The reason for the failure on your machine is because I only included the minimum files required on Linux, but not ops_cas_based.hpp which was then taken from the homebrew installation, which likely was simply incompatible with 1.58.0. I'll try linux clang, add missing files and let you know. Yours, Steffen

sneumann commented 7 years ago

I have pushed a few files that were missing for clang compilation. Could you pull and try again ?

jorainer commented 7 years ago

Not there yet:

* checking for file ‘mzR/DESCRIPTION’ ... OK
* preparing ‘mzR’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* running ‘cleanup’
* installing the package to build vignettes
      -----------------------------------
* installing *source* package ‘mzR’ ...
** libs
*** arch - x86_64
rm -f cramp.o ramp_base64.o ramp.o RcppRamp.o RcppRampModule.o rnetCDF.o RcppPwiz.o RcppPwizModule.o RcppIdent.o RcppIdentModule.o ./boost/libs/system/src/error_code.o ./boost/libs/regex/src/posix_api.o ./boost/libs/regex/src/fileiter.o ./boost/libs/regex/src/regex_raw_buffer.o ./boost/libs/regex/src/cregex.o ./boost/libs/regex/src/regex_debug.o ./boost/libs/regex/src/instances.o ./boost/libs/regex/src/icu.o ./boost/libs/regex/src/usinstances.o ./boost/libs/regex/src/regex.o ./boost/libs/regex/src/wide_posix_api.o ./boost/libs/regex/src/regex_traits_defaults.o ./boost/libs/regex/src/winstances.o ./boost/libs/regex/src/wc_regex_traits.o ./boost/libs/regex/src/c_regex_traits.o ./boost/libs/regex/src/cpp_regex_traits.o ./boost/libs/regex/src/static_mutex.o ./boost/libs/regex/src/w32_regex_traits.o ./boost/libs/iostreams/src/zlib.o ./boost/libs/iostreams/src/file_descriptor.o ./boost/libs/thread/src/pthread/once.o ./boost/libs/thread/src/pthread/thread.o ./boost/libs/filesystem/src/operations.o ./boost/libs/filesystem/src/path.o ./boost/libs/filesystem/src/utf8_codecvt_facet.o ./boost/libs/chrono/src/chrono.o ./boost/libs/chrono/src/process_cpu_clocks.o ./boost/libs/chrono/src/thread_clock.o ./pwiz/data/msdata/Version.o ./pwiz/data/identdata/Version.o ./pwiz/data/common/MemoryIndex.o ./pwiz/data/common/CVTranslator.o ./pwiz/data/common/cv.o ./pwiz/data/common/ParamTypes.o ./pwiz/data/common/BinaryIndexStream.o ./pwiz/data/common/diff_std.o ./pwiz/data/common/Unimod.o ./pwiz/data/msdata/SpectrumList_MGF.o ./pwiz/data/msdata/DefaultReaderList.o ./pwiz/data/msdata/ChromatogramList_mzML.o ./pwiz/data/msdata/examples.o ./pwiz/data/msdata/Serializer_mzML.o ./pwiz/data/msdata/Serializer_MSn.o ./pwiz/data/msdata/Reader.o ./pwiz/data/msdata/Serializer_MGF.o ./pwiz/data/msdata/Serializer_mzXML.o ./pwiz/data/msdata/SpectrumList_mzML.o ./pwiz/data/msdata/SpectrumList_MSn.o ./pwiz/data/msdata/BinaryDataEncoder.o ./pwiz/data/msdata/Diff.o ./pwiz/data/msdata/MSData.o ./pwiz/data/msdata/References.o ./pwiz/data/msdata/SpectrumList_mzXML.o ./pwiz/data/msdata/IO.o ./pwiz/data/msdata/SpectrumList_BTDX.o ./pwiz/data/msdata/SpectrumInfo.o ./pwiz/data/msdata/RAMPAdapter.o ./pwiz/data/msdata/LegacyAdapter.o ./pwiz/data/msdata/SpectrumIterator.o ./pwiz/data/msdata/MSDataFile.o ./pwiz/data/msdata/MSNumpress.o ./pwiz/data/msdata/SpectrumListCache.o ./pwiz/data/msdata/Index_mzML.o ./pwiz/data/msdata/SpectrumWorkerThreads.o ./pwiz/data/identdata/IdentDataFile.o ./pwiz/data/identdata/IdentData.o ./pwiz/data/identdata/DefaultReaderList.o ./pwiz/data/identdata/Reader.o ./pwiz/data/identdata/Serializer_protXML.o ./pwiz/data/identdata/Serializer_pepXML.o ./pwiz/data/identdata/Serializer_mzid.o ./pwiz/data/identdata/IO.o ./pwiz/data/identdata/References.o ./pwiz/data/identdata/MascotReader.o ./pwiz/data/proteome/Modification.o ./pwiz/data/proteome/Digestion.o ./pwiz/data/proteome/Peptide.o ./pwiz/data/proteome/AminoAcid.o ./pwiz/utility/minimxml/XMLWriter.o ./pwiz/utility/minimxml/SAXParser.o ./pwiz/utility/chemistry/Chemistry.o ./pwiz/utility/chemistry/ChemistryData.o ./pwiz/utility/chemistry/MZTolerance.o ./pwiz/utility/misc/IntegerSet.o ./pwiz/utility/misc/Base64.o ./pwiz/utility/misc/IterationListener.o ./pwiz/utility/misc/MSIHandler.o ./pwiz/utility/misc/Filesystem.o ./pwiz/utility/misc/TabReader.o ./pwiz/utility/misc/random_access_compressed_ifstream.o ./pwiz/utility/misc/SHA1.o ./pwiz/utility/misc/SHA1Calculator.o ./pwiz/utility/misc/sha1calc.o ./random_access_gzFile.o ./RcppExports.o rampR.o R_init_mzR.o
find . -name \*~ -exec rm {} \;   ## from cleanup
find . -name \*.o -exec rm {} \;  ## from cleanup
find . -name "#*#" -exec rm {} \; ## from cleanup
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c cramp.cpp -o cramp.o
In file included from cramp.cpp:49:
./cramp.h:261:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampScanInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:261:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
./cramp.h:315:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampRunInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:315:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
2 warnings generated.
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c ramp_base64.cpp -o ramp_base64.o
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c ramp.cpp -o ramp.o
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c RcppRamp.cpp -o RcppRamp.o
In file included from RcppRamp.cpp:1:
In file included from ./RcppRamp.h:14:
./cramp.h:261:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampScanInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:261:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
./cramp.h:315:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampRunInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:315:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
2 warnings generated.
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c RcppRampModule.cpp -o RcppRampModule.o
In file included from RcppRampModule.cpp:2:
In file included from ./RcppRamp.h:14:
./cramp.h:261:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampScanInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:261:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
./cramp.h:315:17: warning: destination for this 'memmove' call is a pointer to dynamic class 'rampRunInfo'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memmove(this,&rhs,sizeof(rhs));
        ~~~~~~~ ^
./cramp.h:315:17: note: explicitly cast the pointer to silence this warning
        memmove(this,&rhs,sizeof(rhs));
                ^
                (void*)
2 warnings generated.
clang -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC  -g -O2  -c rnetCDF.c -o rnetCDF.o
clang++ -std=gnu++11 -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include -I/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/include/x86_64 -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost  `nc-config --cflags || /bin/true` -D__ACCELERATE__ -I/usr/local/opt/sqlite/include -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/Rcpp/include" -I"/Users/jo/R/R-3.4-devel-BioC3.5-devel/lib/R/library/zlibbioc/include"   -fPIC   -c RcppPwiz.cpp -o RcppPwiz.o
In file included from RcppPwiz.cpp:1:
In file included from ./RcppPwiz.h:12:
In file included from ./pwiz/data/msdata/MSDataFile.hpp:29:
In file included from ./pwiz/data/msdata/MSData.hpp:29:
In file included from ./pwiz/data/common/ParamTypes.hpp:29:
In file included from ./pwiz/utility/misc/optimized_lexical_cast.hpp:36:
In file included from ./pwiz/utility/misc/Singleton.hpp:26:
In file included from ./boost_aux/boost/utility/singleton.hpp:19:
In file included from ./boost_aux/boost/utility/detail/singleton_manager.hpp:18:
In file included from ./boost/boost/thread/once.hpp:20:
In file included from ./boost/boost/thread/pthread/once_atomic.hpp:20:
In file included from ./boost/boost/atomic.hpp:12:
In file included from ./boost/boost/atomic/atomic.hpp:20:
In file included from ./boost/boost/atomic/fences.hpp:21:
In file included from ./boost/boost/atomic/detail/operations.hpp:17:
In file included from ./boost/boost/atomic/detail/operations_lockfree.hpp:21:
In file included from ./boost/boost/atomic/detail/ops_gcc_atomic.hpp:24:
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:53:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:61:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:69:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:77:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:85:9: error: no member named 'non_atomic_load' in namespace 'boost::atomics::detail'; did you mean '__atomic_load'?
        atomics::detail::non_atomic_load(storage, old_val);
        ^~~~~~~~~~~~~~~~~
/usr/local/include/boost/atomic/detail/ops_cas_based.hpp:38:26: note: '__atomic_load' declared here
        atomics::detail::non_atomic_load(storage, old_val);
                         ^
6 errors generated.
make: *** [RcppPwiz.o] Error 1
ERROR: compilation failed for package ‘mzR’
* removing ‘/private/var/folders/xn/q92wxwcd15v9b0ywdpmlwmnh0000gn/T/RtmpERfzbD/Rinst5f17fd15dec/mzR’
      -----------------------------------
ERROR: package installation failed
sneumann commented 7 years ago

OK, I added ops_cas_based.hpp now. Any compiler output mentioning /usr/local/include/boost/ is a sign I missed more files. Yours, Steffen

jorainer commented 7 years ago

OK, now it's working! Can build it and R CMD check runs without problems!

sneumann commented 7 years ago

I have now also a version 2.9.1.1 ( https://github.com/sneumann/mzR/commit/946d23d75dc70a7a4913d8e05e3d59b9255f278e ) that compiled under my windows, and works at https://win-builder.r-project.org/dffYKyJI1M49/00install.out

lgatto commented 7 years ago

@sneumann - is anything ready to be merged?

sneumann commented 7 years ago

Hi, while I can't give guarantees on all architectures, I'd say yes we can try to merge 946d23d and fix on all architectures. Yours, Steffen

lgatto commented 7 years ago

Done, now on Bioc

sneumann commented 7 years ago

Awesome, let's keep fingers crossed. I'll monitor the build reports