Skip to content

[BUG] Update bundled eigen or allow to use system one #288

@barracuda156

Description

@barracuda156

Description

Bundled eigen3 breaks build on powerpc without VSX support:

Executing:  cd "/opt/local/var/macports/build/R-stochtree-7fc065f9/work/stochtree" && JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk8/Contents/Home DYLD_LIBRARY_PATH=/opt/local/lib/libgcc:$DYLD_LIBRARY_PATH /opt/local/bin/R CMD build . --no-manual --no-build-vignettes --keep-empty-dirs 
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘stochtree’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* running ‘cleanup’
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building ‘stochtree_0.3.0.tar.gz’

--->  Building R-stochtree
xinstall: mkdir /opt/local/var/macports/build/R-stochtree-7fc065f9/work/build
Executing:  cd "/opt/local/var/macports/build/R-stochtree-7fc065f9/work/stochtree" && JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk8/Contents/Home DYLD_LIBRARY_PATH=/opt/local/lib/libgcc:$DYLD_LIBRARY_PATH /opt/local/bin/R CMD INSTALL . --library=/opt/local/var/macports/build/R-stochtree-7fc065f9/work/build --install-tests 
* installing *source* package ‘stochtree’ ...
** this is package ‘stochtree’ version ‘0.3.0’
** package ‘stochtree’ successfully unpacked and MD5 sums checked
** using staged installation
checking location of R... /opt/local/Library/Frameworks/R.framework/Resources
checking whether OpenMP will work in a package... no
***********************************************************************************************
 OpenMP is unavailable on this macOS system. stochtree code will run single-threaded as a result.
 To use all CPU cores for training jobs, you should install OpenMP by running

     brew install libomp
***********************************************************************************************
configure: creating ./config.status
config.status: creating src/Makevars
** libs
using C++ compiler: ‘g++-mp-14 (MacOS PowerPC gcc14 14.3.0_0+G5+stdlib_flag) 14.3.0’
using C++17
Warning in system2("xcrun", "--show-sdk-version", TRUE, TRUE) :
  running command ''xcrun' --show-sdk-version 2>&1' had status 64
using SDK: ‘NA’
/opt/local/bin/g++-mp-14 -std=gnu++17 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I../src/include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DSTOCHTREE_R_BUILD -I'/opt/local/Library/Frameworks/R.framework/Versions/4.5/Resources/library/cpp11/include' -I'/opt/local/Library/Frameworks/R.framework/Versions/4.5/Resources/library/BH/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc   -c forest.cpp -o forest.o
In file included from ../src/include/Eigen/src/Core/util/ConfigureVectorization.h:381,
                 from ../src/include/Eigen/Core:22,
                 from ../src/include/Eigen/Dense:1,
                 from ../src/include/stochtree/data.h:8,
                 from ../src/include/stochtree/container.h:9,
                 from stochtree_types.h:1,
                 from forest.cpp:2:
../src/include/Eigen/src/Core/arch/AltiVec/PacketMath.h: In function 'Packet Eigen::internal::pcmp_le(const Packet&, const Packet&) [with Packet = __vector(4) int]':
../src/include/Eigen/src/Core/arch/AltiVec/PacketMath.h:892:123: error: '__builtin_vsx_cmpge_4si' requires the '-mvsx' option
  892 | template<> EIGEN_STRONG_INLINE Packet4i pcmp_le(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmple(a,b)); }
      |                                                                                                                           ^~~~~~~~~

This is a know bug which has been fixed in upstream. 3.4.1 and 5.x.x should work fine.

Reproducing

Run the build on a powerpc pre-ISA 2.06.

Expected behavior

The build should work.

System (please complete the following information):

  • OS: macOS 10.6.8 / ppc
  • Version: 0.3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions