Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation of 2.24 fails on Manjaro/Arch Linux: MSData.hpp:425:18: error: ‘int64_t’ in namespace ‘std’ does not name a type #285

Open
robert-winkler opened this issue Jun 9, 2023 · 4 comments

Comments

@robert-winkler
Copy link

Hi, I'm trying to install mzR on a recent Manjaro/Arch Linux.

The process stops with various errors at:

g++ -std=gnu++11 -I"/usr/include/R/" -DNDEBUG -I./boost_aux/ -I./boost/ -I. -D_LARGEFILE_SOURCE -DHAVE_PWIZ_MZML_LIB -D_NODEBUG    -I'/usr/lib/R/library/Rcpp/include' -I'/usr/lib/R/library/Rhdf5lib/include' -I/usr/local/include    -fpic  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/r/src=/usr/src/debug/r -flto=auto -ffat-lto-objects  -c RcppPwiz.cpp -o RcppPwiz.o
In file included from pwiz/data/msdata/MSDataFile.hpp:29,
                 from RcppPwiz.h:12,
                 from RcppPwiz.cpp:1:
pwiz/data/msdata/MSData.hpp:425:18: error: ‘int64_t’ in namespace ‘std’ does not name a type
  425 |     typedef std::int64_t value_type;
      |                  ^~~~~~~
pwiz/data/msdata/MSData.hpp:431:28: error: ‘value_type’ was not declared in this scope
  431 |     pwiz::util::BinaryData<value_type> data;
      |                            ^~~~~~~~~~
pwiz/data/msdata/MSData.hpp:431:38: error: template argument 1 is invalid
  431 |     pwiz::util::BinaryData<value_type> data;
      |                                      ^
In file included from pwiz/data/msdata/MSDataFile.hpp:31:
pwiz/data/msdata/BinaryDataEncoder.hpp:87:40: error: ‘int64_t’ is not a member of ‘std’
   87 |     void encode(const std::vector<std::int64_t>& data, std::string& result, size_t* binaryByteCount = NULL) const;
      |                                        ^~~~~~~
pwiz/data/msdata/BinaryDataEncoder.hpp:87:40: note: suggested alternatives:
In file included from /usr/include/sys/types.h:155,
                 from /usr/include/stdlib.h:395,
                 from /usr/include/c++/13.1.1/bits/std_abs.h:38,
                 from /usr/include/c++/13.1.1/cmath:49,
                 from /usr/lib/R/library/Rcpp/include/Rcpp/platform/compiler.h:100,
                 from /usr/lib/R/library/Rcpp/include/Rcpp/r/headers.h:62,
                 from /usr/lib/R/library/Rcpp/include/RcppCommon.h:30,
                 from /usr/lib/R/library/Rcpp/include/Rcpp.h:27,
                 from RcppPwiz.h:4:
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
pwiz/data/msdata/BinaryDataEncoder.hpp:87:40: error: ‘int64_t’ is not a member of ‘std’
   87 |     void encode(const std::vector<std::int64_t>& data, std::string& result, size_t* binaryByteCount = NULL) const;
      |                                        ^~~~~~~
pwiz/data/msdata/BinaryDataEncoder.hpp:87:40: note: suggested alternatives:
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
pwiz/data/msdata/BinaryDataEncoder.hpp:87:47: error: template argument 1 is invalid
   87 |     void encode(const std::vector<std::int64_t>& data, std::string& result, size_t* binaryByteCount = NULL) const;
      |                                               ^
pwiz/data/msdata/BinaryDataEncoder.hpp:87:47: error: template argument 2 is invalid
pwiz/data/msdata/BinaryDataEncoder.hpp:91:28: error: ‘int64_t’ in namespace ‘std’ does not name a type
   91 |     void encode(const std::int64_t* data, size_t dataSize, std::string& result, size_t* binaryByteCount = NULL) const;
      |                            ^~~~~~~
pwiz/data/msdata/BinaryDataEncoder.hpp:100:82: error: ‘int64_t’ is not a member of ‘std’
  100 |     void decode(const char *encodedData, size_t len, pwiz::util::BinaryData<std::int64_t>& result) const;
      |                                                                                  ^~~~~~~
pwiz/data/msdata/BinaryDataEncoder.hpp:100:82: note: suggested alternatives:
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
pwiz/data/msdata/BinaryDataEncoder.hpp:100:82: error: ‘int64_t’ is not a member of ‘std’
  100 |     void decode(const char *encodedData, size_t len, pwiz::util::BinaryData<std::int64_t>& result) const;
      |                                                                                  ^~~~~~~
pwiz/data/msdata/BinaryDataEncoder.hpp:100:82: note: suggested alternatives:
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
pwiz/data/msdata/BinaryDataEncoder.hpp:100:89: error: template argument 1 is invalid
  100 |     void decode(const char *encodedData, size_t len, pwiz::util::BinaryData<std::int64_t>& result) const;
      |                                                                                         ^
pwiz/data/msdata/BinaryDataEncoder.hpp:101:77: error: ‘int64_t’ is not a member of ‘std’
  101 |     void decode(const std::string& encodedData, pwiz::util::BinaryData<std::int64_t>& result) const
      |                                                                             ^~~~~~~
pwiz/data/msdata/BinaryDataEncoder.hpp:101:77: note: suggested alternatives:
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
pwiz/data/msdata/BinaryDataEncoder.hpp:101:77: error: ‘int64_t’ is not a member of ‘std’
  101 |     void decode(const std::string& encodedData, pwiz::util::BinaryData<std::int64_t>& result) const
      |                                                                             ^~~~~~~
pwiz/data/msdata/BinaryDataEncoder.hpp:101:77: note: suggested alternatives:
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/usr/include/bits/stdint-intn.h:27:19: note:   ‘int64_t’
pwiz/data/msdata/BinaryDataEncoder.hpp:101:84: error: template argument 1 is invalid
  101 |     void decode(const std::string& encodedData, pwiz::util::BinaryData<std::int64_t>& result) const
      |                                                                                    ^
make: *** [/usr/lib64/R/etc/Makeconf:200: RcppPwiz.o] Error 1
ERROR: compilation failed for package ‘mzR’
* removing ‘/usr/lib/R/library/mzR’
@sneumann
Copy link
Owner

Hi, thanks for reporting !
Can you provide a bit more reproducing information ?
Is there a docker container where we can use to reproduce ? I don't have a Manjaro handy.
What gcc/g++ is involved ? What CPU (Intel/AMD, or Mac M1 ?)
Yours,
Steffen

@sneumann
Copy link
Owner

Will most likely be fixed together with #284 Yours, Steffen

@sneumann
Copy link
Owner

Hi, seems there is already a fix in the devel version, can you head over to
#284 (comment)
and check this fixes your issue and report back ?
Yours,
Steffen

@robert-winkler
Copy link
Author

Fixed with #284 (comment)

Thanks! Robert

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants