Closed lgatto closed 7 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.
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.
Hi, for the .o you also need corresponding .c somewhere.
./boost/thread/pthread/once.cpp
It's in another dir ./src/boost/thread/src/pthread/once.cpp
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
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?
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
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?
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
Hi, how is progress going on ? Could you commit to a new branch and I try helping out ? Yours, Steffen
@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?
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
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
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
So new_pwiz should compile on Linux, likely not yet on Windows. Could someone try Mac ? @lgatto ? Yours, Steffen
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.
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?
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
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
I have pushed a few files that were missing for clang compilation. Could you pull and try again ?
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
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
OK, now it's working! Can build it and R CMD check
runs without problems!
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
@sneumann - is anything ready to be merged?
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
Done, now on Bioc
Awesome, let's keep fingers crossed. I'll monitor the build reports
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