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 failed #4

Open
slowkow opened this issue Oct 30, 2014 · 25 comments
Open

Compilation failed #4

slowkow opened this issue Oct 30, 2014 · 25 comments

Comments

@slowkow
Copy link

slowkow commented Oct 30, 2014

I tried to install the PEER R package and it failed to compile. The instructions are here.

I'm reporting the issue here because the PMBio/peer fork does not have issues enabled.

Notice:

./Eigen/src/Core/Transpositions.h:177:17: error: reference to non-static member function must be called

Full log:

R CMD INSTALL --no-multiarch R_peer_source_1.3.tgz
Bioconductor version 3.0 (BiocInstaller 1.16.0), ?biocLite for help
Loading required package: stats

Attaching package: ‘dplyr’

The following object is masked from ‘package:stats’:

    filter

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union

Warning message:
package ‘dplyr’ was built under R version 3.1.1
Loading required package: iterators
Loading required package: utils
Loading required package: parallel
Warning message:
package ‘Rcpp’ was built under R version 3.1.1

Attaching package: ‘inline’

The following object is masked from ‘package:Rcpp’:

    registerPlugin

* installing to library ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library’
* installing *source* package ‘peer’ ...
** libs
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c alglibinternal.cpp -o alglibinternal.o
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c alglibmisc.cpp -o alglibmisc.o
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c ap.cpp -o ap.o
ap.cpp:69:13: warning: unused variable '_ae_int32_t_must_be_32_bits_wide' [-Wunused-variable]
static char _ae_int32_t_must_be_32_bits_wide[1-2*((int)(sizeof(ae_int32_t))-4)*((int)(sizeof(ae_int32_t))-4)];
            ^
ap.cpp:70:13: warning: unused variable '_ae_int64_t_must_be_64_bits_wide' [-Wunused-variable]
static char _ae_int64_t_must_be_64_bits_wide[1-2*((int)(sizeof(ae_int64_t))-8)*((int)(sizeof(ae_int64_t))-8)];
            ^
ap.cpp:71:13: warning: unused variable '_ae_int_t_must_be_pointer_sized' [-Wunused-variable]
static char _ae_int_t_must_be_pointer_sized [1-2*((int)(sizeof(ae_int_t))-(int)sizeof(void*))*((int)(sizeof(ae_int_t))-(int)(sizeof(void*)))];
            ^
ap.cpp:6006:23: warning: unused variable 'alglib_half_r_block' [-Wunused-const-variable]
static const ae_int_t alglib_half_r_block   = alglib_r_block/2;
                      ^
ap.cpp:6007:23: warning: unused variable 'alglib_half_c_block' [-Wunused-const-variable]
static const ae_int_t alglib_half_c_block   = alglib_c_block/2;
                      ^
5 warnings generated.
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c array_helper.cpp -o array_helper.o
In file included from array_helper.cpp:10:
In file included from ./array_helper.h:13:
In file included from ./Eigen/Eigen:1:
In file included from ./Eigen/Dense:1:
In file included from ./Eigen/Core:293:
./Eigen/src/Core/Transpositions.h:177:17: error: reference to non-static member function must be called
      Index j = size-1;
                ^~~~
In file included from array_helper.cpp:10:
In file included from ./array_helper.h:13:
In file included from ./Eigen/Eigen:1:
In file included from ./Eigen/Dense:1:
In file included from ./Eigen/Core:308:
./Eigen/src/Core/products/GeneralBlockPanelKernel.h:131:5: warning: explicitly assigning a variable of type 'std::ptrdiff_t' (aka 'long') to itself [-Wself-assign]
  n = n;
  ~ ^ ~
./Eigen/src/Core/products/GeneralBlockPanelKernel.h:565:3: warning: unknown attribute 'flatten' ignored [-Wattributes]
  EIGEN_FLATTEN_ATTRIB
  ^
./Eigen/src/Core/util/Macros.h:164:45: note: expanded from macro 'EIGEN_FLATTEN_ATTRIB'
#define EIGEN_FLATTEN_ATTRIB __attribute__((flatten))
                                            ^
2 warnings and 1 error generated.
make: *** [array_helper.o] Error 1
ERROR: compilation failed for package ‘peer’
* removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/peer’
@kkdang
Copy link

kkdang commented Jan 28, 2015

Have you received any response on this? I am getting the same error.

@slowkow
Copy link
Author

slowkow commented Jan 28, 2015

@kkdang I have not received a response.

@kkdang
Copy link

kkdang commented Jan 29, 2015

@slowkow What compute platform did you try this on? I am on Mac OS 10.9.4. I will try one or more Linux distributions to see whether I get a different result.

@kkdang
Copy link

kkdang commented Jan 29, 2015

Compiled and loaded successfully on Linux 13.04, specifically the Bioconductor AMI. On OSX, didn't work even after installing PCRE, Swig, and Cmake and building from source.

@ostegle
Copy link
Collaborator

ostegle commented Jan 29, 2015

Hi everyone, apologies. I am surprised this thread is not here: https://github.com/PMBio/peer, which is the main repository.

We have heard this before. It looks like the compile error is cause by the clang compiler that is now shipped by default on OSX. We need to update the eigen library to make this work. I have not gotten round to do this yet. In the inters, just stick to GCC and you will be fine.

@meritxellop
Copy link

I am on Mac OS 10.10.4 (Yosemite). Although I use GCC to compile

cat $HOME/.R/Makevars
#CC=clang
#CXX=clang++
CC=gcc
CXX=g++

I have failed to compile peer. Find full log attached. Any ideas? Thanks!

R CMD INSTALL --no-multiarch R_peer_source_1.3.tgz *installing to library ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library’ *installing *source* package ‘peer’ ...
**libs
g++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c alglibinternal.cpp -o alglibinternal.o
g++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c alglibmisc.cpp -o alglibmisc.o
g++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c ap.cpp -o ap.o ap.cpp:69:13: warning: unused variable '_ae_int32_t_must_be_32_bits_wide' [-Wunused-variable] static char _ae_int32_t_must_be_32_bits_wide[1-2*((int)(sizeof(ae_int32_t))-4)*((int)(sizeof(ae_int32_t))-4)];
^
ap.cpp:70:13: warning: unused variable '_ae_int64_t_must_be_64_bits_wide' [-Wunused-variable] static char _ae_int64_t_must_be_64_bits_wide[1-2*((int)(sizeof(ae_int64_t))-8)*((int)(sizeof(ae_int64_t))-8)];
^
ap.cpp:71:13: warning: unused variable '_ae_int_t_must_be_pointer_sized' [-Wunused-variable] static char _ae_int_t_must_be_pointer_sized [1-2*((int)(sizeof(ae_int_t))-(int)sizeof(void*))*((int)(sizeof(ae_int_t))-(int)(sizeof(void*)))];
^
ap.cpp:6006:23: warning: unused variable 'alglib_half_r_block' [-Wunused-const-variable] static const ae_int_t alglib_half_r_block = alglib_r_block/2;
^
ap.cpp:6007:23: warning: unused variable 'alglib_half_c_block' [-Wunused-const-variable] static const ae_int_t alglib_half_c_block = alglib_c_block/2;
^
5 warnings generated.
g++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I ./ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c array_helper.cpp -o array_helper.o
In file included from array_helper.cpp:10:
In file included from ./array_helper.h:13:
In file included from ./Eigen/Eigen:1:
In file included from ./Eigen/Dense:1:
In file included from ./Eigen/Core:293:
./Eigen/src/Core/Transpositions.h:177:17: error: reference to non-static member function must be called Index j = size-1;
^~~~
In file included from array_helper.cpp:10:
In file included from ./array_helper.h:13:
In file included from ./Eigen/Eigen:1:
In file included from ./Eigen/Dense:1:
In file included from ./Eigen/Core:308:
./Eigen/src/Core/products/GeneralBlockPanelKernel.h:131:5: warning: explicitly assigning value of variable of type 'std::ptrdiff_t' (aka 'long') to itself [-Wself-assign]
n = n;
~ ^ ~
1 warning and 1 error generated.
make: *** [array_helper.o] Error 1
ERROR: compilation failed for package ‘peer’
*removing ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/peer’

@congel
Copy link

congel commented Nov 13, 2015

Hi @slowkow and @meritxellop - Were you able to resolve this issue? I encounter the same error and haven't found a solution yet.
@ostegle Do you have an update on when updates will be made so users can install PEER on OSX?

@markabney
Copy link

It's two years from the last comment, but with R 3.4, PEER is no longer available as an R package for Mac. To install from the source package you need to compile using GCC, but NOT the system GCC that comes with MacOS. Instead, install a GCC from either MacPorts or Homebrew and use that. Point the CC and CXX variables in .R/Makevars at the resultant gcc/g++ binaries and it should work.

Hopefully, this will help someone struggling with this problem who stumbles on this thread searching for an answer.

@mojaveazure
Copy link

Still isn't working. Using R 3.4.3 and GCC/G++ 7.3.0, both from Homebrew, installation still errors out.

$ cat ~/.R/Makevars
CC=/usr/local/bin/gcc-7
CXX=/usr/local/bin/g++-7
$ R CMD INSTALL --no-multiarch R_peer_source_1.3.tgz 
* installing to library ‘/Users/paul/R/Library’
* installing *source* package ‘peer’ ...
** libs
/usr/local/bin/g++-7 -I/usr/local/Cellar/r/3.4.3_1/lib/R/include -DNDEBUG -I ./  -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/include   -fPIC  -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include/darwin  -c alglibinternal.cpp -o alglibinternal.o
/usr/local/bin/g++-7 -I/usr/local/Cellar/r/3.4.3_1/lib/R/include -DNDEBUG -I ./  -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/include   -fPIC  -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include/darwin  -c alglibmisc.cpp -o alglibmisc.o
/usr/local/bin/g++-7 -I/usr/local/Cellar/r/3.4.3_1/lib/R/include -DNDEBUG -I ./  -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/include   -fPIC  -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include/darwin  -c ap.cpp -o ap.o
/usr/local/bin/g++-7 -I/usr/local/Cellar/r/3.4.3_1/lib/R/include -DNDEBUG -I ./  -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/include   -fPIC  -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include/darwin  -c array_helper.cpp -o array_helper.o
In file included from Eigen/Core:244:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/arch/SSE/PacketMath.h:40:42: warning: ignoring attributes on template argument '__m128 {aka __vector(4) float}' [-Wignored-attributes]
 template<> struct ei_is_arithmetic<__m128>  { enum { ret = true }; };
                                          ^
Eigen/src/Core/arch/SSE/PacketMath.h:41:43: warning: ignoring attributes on template argument '__m128i {aka __vector(2) long long int}' [-Wignored-attributes]
 template<> struct ei_is_arithmetic<__m128i> { enum { ret = true }; };
                                           ^
Eigen/src/Core/arch/SSE/PacketMath.h:42:43: warning: ignoring attributes on template argument '__m128d {aka __vector(2) double}' [-Wignored-attributes]
 template<> struct ei_is_arithmetic<__m128d> { enum { ret = true }; };
                                           ^
Eigen/src/Core/arch/SSE/PacketMath.h:107:46: warning: ignoring attributes on template argument 'Eigen::Packet4f {aka __vector(4) float}' [-Wignored-attributes]
 template<> struct ei_unpacket_traits<Packet4f> { typedef float  type; enum {size=4}; };
                                              ^
Eigen/src/Core/arch/SSE/PacketMath.h:108:46: warning: ignoring attributes on template argument 'Eigen::Packet2d {aka __vector(2) double}' [-Wignored-attributes]
 template<> struct ei_unpacket_traits<Packet2d> { typedef double type; enum {size=2}; };
                                              ^
Eigen/src/Core/arch/SSE/PacketMath.h:109:46: warning: ignoring attributes on template argument 'Eigen::Packet4i {aka __vector(2) long long int}' [-Wignored-attributes]
 template<> struct ei_unpacket_traits<Packet4i> { typedef int    type; enum {size=4}; };
                                              ^
In file included from Eigen/Core:244:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/arch/SSE/PacketMath.h:536:38: warning: ignoring attributes on template argument 'Eigen::Packet4f {aka __vector(4) float}' [-Wignored-attributes]
 struct ei_palign_impl<Offset,Packet4f>
                                      ^
Eigen/src/Core/arch/SSE/PacketMath.h:559:38: warning: ignoring attributes on template argument 'Eigen::Packet4i {aka __vector(2) long long int}' [-Wignored-attributes]
 struct ei_palign_impl<Offset,Packet4i>
                                      ^
Eigen/src/Core/arch/SSE/PacketMath.h:582:38: warning: ignoring attributes on template argument 'Eigen::Packet2d {aka __vector(2) double}' [-Wignored-attributes]
 struct ei_palign_impl<Offset,Packet2d>
                                      ^
In file included from Eigen/Core:246:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/arch/SSE/Complex.h:201:66: warning: ignoring attributes on template argument 'Eigen::Packet4f {aka __vector(4) float}' [-Wignored-attributes]
 template<> struct ei_conj_helper<Packet4f, Packet2cf, false,false>
                                                                  ^
Eigen/src/Core/arch/SSE/Complex.h:210:66: warning: ignoring attributes on template argument 'Eigen::Packet4f {aka __vector(4) float}' [-Wignored-attributes]
 template<> struct ei_conj_helper<Packet2cf, Packet4f, false,false>
                                                                  ^
Eigen/src/Core/arch/SSE/Complex.h:395:66: warning: ignoring attributes on template argument 'Eigen::Packet2d {aka __vector(2) double}' [-Wignored-attributes]
 template<> struct ei_conj_helper<Packet2d, Packet1cd, false,false>
                                                                  ^
Eigen/src/Core/arch/SSE/Complex.h:404:66: warning: ignoring attributes on template argument 'Eigen::Packet2d {aka __vector(2) double}' [-Wignored-attributes]
 template<> struct ei_conj_helper<Packet1cd, Packet2d, false,false>
                                                                  ^
In file included from Eigen/Core:257:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/Functors.h:798:31: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
 struct ei_functor_traits<std::binder2nd<T> >
                               ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/Core:257:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/Functors.h:802:31: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations]
 struct ei_functor_traits<std::binder1st<T> >
                               ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:108:11: note: declared here
     class binder1st
           ^~~~~~~~~
In file included from Eigen/src/Core/MatrixBase.h:147:0,
                 from Eigen/Core:260,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.h:77:32: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations]
 inline const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >,Derived>
                                ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:108:11: note: declared here
     class binder1st
           ^~~~~~~~~
In file included from Eigen/src/Core/MatrixBase.h:147:0,
                 from Eigen/Core:260,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder1st<std::equal_to<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::MatrixBase<Derived>::cwiseEqual(const Scalar&) const':
Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.h:80:28: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations]
   return CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >,Derived>
                            ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:108:11: note: declared here
     class binder1st
           ^~~~~~~~~
In file included from Eigen/Core:38:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/products/GeneralBlockPanelKernel.h: In member function 'void Eigen::ei_gebp_kernel<LhsScalar, RhsScalar, Index, mr, nr, ConjugateLhs, ConjugateRhs>::operator()(Eigen::ei_gebp_kernel<LhsScalar, RhsScalar, Index, mr, nr, ConjugateLhs, ConjugateRhs>::ResScalar*, Index, const LhsScalar*, const RhsScalar*, Index, Index, Index, Eigen::ei_gebp_kernel<LhsScalar, RhsScalar, Index, mr, nr, ConjugateLhs, ConjugateRhs>::ResScalar, Index, Index, Index, Index, RhsScalar*)':
Eigen/src/Core/util/Macros.h:209:35: error: unable to find string literal operator 'operator""X' with 'const char [2]', 'long unsigned int' arguments
 #define EIGEN_ASM_COMMENT(X)  asm("#"X)
                                   ^
Eigen/src/Core/products/GeneralBlockPanelKernel.h:630:1: note: in expansion of macro 'EIGEN_ASM_COMMENT'
 EIGEN_ASM_COMMENT("mybegin2");
 ^~~~~~~~~~~~~~~~~
Eigen/src/Core/util/Macros.h:209:35: error: unable to find string literal operator 'operator""X' with 'const char [2]', 'long unsigned int' arguments
 #define EIGEN_ASM_COMMENT(X)  asm("#"X)
                                   ^
Eigen/src/Core/products/GeneralBlockPanelKernel.h:666:1: note: in expansion of macro 'EIGEN_ASM_COMMENT'
 EIGEN_ASM_COMMENT("myend");
 ^~~~~~~~~~~~~~~~~
Eigen/src/Core/util/Macros.h:209:35: error: unable to find string literal operator 'operator""X' with 'const char [2]', 'long unsigned int' arguments
 #define EIGEN_ASM_COMMENT(X)  asm("#"X)
                                   ^
Eigen/src/Core/products/GeneralBlockPanelKernel.h:670:1: note: in expansion of macro 'EIGEN_ASM_COMMENT'
 EIGEN_ASM_COMMENT("mybegin4");
 ^~~~~~~~~~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:117:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.h: At global scope:
Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.h:77:32: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations]
 inline const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >,Derived>
                                ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:108:11: note: declared here
     class binder1st
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:151:34: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
   inline const CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                                  ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:157:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator==,  std::equal_to)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:151:34: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
   inline const CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                                  ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:158:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator!=,  std::not_equal_to)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:151:34: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
   inline const CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                                  ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:159:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator<,   std::less)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:151:34: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
   inline const CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                                  ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:160:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator<=,  std::less_equal)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:151:34: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
   inline const CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                                  ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:161:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator>,   std::greater)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:151:34: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
   inline const CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                                  ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:162:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator>=,  std::greater_equal)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:117:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder1st<std::equal_to<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::ArrayBase<Derived>::cwiseEqual(const Scalar&) const':
Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.h:80:28: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations]
   return CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >,Derived>
                            ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:108:11: note: declared here
     class binder1st
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder2nd<std::equal_to<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::ArrayBase<Derived>::operator==(const Scalar&) const':
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:153:30: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
     return CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                              ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:157:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator==,  std::equal_to)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder2nd<std::not_equal_to<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::ArrayBase<Derived>::operator!=(const Scalar&) const':
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:153:30: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
     return CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                              ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:158:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator!=,  std::not_equal_to)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder2nd<std::less<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::ArrayBase<Derived>::operator<(const Scalar&) const':
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:153:30: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
     return CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                              ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:159:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator<,   std::less)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder2nd<std::less_equal<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::ArrayBase<Derived>::operator<=(const Scalar&) const':
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:153:30: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
     return CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                              ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:160:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator<=,  std::less_equal)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder2nd<std::greater<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::ArrayBase<Derived>::operator>(const Scalar&) const':
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:153:30: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
     return CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                              ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:161:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator>,   std::greater)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/src/Core/ArrayBase.h:118:0,
                 from Eigen/Core:326,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder2nd<std::greater_equal<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::ArrayBase<Derived>::operator>=(const Scalar&) const':
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:153:30: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations]
     return CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >,Derived> \
                              ^
Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:162:1: note: in expansion of macro 'EIGEN_MAKE_SCALAR_CWISE_UNARY_OP'
 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator>=,  std::greater_equal)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:143:11: note: declared here
     class binder2nd
           ^~~~~~~~~
In file included from Eigen/Core:258:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/DenseCoeffsBase.h: In instantiation of 'class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, (Eigen::AccessorLevels)0>':
Eigen/src/Core/DenseCoeffsBase.h:264:7:   required from 'class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, (Eigen::AccessorLevels)1>'
Eigen/src/Core/DenseCoeffsBase.h:551:7:   required from 'class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, (Eigen::AccessorLevels)2>'
Eigen/src/Core/util/XprHelper.h:373:8:   required from 'struct Eigen::ei_special_scalar_op_base<Eigen::Matrix<float, 4, 1>, float, float, false>'
Eigen/src/Core/DenseBase.h:41:34:   required from 'class Eigen::DenseBase<Eigen::Matrix<float, 4, 1> >'
Eigen/src/Core/MatrixBase.h:58:34:   required from 'class Eigen::MatrixBase<Eigen::Matrix<float, 4, 1> >'
Eigen/src/Core/DenseStorageBase.h:43:7:   required from 'class Eigen::DenseStorageBase<Eigen::Matrix<float, 4, 1> >'
Eigen/src/Core/Matrix.h:133:7:   required from 'class Eigen::Matrix<float, 4, 1'
Eigen/src/Geometry/Quaternion.h:270:16:   required from 'class Eigen::Quaternion<float>'
Eigen/src/Geometry/arch/Geometry_SSE.h:33:3:   required from here
Eigen/src/Core/DenseCoeffsBase.h:51:94: warning: ignoring attributes on template argument 'Eigen::ei_packet_traits<float>::type {aka __vector(4) float}' [-Wignored-attributes]
     typedef typename ei_makeconst_return_type<typename ei_packet_traits<Scalar>::type>::type PacketReturnType;
                                                                                              ^~~~~~~~~~~~~~~~
In file included from Eigen/Core:259:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/DenseBase.h: In instantiation of 'class Eigen::DenseBase<Eigen::Matrix<float, 4, 1> >':
Eigen/src/Core/MatrixBase.h:58:34:   required from 'class Eigen::MatrixBase<Eigen::Matrix<float, 4, 1> >'
Eigen/src/Core/DenseStorageBase.h:43:7:   required from 'class Eigen::DenseStorageBase<Eigen::Matrix<float, 4, 1> >'
Eigen/src/Core/Matrix.h:133:7:   required from 'class Eigen::Matrix<float, 4, 1'
Eigen/src/Geometry/Quaternion.h:270:16:   required from 'class Eigen::Quaternion<float>'
Eigen/src/Geometry/arch/Geometry_SSE.h:33:3:   required from here
Eigen/src/Core/DenseBase.h:163:59: warning: enumeral mismatch in conditional expression: 'Eigen::ei_size_at_compile_time<4, 1>::<unnamed enum>' vs 'Eigen::ei_traits<Eigen::Matrix<float, 4, 1> >::<unnamed enum>' [-Wenum-compare]
       InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? SizeAtCompileTime
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
                              : int(IsRowMajor) ? ColsAtCompileTime : RowsAtCompileTime,
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from Eigen/Core:258:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/DenseCoeffsBase.h: In instantiation of 'class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, (Eigen::AccessorLevels)0>':
Eigen/src/Core/DenseCoeffsBase.h:264:7:   required from 'class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, (Eigen::AccessorLevels)1>'
Eigen/src/Core/DenseCoeffsBase.h:551:7:   required from 'class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, (Eigen::AccessorLevels)2>'
Eigen/src/Core/util/XprHelper.h:373:8:   required from 'struct Eigen::ei_special_scalar_op_base<Eigen::Matrix<double, 4, 1>, double, double, false>'
Eigen/src/Core/DenseBase.h:41:34:   required from 'class Eigen::DenseBase<Eigen::Matrix<double, 4, 1> >'
Eigen/src/Core/MatrixBase.h:58:34:   required from 'class Eigen::MatrixBase<Eigen::Matrix<double, 4, 1> >'
Eigen/src/Core/DenseStorageBase.h:43:7:   required from 'class Eigen::DenseStorageBase<Eigen::Matrix<double, 4, 1> >'
Eigen/src/Core/Matrix.h:133:7:   required from 'class Eigen::Matrix<double, 4, 1>'
Eigen/src/Geometry/Quaternion.h:270:16:   required from 'class Eigen::Quaternion<double>'
Eigen/src/Geometry/arch/Geometry_SSE.h:74:3:   required from here
Eigen/src/Core/DenseCoeffsBase.h:51:94: warning: ignoring attributes on template argument 'Eigen::ei_packet_traits<double>::type {aka __vector(2) double}' [-Wignored-attributes]
     typedef typename ei_makeconst_return_type<typename ei_packet_traits<Scalar>::type>::type PacketReturnType;
                                                                                              ^~~~~~~~~~~~~~~~
In file included from Eigen/Core:259:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/DenseBase.h: In instantiation of 'class Eigen::DenseBase<Eigen::Matrix<double, 4, 1> >':
Eigen/src/Core/MatrixBase.h:58:34:   required from 'class Eigen::MatrixBase<Eigen::Matrix<double, 4, 1> >'
Eigen/src/Core/DenseStorageBase.h:43:7:   required from 'class Eigen::DenseStorageBase<Eigen::Matrix<double, 4, 1> >'
Eigen/src/Core/Matrix.h:133:7:   required from 'class Eigen::Matrix<double, 4, 1>'
Eigen/src/Geometry/Quaternion.h:270:16:   required from 'class Eigen::Quaternion<double>'
Eigen/src/Geometry/arch/Geometry_SSE.h:74:3:   required from here
Eigen/src/Core/DenseBase.h:163:59: warning: enumeral mismatch in conditional expression: 'Eigen::ei_size_at_compile_time<4, 1>::<unnamed enum>' vs 'Eigen::ei_traits<Eigen::Matrix<double, 4, 1> >::<unnamed enum>' [-Wenum-compare]
       InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? SizeAtCompileTime
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
                              : int(IsRowMajor) ? ColsAtCompileTime : RowsAtCompileTime,
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from Eigen/src/Sparse/SparseMatrixBase.h:120:0,
                 from Eigen/Sparse:31,
                 from Eigen/Eigen:2,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Sparse/../plugins/MatrixCwiseUnaryOps.h: At global scope:
Eigen/src/Sparse/../plugins/MatrixCwiseUnaryOps.h:77:32: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations]
 inline const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >,Derived>
                                ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:108:11: note: declared here
     class binder1st
           ^~~~~~~~~
In file included from Eigen/src/Sparse/SparseMatrixBase.h:120:0,
                 from Eigen/Sparse:31,
                 from Eigen/Eigen:2,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Sparse/../plugins/MatrixCwiseUnaryOps.h: In member function 'const Eigen::CwiseUnaryOp<std::binder1st<std::equal_to<typename Eigen::ei_traits<Derived>::Scalar> >, Derived> Eigen::SparseMatrixBase<Derived>::cwiseEqual(const Scalar&) const':
Eigen/src/Sparse/../plugins/MatrixCwiseUnaryOps.h:80:28: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations]
   return CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >,Derived>
                            ^~~~~~~~~
In file included from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/stl_function.h:1127:0,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/string:48,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/locale_classes.h:40,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/bits/ios_base.h:41,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/ios:42,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/istream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/sstream:38,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/complex:45,
                 from Eigen/Core:154,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/backward/binders.h:108:11: note: declared here
     class binder1st
           ^~~~~~~~~
In file included from /usr/include/sys/cdefs.h:587:0,
                 from /usr/include/sys/_types.h:32,
                 from /usr/include/_types.h:27,
                 from /usr/include/stdlib.h:63,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/cstdlib:75,
                 from /usr/local/Cellar/gcc/7.3.0/include/c++/7.3.0/stdlib.h:36,
                 from /usr/local/Cellar/gcc/7.3.0/lib/gcc/7/gcc/x86_64-apple-darwin17.3.0/7.3.0/include/mm_malloc.h:27,
                 from /usr/local/Cellar/gcc/7.3.0/lib/gcc/7/gcc/x86_64-apple-darwin17.3.0/7.3.0/include/xmmintrin.h:34,
                 from /usr/local/Cellar/gcc/7.3.0/lib/gcc/7/gcc/x86_64-apple-darwin17.3.0/7.3.0/include/emmintrin.h:31,
                 from Eigen/Core:106,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
/usr/include/sys/syslog.h: At global scope:
/usr/include/sys/syslog.h:227:124: error: expected initializer before '__asm'
 void syslog(int, const char *, ...) __printflike(2, 3) __not_tail_called __DARWIN_ALIAS_STARTING(__MAC_10_13, __IPHONE_NA, __DARWIN_EXTSN(syslog));
                                                                                                                            ^
In file included from Eigen/Core:258:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/DenseCoeffsBase.h: In instantiation of 'class Eigen::DenseCoeffsBase<Eigen::Matrix<float, -1, -1>, (Eigen::AccessorLevels)0>':
Eigen/src/Core/DenseCoeffsBase.h:264:7:   required from 'class Eigen::DenseCoeffsBase<Eigen::Matrix<float, -1, -1>, (Eigen::AccessorLevels)1>'
Eigen/src/Core/DenseCoeffsBase.h:551:7:   required from 'class Eigen::DenseCoeffsBase<Eigen::Matrix<float, -1, -1>, (Eigen::AccessorLevels)2>'
Eigen/src/Core/util/XprHelper.h:373:8:   required from 'struct Eigen::ei_special_scalar_op_base<Eigen::Matrix<float, -1, -1>, float, float, false>'
Eigen/src/Core/DenseBase.h:41:34:   required from 'class Eigen::DenseBase<Eigen::Matrix<float, -1, -1> >'
Eigen/src/Core/MatrixBase.h:58:34:   required from 'class Eigen::MatrixBase<Eigen::Matrix<float, -1, -1> >'
Eigen/src/Core/DenseStorageBase.h:43:7:   required from 'class Eigen::DenseStorageBase<Eigen::Matrix<float, -1, -1> >'
Eigen/src/Core/Matrix.h:133:7:   required from 'class Eigen::Matrix<float, -1, -1>'
array_helper.cpp:53:18:   required from here
Eigen/src/Core/DenseCoeffsBase.h:51:94: warning: ignoring attributes on template argument 'Eigen::ei_packet_traits<float>::type {aka __vector(4) float}' [-Wignored-attributes]
     typedef typename ei_makeconst_return_type<typename ei_packet_traits<Scalar>::type>::type PacketReturnType;
                                                                                              ^~~~~~~~~~~~~~~~
In file included from Eigen/Core:259:0,
                 from Eigen/Dense:1,
                 from Eigen/Eigen:1,
                 from array_helper.h:13,
                 from array_helper.cpp:10:
Eigen/src/Core/DenseBase.h: In instantiation of 'class Eigen::DenseBase<Eigen::Matrix<float, -1, -1> >':
Eigen/src/Core/MatrixBase.h:58:34:   required from 'class Eigen::MatrixBase<Eigen::Matrix<float, -1, -1> >'
Eigen/src/Core/DenseStorageBase.h:43:7:   required from 'class Eigen::DenseStorageBase<Eigen::Matrix<float, -1, -1> >'
Eigen/src/Core/Matrix.h:133:7:   required from 'class Eigen::Matrix<float, -1, -1>'
array_helper.cpp:53:18:   required from here
Eigen/src/Core/DenseBase.h:163:59: warning: enumeral mismatch in conditional expression: 'Eigen::ei_size_at_compile_time<-1, -1>::<unnamed enum>' vs 'Eigen::ei_traits<Eigen::Matrix<float, -1, -1> >::<unnamed enum>' [-Wenum-compare]
       InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? SizeAtCompileTime
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
                              : int(IsRowMajor) ? ColsAtCompileTime : RowsAtCompileTime,
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [array_helper.o] Error 1
ERROR: compilation failed for package ‘peer’
* removing ‘/Users/paul/R/Library/peer’

Error line is /usr/include/sys/syslog.h:227:124: error: expected initializer before '__asm'

@drveera
Copy link

drveera commented Mar 22, 2018

have anyone installed PEER in mac successfully? It seems this is an issue for years and no one cared for it.

@markabney
Copy link

markabney commented Mar 23, 2018 via email

@jonocarroll
Copy link

Installing gcc49 from homebrew and pointing ~/.R/Makevars to it with

CC=/usr/local/Cellar/[email protected]/4.9.4/bin/gcc-4.9
CXX=/usr/local/Cellar/[email protected]/4.9.4/bin/gcc-4.9

seems to get tantalisingly close to success. The message at the end of a long stream of output is

/usr/local/Cellar/[email protected]/4.9.4/bin/gcc-4.9 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o peer.so alglibinternal.o alglibmisc.o ap.o array_helper.o bayesnet.o dataanalysis.o diffequations.o fasttransforms.o integration.o interpolation.o linalg.o optimization.o peerR_wrap.o sim.o solvers.o sparsefa.o specialfunctions.o statistics.o vbfa.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.4/Resources/library/peer/libs
** R
** preparing package for lazy loading
** help
Warning: /private/var/folders/7s/d2nrjvg10x76v0hyg1jx31_40000gn/T/RtmpO2pR3U/R.INSTALL334178d5ed9f/peer/man/peer-package.Rd:45: All text must be in a section
Warning: /private/var/folders/7s/d2nrjvg10x76v0hyg1jx31_40000gn/T/RtmpO2pR3U/R.INSTALL334178d5ed9f/peer/man/peer-package.Rd:97: All text must be in a section
Warning: /private/var/folders/7s/d2nrjvg10x76v0hyg1jx31_40000gn/T/RtmpO2pR3U/R.INSTALL334178d5ed9f/peer/man/peer-package.Rd:98: All text must be in a section
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error: package or namespace load failed for ‘peer’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/peer/libs/peer.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/peer/libs/peer.so, 6): Symbol not found: __ZNSs4_Rep20_S_empty_rep_storageE
  Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/peer/libs/peer.so
  Expected in: flat namespace
 in /Library/Frameworks/R.framework/Versions/3.4/Resources/library/peer/libs/peer.so
Error: loading failed
* DONE (peer)

and the namespace fails to load so functions fail.

Any help would be greatly appreciated. The PMBio repo is a fork and has Issues off, otherwise I'd raise this there.

@TzuTingWei
Copy link

Has anyone installed PEER successfully on Mac OS > 10.11 by now? I have tried nearly all the methods above but still, have the same compiling problem as the first post.

@rdona17
Copy link

rdona17 commented Oct 31, 2018

Has anyone installed PEER successfully on Mac OS > 10.11 by now? I have tried nearly all the methods above but still, have the same compiling problem as the first post.

Hi, I haven't been able to install PEER successfully, after trying for several months. It seems too outdated to use and the maintainers are not maintaining as updates in R have come out. The dependencies of the package are on older packages which makes it difficult to use. I think I will be trying to use SVA instead for my analysis.

@TzuTingWei
Copy link

Has anyone installed PEER successfully on Mac OS > 10.11 by now? I have tried nearly all the methods above but still, have the same compiling problem as the first post.

Hi, I haven't been able to install PEER successfully, after trying for several months. It seems too outdated to use and the maintainers are not maintaining as updates in R have come out. The dependencies of the package are on older packages which makes it difficult to use. I think I will be trying to use SVA instead for my analysis.

Yes, that's true. I just went for Linux system and used SVA on my Mac instead.

@bryancquach
Copy link

bryancquach commented Dec 7, 2018

I have not tried installing PEER on Mac OS, but I recently had success with installing both the Python and R PEER v1.3 packages within a Docker image using Ubuntu 18.04 as the base image. Despite being a different operating system, I had similar issues to the problems mentioned here. In my case, for the R package, the specific GCC compiler version used during install was important. GCC version 5.5.0 worked for me, but GCC 4.x and GCC >=6 did not. For those interested, see the Dockerfile here.

EDIT: Linked the Dockerfile instead of copying the code here.

@KatrionaGoldmann
Copy link

I was having the same problem but on my Linux machine. I just followed @bryancquach's Dockerfile instructions (lines 86-103) and made sure to use gcc-5 :

sudo update-alternatives --config gcc

select the option for gcc-5, then make peer!

@wbvguo
Copy link

wbvguo commented Feb 10, 2021

I followed @KatrionaGoldmann's advice and switched gcc and g++ to version 5 when building from source. Finally, I can get the Python version PEER installed, but not for the R version or Standalone tool. At least, it's better than nothing.

To change the default version of the gcc compilers:
https://askubuntu.com/questions/26498/how-to-choose-the-default-gcc-and-g-version

For the R version, one can probably try to use conda to install r-peer

@mtcarilli
Copy link

Did the version of Cmake make a difference? I am attempting to run a Dockerfile based on @bryancquach 's Dockerfile but running into the error:

CMakeFiles/Makefile2:195: recipe for target 'src/CMakeFiles/peerlib.dir/all' failed

Has anyone run into this?

@wangxinge
Copy link

change gcc version and add the Makevars file works for me to do it.
sudo apt install gcc-4.9
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc
mkdir ~/.R
cd ~/.R/
Create a file name Makevars
add the following lines inside the file,
CC = /usr/bin/gcc
CXX = /usr/bin/g++
and run
R CMD INSTALL --no-multiarch R_peer_source_1.3.tgz

@Charlie-KXLiu
Copy link

change gcc version and add the Makevars file works for me to do it. sudo apt install gcc-4.9 sudo rm /usr/bin/gcc sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc mkdir ~/.R cd ~/.R/ Create a file name Makevars add the following lines inside the file, CC = /usr/bin/gcc CXX = /usr/bin/g++ and run R CMD INSTALL --no-multiarch R_peer_source_1.3.tgz

@wangxinge I tried your method but it returned "no packages specified" for the last command

@jingydz
Copy link

jingydz commented May 18, 2023

Has anyone encountered this issue while installing peer software?

$ make
Consolidate compiler generated dependencies of target alglib
[ 56%] Built target alglib
Consolidate compiler generated dependencies of target csv_parser
[ 64%] Built target csv_parser
Consolidate compiler generated dependencies of target peerlib
[ 88%] Built target peerlib
[ 92%] Built target peer_swig_compilation
Consolidate compiler generated dependencies of target peer
[ 96%] Linking CXX shared module peer.so
Error copying file "/xxx/peer/peer-master/build/R/peerR_wrap.cxx" to "/xxx/peer/peer-master/build/R/peer/src/peerR_wrap.cpp".
make[2]: *** [R/peer.so] Error 1
make[2]: *** Deleting file `R/peer.so'
make[1]: *** [R/CMakeFiles/peer.dir/all] Error 2
make: *** [all] Error 2

@Charlie-KXLiu
Copy link

Has anyone encountered this issue while installing peer software?

$ make Consolidate compiler generated dependencies of target alglib [ 56%] Built target alglib Consolidate compiler generated dependencies of target csv_parser [ 64%] Built target csv_parser Consolidate compiler generated dependencies of target peerlib [ 88%] Built target peerlib [ 92%] Built target peer_swig_compilation Consolidate compiler generated dependencies of target peer [ 96%] Linking CXX shared module peer.so Error copying file "/xxx/peer/peer-master/build/R/peerR_wrap.cxx" to "/xxx/peer/peer-master/build/R/peer/src/peerR_wrap.cpp". make[2]: *** [R/peer.so] Error 1 make[2]: *** Deleting file `R/peer.so' make[1]: *** [R/CMakeFiles/peer.dir/all] Error 2 make: *** [all] Error 2

May I ask that you used the C Make method to install peer? I tried several methods but none worked /sigh

@jingydz
Copy link

jingydz commented May 18, 2023

yes, my R version is 4.0.3, my python version is 2.7.5, my cmake version is 3.20.4, my SWIG version is 2.0.10.
$ python
Python 2.7.5 (default, Oct 14 2020, 14:45:30)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import scipy
import numpy

$ cmake ./.. -Wno-dev
-- Looking for R executable
-- Looking for R_HOME
-- R_HOME is /usr/local/lib64/R
-- Looking for R include files
-- Include files should be at /usr/local/lib64/R/include. Checking for R.h
-- Found at /usr/local/lib64/R/include/R.h
-- Exists at /usr/local/lib64/R/lib/libR.so
-- Checking whether we should link against Rlapack library
-- Yes, /usr/local/lib64/R/lib/libRlapack.so exists
-- Checking whether we should link against Rblas library
-- Yes, /usr/local/lib64/R/lib/libRblas.so exists
-- Checking for R package library location to use
-- Will use /usr/local/lib64/R/library
-- Configuring done
-- Generating done
-- Build files have been written to: /xxx/peer/peer-master/build

@lessdata
Copy link

lessdata commented Mar 9, 2024

Workaround for Mac computers with Apple silicon (M1 chip, etc.)

This was tested in macOS Sonoma (v14.4) with an M1 chip.

Apple clang++ was utilized as the C++ compiler. Install clang if unavailable using the command xcode-select --install.

I skipped building the Python package and focused solely on compiling the R package. Native arm64 R app from https://cran.r-project.org/bin/macosx/ did not work. The PEER source package seems to be incompatible with the arm64 architecture. I used conda and installed an old R release, R-3.4.1. I guess most of the x86_64 R distributions should work.

1. Conda environment

conda create -n peer -c conda-forge
conda activate peer
CONDA_SUBDIR=osx-64 conda install r=3.4.1
CONDA_SUBDIR=osx-64 conda install cmake=3.14.5 swig=3.0.12

2. Clone the repo and edit the source

git clone https://github.com/PMBio/peer.git
cd peer
rm External/Eigen-3.1.0-alpha2/Eigen/Array

I edited one line in the R/CMakeLists.txt. Replace the line 40 in R/CMakeLists.txt (https://github.com/PMBio/peer/blob/master/R/CMakeLists.txt#L40) as below.
${PEER_SOURCE_DIR}/build/R/peerR_wrap.cxx
=>
${PEER_SOURCE_DIR}/build/R/CMakeFiles/peer.dir/peerR_wrap.cxx

3. Build the R package

Run the following cmake command. Update the file path to your own conda envs accordingly.

cmake \
-D CMAKE_OSX_ARCHITECTURES=x86_64 \
-D CMAKE_CXX_COMPILER=clang++ \
-D BUILD_PYTHON_PACKAGE=0 \
-D BUILD_R_PACKAGE=1 \
-D R_EXECUTABLE=${HOME}/Programs/miniconda3/envs/peer/bin/R \
-D R_HOME=${HOME}/Programs/miniconda3/envs/peer/lib/R \
-D CMAKE_INSTALL_PREFIX=${HOME}/Programs/peer/bin \
./..
make
make install

The installation process was successfully replicated by my colleague. The command rm External/Eigen-3.1.0-alpha2/Eigen/Array was not necessary, according to my colleague's experience.

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