* installing to library ‘/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages’
* installing *source* package ‘lightgbm’ ...
** package ‘lightgbm’ successfully unpacked and MD5 sums checked
** using staged installation
checking location of R... /home/hornik/tmp/R.check/r-patched-gcc/Work/build
checking whether MM_PREFETCH works... yes
checking whether MM_MALLOC works... yes
configure: creating ./config.status
config.status: creating src/Makevars
** libs
using C++ compiler: ‘g++-14 (Debian 14.2.0-8) 14.2.0’
using C++17
make[1]: Entering directory '/home/hornik/tmp/scratch/Rtmpr4roIw/R.INSTALL726b373bbcc7a/lightgbm/src'
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c boosting/boosting.cpp -o boosting/boosting.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c boosting/gbdt.cpp -o boosting/gbdt.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c boosting/gbdt_model_text.cpp -o boosting/gbdt_model_text.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c boosting/gbdt_prediction.cpp -o boosting/gbdt_prediction.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c boosting/prediction_early_stop.cpp -o boosting/prediction_early_stop.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c boosting/sample_strategy.cpp -o boosting/sample_strategy.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/bin.cpp -o io/bin.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/config.cpp -o io/config.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/config_auto.cpp -o io/config_auto.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/dataset.cpp -o io/dataset.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/dataset_loader.cpp -o io/dataset_loader.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/file_io.cpp -o io/file_io.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/json11.cpp -o io/json11.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/metadata.cpp -o io/metadata.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/parser.cpp -o io/parser.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/train_share_states.cpp -o io/train_share_states.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c io/tree.cpp -o io/tree.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c metric/dcg_calculator.cpp -o metric/dcg_calculator.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c metric/metric.cpp -o metric/metric.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c objective/objective_function.cpp -o objective/objective_function.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c network/linker_topo.cpp -o network/linker_topo.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c network/linkers_mpi.cpp -o network/linkers_mpi.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c network/linkers_socket.cpp -o network/linkers_socket.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c network/network.cpp -o network/network.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/data_parallel_tree_learner.cpp -o treelearner/data_parallel_tree_learner.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/feature_histogram.cpp -o treelearner/feature_histogram.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/feature_parallel_tree_learner.cpp -o treelearner/feature_parallel_tree_learner.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/gpu_tree_learner.cpp -o treelearner/gpu_tree_learner.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/gradient_discretizer.cpp -o treelearner/gradient_discretizer.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/linear_tree_learner.cpp -o treelearner/linear_tree_learner.o
In file included from ./include/Eigen/Core:205,
                 from ./include/Eigen/Dense:1,
                 from treelearner/linear_tree_learner.cpp:7:
./include/Eigen/src/Core/arch/SSE/PacketMath.h:46:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   46 | typedef eigen_packet_wrapper<__m128i, 0> Packet4i;
      |                                        ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:47:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   47 | typedef eigen_packet_wrapper<__m128i, 1> Packet16b;
      |                                        ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:49:39: warning: ignoring attributes on template argument ‘__m128’ [-Wignored-attributes]
   49 | template<> struct is_arithmetic<__m128>  { enum { value = true }; };
      |                                       ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:50:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   50 | template<> struct is_arithmetic<__m128i> { enum { value = true }; };
      |                                        ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:51:40: warning: ignoring attributes on template argument ‘__m128d’ [-Wignored-attributes]
   51 | template<> struct is_arithmetic<__m128d> { enum { value = true }; };
      |                                        ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:222:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
  222 | template<> struct unpacket_traits<Packet4f> {
      |                                           ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:228:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
  228 | template<> struct unpacket_traits<Packet2d> {
      |                                           ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:1124:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
 1124 | ptranspose(PacketBlock<Packet4f,4>& kernel) {
      |                                  ^
./include/Eigen/src/Core/arch/SSE/PacketMath.h:1129:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
 1129 | ptranspose(PacketBlock<Packet2d,2>& kernel) {
      |                                  ^
In file included from ./include/Eigen/Core:174:
./include/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
./include/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
./include/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
./include/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
./include/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/Eigen/Core:165:
./include/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<float, 4>’:
./include/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<float, 4, 1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
./include/Eigen/src/Geometry/Quaternion.h:266:49:   required from ‘struct Eigen::internal::traits<Eigen::Quaternion<float> >’
  266 |     Alignment = internal::traits<Coefficients>::Alignment,
      |                                                 ^~~~~~~~~
./include/Eigen/src/Geometry/arch/Geometry_SIMD.h:24:46:   required from here
   24 |     ResAlignment = traits<Quaternion<float> >::Alignment
      |                                              ^~
./include/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type’ {aka ‘__m128’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type’ {aka ‘__m128’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type’ {aka ‘__m128’} [-Wignored-attributes]
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(4) float>::half’ {aka ‘__m128’} [-Wignored-attributes]
./include/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type’ {aka ‘__m128’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
In file included from ./include/Eigen/Core:271:
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<float, 4, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<float, 4, 1> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<float, 4, 1>’
  178 | class Matrix
      |       ^~~~~~
./include/Eigen/src/Geometry/Quaternion.h:46:50:   required from ‘class Eigen::QuaternionBase<Eigen::Quaternion<float> >’
   46 |   typedef typename Coefficients::CoeffReturnType CoeffReturnType;
      |                                                  ^~~~~~~~~~~~~~~
./include/Eigen/src/Geometry/Quaternion.h:273:7:   required from ‘class Eigen::Quaternion<float>’
  273 | class Quaternion : public QuaternionBase<Quaternion<_Scalar,_Options> >
      |       ^~~~~~~~~~
./include/Eigen/src/Geometry/arch/Geometry_SIMD.h:27:3:   required from here
   27 |   {
      |   ^
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type’ {aka ‘__m128’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, 4>’:
./include/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, 4, 1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
./include/Eigen/src/Geometry/Quaternion.h:266:49:   required from ‘struct Eigen::internal::traits<Eigen::Quaternion<double> >’
  266 |     Alignment = internal::traits<Coefficients>::Alignment,
      |                                                 ^~~~~~~~~
./include/Eigen/src/Geometry/arch/Geometry_SIMD.h:98:47:   required from here
   98 |     ResAlignment = traits<Quaternion<double> >::Alignment
      |                                               ^~
./include/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, 4, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, 4, 1> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, 4, 1>’
  178 | class Matrix
      |       ^~~~~~
./include/Eigen/src/Geometry/Quaternion.h:46:50:   required from ‘class Eigen::QuaternionBase<Eigen::Quaternion<double> >’
   46 |   typedef typename Coefficients::CoeffReturnType CoeffReturnType;
      |                                                  ^~~~~~~~~~~~~~~
./include/Eigen/src/Geometry/Quaternion.h:273:7:   required from ‘class Eigen::Quaternion<double>’
  273 | class Quaternion : public QuaternionBase<Quaternion<_Scalar,_Options> >
      |       ^~~~~~~~~~
./include/Eigen/src/Geometry/arch/Geometry_SIMD.h:102:3:   required from here
  102 |   {
      |   ^
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, -1>’:
./include/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, -1, -1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, -1, -1>’
  178 | class Matrix
      |       ^~~~~~
treelearner/linear_tree_learner.cpp:340:17:   required from here
  340 |         XTHX_mat(feat1, feat2) = XTHX_[leaf_num][j];
      |         ~~~~~~~~^~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, -1>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, -1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, -1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, -1, -1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, -1, -1> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, -1, -1>’
  178 | class Matrix
      |       ^~~~~~
treelearner/linear_tree_learner.cpp:340:17:   required from here
  340 |         XTHX_mat(feat1, feat2) = XTHX_[leaf_num][j];
      |         ~~~~~~~~^~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Inverse.h:68:7:   required from ‘class Eigen::InverseImpl<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >, Eigen::SolverStorage>’
   68 | class InverseImpl
      |       ^~~~~~~~~~~
./include/Eigen/src/Core/Inverse.h:43:7:   required from ‘class Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >’
   43 | class Inverse : public InverseImpl<XprType,typename internal::traits<XprType>::StorageKind>
      |       ^~~~~~~
treelearner/linear_tree_learner.cpp:349:61:   required from here
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                                             ^
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseUnaryOp.h:94:7:   required from ‘class Eigen::CwiseUnaryOpImpl<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Dense>’
   94 | class CwiseUnaryOpImpl
      |       ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseUnaryOp.h:55:7:   required from ‘class Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >’
   55 | class CwiseUnaryOp : public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>, internal::no_assignment_operator
      |       ^~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:65:   required from here
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                                                 ^~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0, 8>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
treelearner/linear_tree_learner.cpp:349:63:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseUnaryOp.h:94:7:   required from ‘class Eigen::CwiseUnaryOpImpl<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1>, Eigen::Dense>’
   94 | class CwiseUnaryOpImpl
      |       ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseUnaryOp.h:55:7:   required from ‘class Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >’
   55 | class CwiseUnaryOp : public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>, internal::no_assignment_operator
      |       ^~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:495:28:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  495 |   m_l1_norm = m_lu.cwiseAbs().colwise().sum().maxCoeff();
      |               ~~~~~~~~~~~~~^~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::PartialReduxExpr<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, Eigen::internal::member_sum<double, double>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::PartialReduxExpr<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, Eigen::internal::member_sum<double, double>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::PartialReduxExpr<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, Eigen::internal::member_sum<double, double>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/VectorwiseOp.h:56:7:   required from ‘class Eigen::PartialReduxExpr<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, Eigen::internal::member_sum<double, double>, 0>’
   56 | class PartialReduxExpr : public internal::dense_xpr_base< PartialReduxExpr<MatrixType, MemberOp, Direction> >::type,
      |       ^~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:495:44:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  495 |   m_l1_norm = m_lu.cwiseAbs().colwise().sum().maxCoeff();
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:519:47:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  519 |     biggest_in_corner = m_lu.bottomRightCorner(rows-k, cols-k)
      |                         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseUnaryOp.h:94:7:   required from ‘class Eigen::CwiseUnaryOpImpl<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Dense>’
   94 | class CwiseUnaryOpImpl
      |       ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseUnaryOp.h:55:7:   required from ‘class Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >’
   55 | class CwiseUnaryOp : public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>, internal::no_assignment_operator
      |       ^~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:520:35:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  519 |     biggest_in_corner = m_lu.bottomRightCorner(rows-k, cols-k)
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  520 |                         .unaryExpr(Scoring())
      |                         ~~~~~~~~~~^~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:547:15:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  547 |       m_lu.row(k).swap(m_lu.row(row_of_biggest_in_corner));
      |       ~~~~~~~~^~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:551:15:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  551 |       m_lu.col(k).swap(m_lu.col(col_of_biggest_in_corner));
      |       ~~~~~~~~^~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:559:23:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  559 |       m_lu.col(k).tail(rows-k-1) /= m_lu.coeff(k,k);
      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:561:103:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  561 |       m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
      |                                                                                       ~~~~~~~~~~~~~~~~^~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0, 5>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/LU/FullPivLU.h:561:85:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  561 |       m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
      |                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, -1, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, -1, 1> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Matrix.h:178:7:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:559:34:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  559 |       m_lu.col(k).tail(rows-k-1) /= m_lu.coeff(k,k);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:60:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> >’
   60 | class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/SelfCwiseBinaryOp.h:41:67:   required from ‘Derived& Eigen::DenseBase<Derived>::operator/=(const Scalar&) [with Derived = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Scalar = double]’
   41 |   internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::div_assign_op<Scalar,Scalar>());
      |                                              ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:559:34:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  559 |       m_lu.col(k).tail(rows-k-1) /= m_lu.coeff(k,k);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
In file included from ./include/Eigen/Core:277:
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:564:45:   required from ‘struct Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >, Eigen::internal::IndexBased, double>’
  564 |     CoeffReadCost = int(evaluator<ArgType>::CoeffReadCost) + int(functor_traits<UnaryOp>::Cost),
      |                                             ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:90:8:   required from ‘struct Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> > >’
   90 | struct evaluator : public unary_evaluator<T>
      |        ^~~~~~~~~
./include/Eigen/src/Core/Visitor.h:79:51:   required from ‘class Eigen::internal::visitor_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> > >’
   79 |     CoeffReadCost = internal::evaluator<XprType>::CoeffReadCost
      |                                                   ^~~~~~~~~~~~~
./include/Eigen/src/Core/Visitor.h:123:17:   required from ‘void Eigen::DenseBase<Derived>::visit(Visitor&) const [with Visitor = Eigen::internal::max_coeff_visitor<Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >, 0>; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_score_coeff_op<double>, const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >]’
  123 |   ThisEvaluator thisEval(derived());
      |                 ^~~~~~~~
./include/Eigen/src/Core/Visitor.h:348:14:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:521:34:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  519 |     biggest_in_corner = m_lu.bottomRightCorner(rows-k, cols-k)
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  520 |                         .unaryExpr(Scoring())
      |                         ~~~~~~~~~~~~~~~~~~~~~
  521 |                         .maxCoeff(&row_of_biggest_in_corner, &col_of_biggest_in_corner);
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0, 7>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:345:45:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Matrix<double, -1, -1>, -1, 1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:372:102:   required from ‘struct Eigen::internal::plain_object_eval<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, Eigen::Dense>’
  372 |   typedef typename plain_matrix_type_dense<T,typename traits<T>::XprKind, evaluator<T>::Flags>::type type;
      |                                                                                                      ^~~~
./include/Eigen/src/Core/ProductEvaluators.h:370:45:   required from ‘struct Eigen::internal::generic_product_impl<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, Eigen::DenseShape, Eigen::DenseShape, 7>’
  370 |   typedef typename nested_eval<Rhs,1>::type RhsNested;
      |                                             ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:479:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  478 |       return internal::generic_product_impl<Lhs,typename Rhs::ConstColXpr,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  479 |         ::scaleAndAddTo(dst_vec, a_lhs, a_rhs.col(0), alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Matrix<double, -1, -1>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Matrix<double, -1, -1>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Matrix<double, -1, -1>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Matrix<double, -1, -1>, 0, 7>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Matrix<double, -1, -1>, 0, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Matrix<double, -1, -1>, 0>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:345:45:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Block.h:172:103:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false, false>’
  172 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, bool HasDirectAccess> class BlockImpl_dense
      |                                                                                                       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   required from ‘class Eigen::BlockImpl<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false, Eigen::Dense>’
  154 | class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:103:81:   required from ‘class Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>’
  103 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
      |                                                                                 ^~~~~
./include/Eigen/src/Core/Product.h:113:15:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:372:102:   required from ‘struct Eigen::internal::plain_object_eval<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Dense>’
  372 |   typedef typename plain_matrix_type_dense<T,typename traits<T>::XprKind, evaluator<T>::Flags>::type type;
      |                                                                                                      ^~~~
./include/Eigen/src/Core/ProductEvaluators.h:369:45:   required from ‘struct Eigen::internal::generic_product_impl<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Matrix<double, -1, -1>, Eigen::DenseShape, Eigen::DenseShape, 7>’
  369 |   typedef typename nested_eval<Lhs,1>::type LhsNested;
      |                                             ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:486:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  485 |       return internal::generic_product_impl<typename Lhs::ConstRowXpr,Rhs,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  486 |         ::scaleAndAddTo(dst_vec, a_lhs.row(0), a_rhs, alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1, 8>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:469:72:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:60:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >’
   60 | class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:38:28:   required from ‘struct Eigen::internal::traits<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, const Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1> > >’
   38 |                    >::type Scalar;
      |                            ^~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, const Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, const Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, const Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, const Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, const Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, -1> >, const Eigen::Product<Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >, Eigen::Matrix<double, -1, -1>, 1> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:469:55:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 3>::eval_dynamic_impl(Dst&, const LhsT&, const RhsT&, const Func&, const Scalar&, Eigen::internal::true_type) [with Dst = Eigen::Matrix<double, -1, -1>; LhsT = Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >; RhsT = Eigen::Matrix<double, -1, -1>; Func = Eigen::internal::assign_op<double, double>; Scalar = double; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>]’
  469 |     call_restricted_packet_assignment_no_alias(dst, s * lhs.lazyProduct(rhs), func);
      |                                                     ~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:446:22:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, -1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, -1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, -1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:60:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, -1> >’
   60 | class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:347:30:   required from ‘Derived& Eigen::DenseBase<Derived>::setConstant(const Scalar&) [with Derived = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  347 |   return derived() = Constant(rows(), cols(), val);
      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:548:10:   required from ‘Derived& Eigen::DenseBase<Derived>::setZero() [with Derived = Eigen::Matrix<double, -1, -1>]’
  548 |   return setConstant(Scalar(0));
      |          ^~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:444:18:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Block.h:172:103:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true, false>’
  172 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, bool HasDirectAccess> class BlockImpl_dense
      |                                                                                                       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   required from ‘class Eigen::BlockImpl<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true, Eigen::Dense>’
  154 | class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:103:81:   required from ‘class Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true>’
  103 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
      |                                                                                 ^~~~~
./include/Eigen/src/Core/ProductEvaluators.h:380:43:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 1, -1>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 1, -1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 1, -1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, 1, -1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, 1, -1> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, 1, -1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Matrix.h:178:7:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >’:
./include/Eigen/src/Core/AssignEvaluator.h:774:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; SrcXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Functor = swap_assign_op<double>]’
  774 |   SrcEvaluatorType srcEvaluator(src);
      |                    ^~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; SrcXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Functor = Eigen::internal::swap_assign_op<double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Src = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Func = swap_assign_op<double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Src = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Func = swap_assign_op<double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:424:22:   required from ‘void Eigen::DenseBase<Derived>::swap(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Derived = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>]’
  424 |       call_assignment(derived(), other.const_cast_derived(), internal::swap_assign_op<Scalar>());
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:547:23:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  547 |       m_lu.row(k).swap(m_lu.row(row_of_biggest_in_corner));
      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true> >’:
./include/Eigen/src/Core/AssignEvaluator.h:774:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; SrcXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Functor = swap_assign_op<double>]’
  774 |   SrcEvaluatorType srcEvaluator(src);
      |                    ^~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; SrcXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Functor = Eigen::internal::swap_assign_op<double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Src = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Func = swap_assign_op<double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Src = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Func = swap_assign_op<double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:424:22:   required from ‘void Eigen::DenseBase<Derived>::swap(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Derived = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>]’
  424 |       call_assignment(derived(), other.const_cast_derived(), internal::swap_assign_op<Scalar>());
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:551:23:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  551 |       m_lu.col(k).swap(m_lu.col(col_of_biggest_in_corner));
      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >’:
./include/Eigen/src/Core/AssignEvaluator.h:780:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; SrcXprType = Eigen::CwiseNullaryOp<scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> >; Functor = div_assign_op<double, double>]’
  780 |   DstEvaluatorType dstEvaluator(dst);
      |                    ^~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; SrcXprType = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> >; Functor = Eigen::internal::div_assign_op<double, double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Src = Eigen::CwiseNullaryOp<scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> >; Func = div_assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Src = Eigen::CwiseNullaryOp<scalar_constant_op<double>, Eigen::Matrix<double, -1, 1> >; Func = div_assign_op<double, double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/SelfCwiseBinaryOp.h:41:28:   required from ‘Derived& Eigen::DenseBase<Derived>::operator/=(const Scalar&) [with Derived = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Scalar = double]’
   41 |   internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::div_assign_op<Scalar,Scalar>());
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:559:34:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  559 |       m_lu.col(k).tail(rows-k-1) /= m_lu.coeff(k,k);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false> >’:
./include/Eigen/src/Core/ProductEvaluators.h:274:18:   required from ‘void Eigen::internal::outer_product_selector_run(Dst&, const Lhs&, const Rhs&, const Func&, const false_type&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Lhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Rhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>; Func = generic_product_impl<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, Eigen::DenseShape, Eigen::DenseShape, 5>::sub]’
  274 |   evaluator<Rhs> rhsEval(rhs);
      |                  ^~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:329:41:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 5>::subTo(Dst&, const Lhs&, const Rhs&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Lhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Rhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>]’
  329 |     internal::outer_product_selector_run(dst, lhs, rhs, sub(), is_row_major<Dst>());
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:178:42:   required from ‘static void Eigen::internal::Assignment<DstXprType, Eigen::Product<Lhs, Rhs, Options>, Eigen::internal::sub_assign_op<Scalar, Scalar>, Eigen::internal::Dense2Dense, typename Eigen::internal::enable_if<((Options == Eigen::DefaultProduct) || (Options == Eigen::AliasFreeProduct))>::type>::run(DstXprType&, const SrcXprType&, const Eigen::internal::sub_assign_op<Scalar, Scalar>&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Lhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Rhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>; int Options = 0; Scalar = double; SrcXprType = Eigen::Product<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0>]’
  178 |     generic_product_impl<Lhs, Rhs>::subTo(dst, src.lhs(), src.rhs());
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Src = Eigen::Product<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0>; Func = sub_assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/NoAlias.h:59:31:   required from ‘ExpressionType& Eigen::NoAlias<ExpressionType, StorageBase>::operator-=(const StorageBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, 0>; ExpressionType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; StorageBase = Eigen::MatrixBase]’
   59 |       call_assignment_no_alias(m_expression, other.derived(), internal::sub_assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:561:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  561 |       m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:561:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  561 |       m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:60:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >’
   60 | class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:38:28:   required from ‘struct Eigen::internal::traits<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> > >’
   38 |                    >::type Scalar;
      |                            ^~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:561:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  561 |       m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:280:48:   required from ‘void Eigen::internal::outer_product_selector_run(Dst&, const Lhs&, const Rhs&, const Func&, const false_type&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Lhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>; Rhs = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>; Func = generic_product_impl<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, 1, -1, false>, Eigen::DenseShape, Eigen::DenseShape, 5>::sub]’
  280 |     func(dst.col(j), rhsEval.coeff(Index(0),j) * actual_lhs);
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:329:41:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:561:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  561 |       m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
In file included from ./include/Eigen/Core:333:
./include/Eigen/src/Core/products/GeneralMatrixVector.h: In instantiation of ‘class Eigen::internal::gemv_traits<double, double, 0>’:
./include/Eigen/src/Core/products/GeneralMatrixVector.h:87:38:   required from ‘struct Eigen::internal::general_matrix_vector_product<long int, double, Eigen::internal::const_blas_data_mapper<double, long int, 0>, 0, false, double, Eigen::internal::const_blas_data_mapper<double, long int, 1>, false, 0>’
   87 |   typedef typename Traits::LhsPacket LhsPacket;
      |                                      ^~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:253:134:   required from ‘static void Eigen::internal::gemv_dense_selector<2, 0, true>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; Dest = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; typename Dest::Scalar = double]’
  252 |       general_matrix_vector_product
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                   
  253 |           <Index,LhsScalar,LhsMapper,ColMajor,LhsBlasTraits::NeedToConjugate,RhsScalar,RhsMapper,RhsBlasTraits::NeedToConjugate>::run(
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  254 |           actualLhs.rows(), actualLhs.cols(),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                         
  255 |           LhsMapper(actualLhs.data(), actualLhs.outerStride()),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                       
  256 |           RhsMapper(actualRhs.data(), actualRhs.innerStride()),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                       
  257 |           dest.data(), 1,
      |           ~~~~~~~~~~~~~~~                                                                                                             
  258 |           compatibleAlpha);
      |           ~~~~~~~~~~~~~~~~                                                                                                            
./include/Eigen/src/Core/ProductEvaluators.h:388:34:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 7>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; Scalar = double]’
  385 |     internal::gemv_dense_selector<Side,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  386 |                             (int(MatrixType::Flags)&RowMajorBit) ? RowMajor : ColMajor,
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  387 |                             bool(internal::blas_traits<MatrixType>::HasUsableDirectAccess)
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  388 |                            >::run(actual_lhs, actual_rhs, dst, alpha);
      |                            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:479:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  478 |       return internal::generic_product_impl<Lhs,typename Rhs::ConstColXpr,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  479 |         ::scaleAndAddTo(dst_vec, a_lhs, a_rhs.col(0), alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   51 |         Vectorizable = unpacket_traits<_LhsPacket>::vectorizable &&
      |                                                     ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   52 |         unpacket_traits<_RhsPacket>::vectorizable &&
      |                                      ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   53 |         int(unpacket_traits<_LhsPacket>::size)==int(unpacket_traits<_RhsPacket>::size),
      |                                          ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   53 |         int(unpacket_traits<_LhsPacket>::size)==int(unpacket_traits<_RhsPacket>::size),
      |                                                                                  ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   54 |         LhsPacketSize = Vectorizable ? unpacket_traits<_LhsPacket>::size : 1,
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   55 |         RhsPacketSize = Vectorizable ? unpacket_traits<_RhsPacket>::size : 1,
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |         ResPacketSize = Vectorizable ? unpacket_traits<_ResPacket>::size : 1
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   59 |   typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   60 |   typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   61 |   typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h: In instantiation of ‘class Eigen::internal::gemv_traits<double, double, 1>’:
./include/Eigen/src/Core/products/GeneralMatrixVector.h:91:42:   required from ‘struct Eigen::internal::general_matrix_vector_product<long int, double, Eigen::internal::const_blas_data_mapper<double, long int, 0>, 0, false, double, Eigen::internal::const_blas_data_mapper<double, long int, 1>, false, 0>’
   91 |   typedef typename HalfTraits::LhsPacket LhsPacketHalf;
      |                                          ^~~~~~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:253:134:   required from ‘static void Eigen::internal::gemv_dense_selector<2, 0, true>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; Dest = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; typename Dest::Scalar = double]’
  252 |       general_matrix_vector_product
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                   
  253 |           <Index,LhsScalar,LhsMapper,ColMajor,LhsBlasTraits::NeedToConjugate,RhsScalar,RhsMapper,RhsBlasTraits::NeedToConjugate>::run(
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  254 |           actualLhs.rows(), actualLhs.cols(),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                         
  255 |           LhsMapper(actualLhs.data(), actualLhs.outerStride()),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                       
  256 |           RhsMapper(actualRhs.data(), actualRhs.innerStride()),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                       
  257 |           dest.data(), 1,
      |           ~~~~~~~~~~~~~~~                                                                                                             
  258 |           compatibleAlpha);
      |           ~~~~~~~~~~~~~~~~                                                                                                            
./include/Eigen/src/Core/ProductEvaluators.h:388:34:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 7>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; Scalar = double]’
  385 |     internal::gemv_dense_selector<Side,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  386 |                             (int(MatrixType::Flags)&RowMajorBit) ? RowMajor : ColMajor,
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  387 |                             bool(internal::blas_traits<MatrixType>::HasUsableDirectAccess)
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  388 |                            >::run(actual_lhs, actual_rhs, dst, alpha);
      |                            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:479:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  478 |       return internal::generic_product_impl<Lhs,typename Rhs::ConstColXpr,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  479 |         ::scaleAndAddTo(dst_vec, a_lhs, a_rhs.col(0), alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   51 |         Vectorizable = unpacket_traits<_LhsPacket>::vectorizable &&
      |                                                     ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   52 |         unpacket_traits<_RhsPacket>::vectorizable &&
      |                                      ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   53 |         int(unpacket_traits<_LhsPacket>::size)==int(unpacket_traits<_RhsPacket>::size),
      |                                          ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   53 |         int(unpacket_traits<_LhsPacket>::size)==int(unpacket_traits<_RhsPacket>::size),
      |                                                                                  ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   54 |         LhsPacketSize = Vectorizable ? unpacket_traits<_LhsPacket>::size : 1,
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   55 |         RhsPacketSize = Vectorizable ? unpacket_traits<_RhsPacket>::size : 1,
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |         ResPacketSize = Vectorizable ? unpacket_traits<_ResPacket>::size : 1
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   59 |   typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   60 |   typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   61 |   typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h: In instantiation of ‘class Eigen::internal::gemv_traits<double, double, 2>’:
./include/Eigen/src/Core/products/GeneralMatrixVector.h:95:45:   required from ‘struct Eigen::internal::general_matrix_vector_product<long int, double, Eigen::internal::const_blas_data_mapper<double, long int, 0>, 0, false, double, Eigen::internal::const_blas_data_mapper<double, long int, 1>, false, 0>’
   95 |   typedef typename QuarterTraits::LhsPacket LhsPacketQuarter;
      |                                             ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:253:134:   required from ‘static void Eigen::internal::gemv_dense_selector<2, 0, true>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; Dest = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; typename Dest::Scalar = double]’
  252 |       general_matrix_vector_product
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                   
  253 |           <Index,LhsScalar,LhsMapper,ColMajor,LhsBlasTraits::NeedToConjugate,RhsScalar,RhsMapper,RhsBlasTraits::NeedToConjugate>::run(
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  254 |           actualLhs.rows(), actualLhs.cols(),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                         
  255 |           LhsMapper(actualLhs.data(), actualLhs.outerStride()),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                       
  256 |           RhsMapper(actualRhs.data(), actualRhs.innerStride()),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                       
  257 |           dest.data(), 1,
      |           ~~~~~~~~~~~~~~~                                                                                                             
  258 |           compatibleAlpha);
      |           ~~~~~~~~~~~~~~~~                                                                                                            
./include/Eigen/src/Core/ProductEvaluators.h:388:34:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 7>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; Scalar = double]’
  385 |     internal::gemv_dense_selector<Side,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  386 |                             (int(MatrixType::Flags)&RowMajorBit) ? RowMajor : ColMajor,
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  387 |                             bool(internal::blas_traits<MatrixType>::HasUsableDirectAccess)
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  388 |                            >::run(actual_lhs, actual_rhs, dst, alpha);
      |                            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:479:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  478 |       return internal::generic_product_impl<Lhs,typename Rhs::ConstColXpr,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  479 |         ::scaleAndAddTo(dst_vec, a_lhs, a_rhs.col(0), alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:44:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   44 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:45:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   45 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:46:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   46 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralMatrixVector.h:42:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
   42 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   51 |         Vectorizable = unpacket_traits<_LhsPacket>::vectorizable &&
      |                                                     ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:51:53: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   52 |         unpacket_traits<_RhsPacket>::vectorizable &&
      |                                      ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:52:38: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   53 |         int(unpacket_traits<_LhsPacket>::size)==int(unpacket_traits<_RhsPacket>::size),
      |                                          ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:42: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   53 |         int(unpacket_traits<_LhsPacket>::size)==int(unpacket_traits<_RhsPacket>::size),
      |                                                                                  ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:53:82: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   54 |         LhsPacketSize = Vectorizable ? unpacket_traits<_LhsPacket>::size : 1,
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:54:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   55 |         RhsPacketSize = Vectorizable ? unpacket_traits<_RhsPacket>::size : 1,
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:55:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |         ResPacketSize = Vectorizable ? unpacket_traits<_ResPacket>::size : 1
      |                                                                     ^~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:56:69: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   59 |   typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:59:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   60 |   typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:60:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
   61 |   typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralMatrixVector.h:61:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> >, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> >, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> >, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> > >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> > > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> > > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> >, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Map<Eigen::Matrix<double, -1, 1>, 2, Eigen::Stride<0, 0> > >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:296:40:   required from ‘static void Eigen::internal::gemv_dense_selector<2, 0, true>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; Dest = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>; typename Dest::Scalar = double]’
  296 |           dest.matrix() += actualAlpha * MappedDest(actualDestPtr, dest.size());
      |                            ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:388:34:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Matrix<double, -1, -1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Matrix<double, -1, -1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Matrix<double, -1, -1>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:207:26:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Matrix<double, 1, -1> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Matrix<double, 1, -1> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Matrix<double, 1, -1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Matrix<double, 1, -1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Matrix<double, 1, -1>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Matrix<double, 1, -1> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:207:43:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/Dot.h:50:23:   required from ‘static Eigen::internal::dot_nocheck<T, U, true>::ResScalar Eigen::internal::dot_nocheck<T, U, true>::run(const Eigen::MatrixBase<Derived>&, const Eigen::MatrixBase<U>&) [with T = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>; U = Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true>; ResScalar = double]’
   50 |     return a.transpose().template binaryExpr<conj_prod>(b).sum();
      |            ~~~~~~~~~~~^~
./include/Eigen/src/Core/Dot.h:84:58:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/Dot.h:50:56:   required from ‘static Eigen::internal::dot_nocheck<T, U, true>::ResScalar Eigen::internal::dot_nocheck<T, U, true>::run(const Eigen::MatrixBase<Derived>&, const Eigen::MatrixBase<U>&) [with T = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>; U = Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true>; ResScalar = double]’
   50 |     return a.transpose().template binaryExpr<conj_prod>(b).sum();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./include/Eigen/src/Core/Dot.h:84:58:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/Dot.h:50:23:   required from ‘static Eigen::internal::dot_nocheck<T, U, true>::ResScalar Eigen::internal::dot_nocheck<T, U, true>::run(const Eigen::MatrixBase<Derived>&, const Eigen::MatrixBase<U>&) [with T = Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true>; U = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; ResScalar = double]’
   50 |     return a.transpose().template binaryExpr<conj_prod>(b).sum();
      |            ~~~~~~~~~~~^~
./include/Eigen/src/Core/Dot.h:84:58:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/Dot.h:50:56:   required from ‘static Eigen::internal::dot_nocheck<T, U, true>::ResScalar Eigen::internal::dot_nocheck<T, U, true>::run(const Eigen::MatrixBase<Derived>&, const Eigen::MatrixBase<U>&) [with T = Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true>; U = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>; ResScalar = double]’
   50 |     return a.transpose().template binaryExpr<conj_prod>(b).sum();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./include/Eigen/src/Core/Dot.h:84:58:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, -1, 1, true>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, -1, 1, true>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false> >, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:223:34:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
In file included from ./include/Eigen/Core:330:
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In instantiation of ‘class Eigen::internal::gebp_traits<double, double, false, false, 1, 0>’:
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:147:40:   required from ‘void Eigen::internal::evaluateProductBlockingSizesHeuristic(Index&, Index&, Index&, Index) [with LhsScalar = double; RhsScalar = double; int KcFactor = 1; Index = long int]’
  147 |     typedef typename Traits::ResScalar ResScalar;
      |                                        ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:342:81:   required from ‘void Eigen::internal::computeProductBlockingSizes(Index&, Index&, Index&, Index) [with LhsScalar = double; RhsScalar = double; int KcFactor = 1; Index = long int]’
  342 |     evaluateProductBlockingSizesHeuristic<LhsScalar, RhsScalar, KcFactor, Index>(k, m, n, num_threads);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:355:66:   required from ‘Eigen::internal::gemm_blocking_space<StorageOrder, _LhsScalar, _RhsScalar, MaxRows, MaxCols, MaxDepth, KcFactor, false>::gemm_blocking_space(Eigen::Index, Eigen::Index, Eigen::Index, Eigen::Index, bool) [with int StorageOrder = 0; _LhsScalar = double; _RhsScalar = double; int MaxRows = -1; int MaxCols = -1; int MaxDepth = -1; int KcFactor = 1; Eigen::Index = long int]’
  355 |         computeProductBlockingSizes<LhsScalar,RhsScalar,KcFactor>(this->m_kc, this->m_mc, this->m_nc, num_threads);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:507:18:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  507 |     BlockingType blocking(dst.rows(), dst.cols(), lhs.cols(), 1, true);
      |                  ^~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  432 |     Vectorizable = unpacket_traits<_LhsPacket>::vectorizable && unpacket_traits<_RhsPacket>::vectorizable,
      |                                                 ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  432 |     Vectorizable = unpacket_traits<_LhsPacket>::vectorizable && unpacket_traits<_RhsPacket>::vectorizable,
      |                                                                                              ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  433 |     LhsPacketSize = Vectorizable ? unpacket_traits<_LhsPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  434 |     RhsPacketSize = Vectorizable ? unpacket_traits<_RhsPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  435 |     ResPacketSize = Vectorizable ? unpacket_traits<_ResPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  460 |   typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  461 |   typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  462 |   typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  465 |   typedef QuadPacket<RhsPacket> RhsPacketx4;
      |                                 ^~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In instantiation of ‘class Eigen::internal::gebp_traits<double, double, false, false, 1, 1>’:
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1080:42:   required from ‘struct Eigen::internal::gebp_kernel<double, double, long int, Eigen::internal::blas_data_mapper<double, long int, 0, 0, 1>, 4, 4, false, false>’
 1080 |   typedef typename HalfTraits::LhsPacket LhsPacketHalf;
      |                                          ^~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:82:107:   required from ‘static void Eigen::internal::general_matrix_matrix_product<Index, LhsScalar, LhsStorageOrder, ConjugateLhs, RhsScalar, RhsStorageOrder, ConjugateRhs, 0, ResInnerStride>::run(Index, Index, Index, const LhsScalar*, Index, const RhsScalar*, Index, ResScalar*, Index, Index, ResScalar, Eigen::internal::level3_blocking<LhsScalar, RhsScalar>&, Eigen::internal::GemmParallelInfo<Index>*) [with Index = long int; LhsScalar = double; int LhsStorageOrder = 0; bool ConjugateLhs = false; RhsScalar = double; int RhsStorageOrder = 0; bool ConjugateRhs = false; int ResInnerStride = 1; ResScalar = double]’
   82 |   gebp_kernel<LhsScalar, RhsScalar, Index, ResMapper, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp;
      |                                                                                                           ^~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:230:14:   required from ‘void Eigen::internal::gemm_functor<Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType>::operator()(Index, Index, Index, Index, Eigen::internal::GemmParallelInfo<Index>*) const [with Scalar = double; Index = long int; Gemm = Eigen::internal::general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>; Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Matrix<double, -1, -1>; Dest = Eigen::Matrix<double, -1, -1>; BlockingType = Eigen::internal::gemm_blocking_space<0, double, double, -1, -1, -1, 1, false>]’
  230 |     Gemm::run(rows, cols, m_lhs.cols(),
      |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  231 |               &m_lhs.coeffRef(row,0), m_lhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  232 |               &m_rhs.coeffRef(0,col), m_rhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  233 |               (Scalar*)&(m_dest.coeffRef(row,col)), m_dest.innerStride(), m_dest.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  234 |               m_actualAlpha, m_blocking, info);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/Parallelizer.h:114:7:   required from ‘void Eigen::internal::parallelize_gemm(const Functor&, Index, Index, Index, bool) [with bool Condition = true; Functor = gemm_functor<double, long int, general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, gemm_blocking_space<0, double, double, -1, -1, -1, 1, false> >; Index = long int]’
  114 |   func(0,rows, 0,cols);
      |   ~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:509:9:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  508 |     internal::parallelize_gemm<(Dest::MaxRowsAtCompileTime>32 || Dest::MaxRowsAtCompileTime==Dynamic)>
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  509 |         (GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), a_lhs.rows(), a_rhs.cols(), a_lhs.cols(), Dest::Flags&RowMajorBit);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  432 |     Vectorizable = unpacket_traits<_LhsPacket>::vectorizable && unpacket_traits<_RhsPacket>::vectorizable,
      |                                                 ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  432 |     Vectorizable = unpacket_traits<_LhsPacket>::vectorizable && unpacket_traits<_RhsPacket>::vectorizable,
      |                                                                                              ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  433 |     LhsPacketSize = Vectorizable ? unpacket_traits<_LhsPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  434 |     RhsPacketSize = Vectorizable ? unpacket_traits<_RhsPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  435 |     ResPacketSize = Vectorizable ? unpacket_traits<_ResPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  460 |   typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  461 |   typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  462 |   typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  465 |   typedef QuadPacket<RhsPacket> RhsPacketx4;
      |                                 ^~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In instantiation of ‘class Eigen::internal::gebp_traits<double, double, false, false, 1, 2>’:
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1085:45:   required from ‘struct Eigen::internal::gebp_kernel<double, double, long int, Eigen::internal::blas_data_mapper<double, long int, 0, 0, 1>, 4, 4, false, false>’
 1085 |   typedef typename QuarterTraits::LhsPacket LhsPacketQuarter;
      |                                             ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:82:107:   required from ‘static void Eigen::internal::general_matrix_matrix_product<Index, LhsScalar, LhsStorageOrder, ConjugateLhs, RhsScalar, RhsStorageOrder, ConjugateRhs, 0, ResInnerStride>::run(Index, Index, Index, const LhsScalar*, Index, const RhsScalar*, Index, ResScalar*, Index, Index, ResScalar, Eigen::internal::level3_blocking<LhsScalar, RhsScalar>&, Eigen::internal::GemmParallelInfo<Index>*) [with Index = long int; LhsScalar = double; int LhsStorageOrder = 0; bool ConjugateLhs = false; RhsScalar = double; int RhsStorageOrder = 0; bool ConjugateRhs = false; int ResInnerStride = 1; ResScalar = double]’
   82 |   gebp_kernel<LhsScalar, RhsScalar, Index, ResMapper, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp;
      |                                                                                                           ^~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:230:14:   required from ‘void Eigen::internal::gemm_functor<Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType>::operator()(Index, Index, Index, Index, Eigen::internal::GemmParallelInfo<Index>*) const [with Scalar = double; Index = long int; Gemm = Eigen::internal::general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>; Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Matrix<double, -1, -1>; Dest = Eigen::Matrix<double, -1, -1>; BlockingType = Eigen::internal::gemm_blocking_space<0, double, double, -1, -1, -1, 1, false>]’
  230 |     Gemm::run(rows, cols, m_lhs.cols(),
      |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  231 |               &m_lhs.coeffRef(row,0), m_lhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  232 |               &m_rhs.coeffRef(0,col), m_rhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  233 |               (Scalar*)&(m_dest.coeffRef(row,col)), m_dest.innerStride(), m_dest.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  234 |               m_actualAlpha, m_blocking, info);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/Parallelizer.h:114:7:   required from ‘void Eigen::internal::parallelize_gemm(const Functor&, Index, Index, Index, bool) [with bool Condition = true; Functor = gemm_functor<double, long int, general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, gemm_blocking_space<0, double, double, -1, -1, -1, 1, false> >; Index = long int]’
  114 |   func(0,rows, 0,cols);
      |   ~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:509:9:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  508 |     internal::parallelize_gemm<(Dest::MaxRowsAtCompileTime>32 || Dest::MaxRowsAtCompileTime==Dynamic)>
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  509 |         (GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), a_lhs.rows(), a_rhs.cols(), a_lhs.cols(), Dest::Flags&RowMajorBit);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:425:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  425 |   PACKET_DECL_COND_PREFIX(_, Lhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:426:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  426 |   PACKET_DECL_COND_PREFIX(_, Rhs, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:427:27: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  427 |   PACKET_DECL_COND_PREFIX(_, Res, _PacketSize);
      |                           ^
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:384:3: note: in definition of macro ‘PACKET_DECL_COND_PREFIX’
  384 |   prefix ## name ## Packet
      |   ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  432 |     Vectorizable = unpacket_traits<_LhsPacket>::vectorizable && unpacket_traits<_RhsPacket>::vectorizable,
      |                                                 ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:49: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  432 |     Vectorizable = unpacket_traits<_LhsPacket>::vectorizable && unpacket_traits<_RhsPacket>::vectorizable,
      |                                                                                              ^~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:432:94: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  433 |     LhsPacketSize = Vectorizable ? unpacket_traits<_LhsPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:433:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  434 |     RhsPacketSize = Vectorizable ? unpacket_traits<_RhsPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:434:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  435 |     ResPacketSize = Vectorizable ? unpacket_traits<_ResPacket>::size : 1,
      |                                                                 ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:435:65: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  460 |   typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:460:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  461 |   typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:461:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  462 |   typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
      |                                                                         ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:462:73: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
  465 |   typedef QuadPacket<RhsPacket> RhsPacketx4;
      |                                 ^~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:465:33: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Block.h:172:103:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true, false>’
  172 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, bool HasDirectAccess> class BlockImpl_dense
      |                                                                                                       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   required from ‘class Eigen::BlockImpl<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true, Eigen::Dense>’
  154 | class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:103:81:   required from ‘class Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>’
  103 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
      |                                                                                 ^~~~~
./include/Eigen/src/Core/PartialReduxEvaluator.h:183:72:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:495:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  495 |   m_l1_norm = m_lu.cwiseAbs().colwise().sum().maxCoeff();
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In instantiation of ‘void Eigen::internal::gemm_pack_lhs<Scalar, Index, DataMapper, Pack1, Pack2, Packet, 0, Conjugate, PanelMode>::operator()(Scalar*, const DataMapper&, Index, Index, Index, Index) [with Scalar = double; Index = long int; DataMapper = Eigen::internal::const_blas_data_mapper<double, long int, 0>; int Pack1 = 4; int Pack2 = 2; Packet = __vector(2) double; bool Conjugate = false; bool PanelMode = false]’:
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:184:17:   required from ‘static void Eigen::internal::general_matrix_matrix_product<Index, LhsScalar, LhsStorageOrder, ConjugateLhs, RhsScalar, RhsStorageOrder, ConjugateRhs, 0, ResInnerStride>::run(Index, Index, Index, const LhsScalar*, Index, const RhsScalar*, Index, ResScalar*, Index, Index, ResScalar, Eigen::internal::level3_blocking<LhsScalar, RhsScalar>&, Eigen::internal::GemmParallelInfo<Index>*) [with Index = long int; LhsScalar = double; int LhsStorageOrder = 0; bool ConjugateLhs = false; RhsScalar = double; int RhsStorageOrder = 0; bool ConjugateRhs = false; int ResInnerStride = 1; ResScalar = double]’
  184 |         pack_lhs(blockA, lhs.getSubMapper(i2,k2), actual_kc, actual_mc);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:230:14:   required from ‘void Eigen::internal::gemm_functor<Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType>::operator()(Index, Index, Index, Index, Eigen::internal::GemmParallelInfo<Index>*) const [with Scalar = double; Index = long int; Gemm = Eigen::internal::general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>; Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Matrix<double, -1, -1>; Dest = Eigen::Matrix<double, -1, -1>; BlockingType = Eigen::internal::gemm_blocking_space<0, double, double, -1, -1, -1, 1, false>]’
  230 |     Gemm::run(rows, cols, m_lhs.cols(),
      |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  231 |               &m_lhs.coeffRef(row,0), m_lhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  232 |               &m_rhs.coeffRef(0,col), m_rhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  233 |               (Scalar*)&(m_dest.coeffRef(row,col)), m_dest.innerStride(), m_dest.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  234 |               m_actualAlpha, m_blocking, info);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/Parallelizer.h:114:7:   required from ‘void Eigen::internal::parallelize_gemm(const Functor&, Index, Index, Index, bool) [with bool Condition = true; Functor = gemm_functor<double, long int, general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, gemm_blocking_space<0, double, double, -1, -1, -1, 1, false> >; Index = long int]’
  114 |   func(0,rows, 0,cols);
      |   ~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:509:9:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  508 |     internal::parallelize_gemm<(Dest::MaxRowsAtCompileTime>32 || Dest::MaxRowsAtCompileTime==Dynamic)>
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  509 |         (GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), a_lhs.rows(), a_rhs.cols(), a_lhs.cols(), Dest::Flags&RowMajorBit);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2100:82: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 2100 |   typedef typename unpacket_traits<typename unpacket_traits<Packet>::half>::half QuarterPacket;
      |                                                                                  ^~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2102:56: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 2102 |          HalfPacketSize = unpacket_traits<HalfPacket>::size,
      |                                                        ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2103:62: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 2103 |          QuarterPacketSize = unpacket_traits<QuarterPacket>::size,
      |                                                              ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2103:62: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In instantiation of ‘void Eigen::internal::gemm_pack_rhs<Scalar, Index, DataMapper, nr, 0, Conjugate, PanelMode>::operator()(Scalar*, const DataMapper&, Index, Index, Index, Index) [with Scalar = double; Index = long int; DataMapper = Eigen::internal::const_blas_data_mapper<double, long int, 0>; int nr = 4; bool Conjugate = false; bool PanelMode = false]’:
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:195:21:   required from ‘static void Eigen::internal::general_matrix_matrix_product<Index, LhsScalar, LhsStorageOrder, ConjugateLhs, RhsScalar, RhsStorageOrder, ConjugateRhs, 0, ResInnerStride>::run(Index, Index, Index, const LhsScalar*, Index, const RhsScalar*, Index, ResScalar*, Index, Index, ResScalar, Eigen::internal::level3_blocking<LhsScalar, RhsScalar>&, Eigen::internal::GemmParallelInfo<Index>*) [with Index = long int; LhsScalar = double; int LhsStorageOrder = 0; bool ConjugateLhs = false; RhsScalar = double; int RhsStorageOrder = 0; bool ConjugateRhs = false; int ResInnerStride = 1; ResScalar = double]’
  195 |             pack_rhs(blockB, rhs.getSubMapper(k2,j2), actual_kc, actual_nc);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:230:14:   required from ‘void Eigen::internal::gemm_functor<Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType>::operator()(Index, Index, Index, Index, Eigen::internal::GemmParallelInfo<Index>*) const [with Scalar = double; Index = long int; Gemm = Eigen::internal::general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>; Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Matrix<double, -1, -1>; Dest = Eigen::Matrix<double, -1, -1>; BlockingType = Eigen::internal::gemm_blocking_space<0, double, double, -1, -1, -1, 1, false>]’
  230 |     Gemm::run(rows, cols, m_lhs.cols(),
      |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  231 |               &m_lhs.coeffRef(row,0), m_lhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  232 |               &m_rhs.coeffRef(0,col), m_rhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  233 |               (Scalar*)&(m_dest.coeffRef(row,col)), m_dest.innerStride(), m_dest.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  234 |               m_actualAlpha, m_blocking, info);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/Parallelizer.h:114:7:   required from ‘void Eigen::internal::parallelize_gemm(const Functor&, Index, Index, Index, bool) [with bool Condition = true; Functor = gemm_functor<double, long int, general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, gemm_blocking_space<0, double, double, -1, -1, -1, 1, false> >; Index = long int]’
  114 |   func(0,rows, 0,cols);
      |   ~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:509:9:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  508 |     internal::parallelize_gemm<(Dest::MaxRowsAtCompileTime>32 || Dest::MaxRowsAtCompileTime==Dynamic)>
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  509 |         (GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), a_lhs.rows(), a_rhs.cols(), a_lhs.cols(), Dest::Flags&RowMajorBit);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2459:62: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 2459 |           PacketBlock<Packet,(PacketSize%4)==0?4:PacketSize> kernel;
      |                                                              ^~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In instantiation of ‘void Eigen::internal::gebp_kernel<LhsScalar, RhsScalar, Index, DataMapper, mr, nr, ConjugateLhs, ConjugateRhs>::operator()(const DataMapper&, const LhsScalar*, const RhsScalar*, Index, Index, Index, ResScalar, Index, Index, Index, Index) [with LhsScalar = double; RhsScalar = double; Index = long int; DataMapper = Eigen::internal::blas_data_mapper<double, long int, 0, 0, 1>; int mr = 4; int nr = 4; bool ConjugateLhs = false; bool ConjugateRhs = false; ResScalar = double]’:
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:198:15:   required from ‘static void Eigen::internal::general_matrix_matrix_product<Index, LhsScalar, LhsStorageOrder, ConjugateLhs, RhsScalar, RhsStorageOrder, ConjugateRhs, 0, ResInnerStride>::run(Index, Index, Index, const LhsScalar*, Index, const RhsScalar*, Index, ResScalar*, Index, Index, ResScalar, Eigen::internal::level3_blocking<LhsScalar, RhsScalar>&, Eigen::internal::GemmParallelInfo<Index>*) [with Index = long int; LhsScalar = double; int LhsStorageOrder = 0; bool ConjugateLhs = false; RhsScalar = double; int RhsStorageOrder = 0; bool ConjugateRhs = false; int ResInnerStride = 1; ResScalar = double]’
  198 |           gebp(res.getSubMapper(i2, j2), blockA, blockB, actual_mc, actual_kc, actual_nc, alpha);
      |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:230:14:   required from ‘void Eigen::internal::gemm_functor<Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType>::operator()(Index, Index, Index, Index, Eigen::internal::GemmParallelInfo<Index>*) const [with Scalar = double; Index = long int; Gemm = Eigen::internal::general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>; Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Matrix<double, -1, -1>; Dest = Eigen::Matrix<double, -1, -1>; BlockingType = Eigen::internal::gemm_blocking_space<0, double, double, -1, -1, -1, 1, false>]’
  230 |     Gemm::run(rows, cols, m_lhs.cols(),
      |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  231 |               &m_lhs.coeffRef(row,0), m_lhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  232 |               &m_rhs.coeffRef(0,col), m_rhs.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  233 |               (Scalar*)&(m_dest.coeffRef(row,col)), m_dest.innerStride(), m_dest.outerStride(),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  234 |               m_actualAlpha, m_blocking, info);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/Parallelizer.h:114:7:   required from ‘void Eigen::internal::parallelize_gemm(const Functor&, Index, Index, Index, bool) [with bool Condition = true; Functor = gemm_functor<double, long int, general_matrix_matrix_product<long int, double, 0, false, double, 0, false, 0, 1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, -1>, gemm_blocking_space<0, double, double, -1, -1, -1, 1, false> >; Index = long int]’
  114 |   func(0,rows, 0,cols);
      |   ~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:509:9:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >; Rhs = Eigen::Matrix<double, -1, -1>; Scalar = double]’
  508 |     internal::parallelize_gemm<(Dest::MaxRowsAtCompileTime>32 || Dest::MaxRowsAtCompileTime==Dynamic)>
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  509 |         (GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), a_lhs.rows(), a_rhs.cols(), a_lhs.cols(), Dest::Flags&RowMajorBit);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1920:103: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 1920 |           const int SResPacketHalfSize = unpacket_traits<typename unpacket_traits<SResPacket>::half>::size;
      |                                                                                                       ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1921:138: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 1921 |           const int SResPacketQuarterSize = unpacket_traits<typename unpacket_traits<typename unpacket_traits<SResPacket>::half>::half>::size;
      |                                                                                                                                          ^~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1921:138: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1977:135: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 1977 |               typedef typename conditional<SwappedTraits::LhsProgress>=8,typename unpacket_traits<SResPacket>::half,SResPacket>::type SResPacketHalf;
      |                                                                                                                                       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1978:135: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 1978 |               typedef typename conditional<SwappedTraits::LhsProgress>=8,typename unpacket_traits<SLhsPacket>::half,SLhsPacket>::type SLhsPacketHalf;
      |                                                                                                                                       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1979:135: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 1979 |               typedef typename conditional<SwappedTraits::LhsProgress>=8,typename unpacket_traits<SRhsPacket>::half,SRhsPacket>::type SRhsPacketHalf;
      |                                                                                                                                       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1980:135: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
 1980 |               typedef typename conditional<SwappedTraits::LhsProgress>=8,typename unpacket_traits<SAccPacket>::half,SAccPacket>::type SAccPacketHalf;
      |                                                                                                                                       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:739:78:   required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
  739 |     CoeffReadCost = int(evaluator<Lhs>::CoeffReadCost) + int(evaluator<Rhs>::CoeffReadCost) + int(functor_traits<BinaryOp>::Cost),
      |                                                                              ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:722:8:   required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> > >’
  722 | struct evaluator<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Redux.h:357:7:   required from ‘class Eigen::internal::redux_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> > >’
  357 | class redux_evaluator : public internal::evaluator<_XprType>
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Redux.h:414:17:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Derived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, true> >; typename Eigen::internal::traits<T>::Scalar = double]’
  414 |   ThisEvaluator thisEval(derived());
      |                 ^~~~~~~~
./include/Eigen/src/Core/Redux.h:463:25:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:311:41:   required from ‘struct Eigen::internal::unary_evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, Eigen::internal::IndexBased, double>’
  311 |     CoeffReadCost = evaluator<ArgType>::CoeffReadCost,
      |                                         ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:90:8:   required from ‘struct Eigen::internal::evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> > >’
   90 | struct evaluator : public unary_evaluator<T>
      |        ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> > >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:739:41:   required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
  739 |     CoeffReadCost = int(evaluator<Lhs>::CoeffReadCost) + int(evaluator<Rhs>::CoeffReadCost) + int(functor_traits<BinaryOp>::Cost),
      |                                         ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:722:8:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:60:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >’
   60 | class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:855:60:   required from ‘static void Eigen::internal::Assignment<DstXprType, Eigen::Inverse<Eigen::FullPivLU<MatrixType> >, Eigen::internal::assign_op<typename DstXprType::Scalar, typename Eigen::FullPivLU<MatrixType>::Scalar>, Eigen::internal::Dense2Dense>::run(DstXprType&, const SrcXprType&, const Eigen::internal::assign_op<typename DstXprType::Scalar, typename SrcXprType::Scalar>&) [with DstXprType = Eigen::Matrix<double, -1, -1>; MatrixType = Eigen::Matrix<double, -1, -1>; SrcXprType = Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >; typename DstXprType::Scalar = double; typename SrcXprType::Scalar = double]’
  855 |     dst = src.nestedExpression().solve(MatrixType::Identity(src.rows(), src.cols()));
      |                                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Solve<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> > >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Solve<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> > > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Solve<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> > > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Solve.h:86:7:   required from ‘class Eigen::SolveImpl<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, Eigen::Dense>’
   86 | class SolveImpl<Decomposition,RhsType,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Solve.h:62:7:   required from ‘class Eigen::Solve<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> > >’
   62 | class Solve : public SolveImpl<Decomposition,RhsType,typename internal::traits<RhsType>::StorageKind>
      |       ^~~~~
./include/Eigen/src/LU/FullPivLU.h:855:39:   required from ‘static void Eigen::internal::Assignment<DstXprType, Eigen::Inverse<Eigen::FullPivLU<MatrixType> >, Eigen::internal::assign_op<typename DstXprType::Scalar, typename Eigen::FullPivLU<MatrixType>::Scalar>, Eigen::internal::Dense2Dense>::run(DstXprType&, const SrcXprType&, const Eigen::internal::assign_op<typename DstXprType::Scalar, typename SrcXprType::Scalar>&) [with DstXprType = Eigen::Matrix<double, -1, -1>; MatrixType = Eigen::Matrix<double, -1, -1>; SrcXprType = Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >; typename DstXprType::Scalar = double; typename SrcXprType::Scalar = double]’
  855 |     dst = src.nestedExpression().solve(MatrixType::Identity(src.rows(), src.cols()));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true> >’:
./include/Eigen/src/Core/Redux.h:357:7:   required from ‘class Eigen::internal::redux_evaluator<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true> >’
  357 | class redux_evaluator : public internal::evaluator<_XprType>
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Redux.h:414:17:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Derived = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; typename Eigen::internal::traits<T>::Scalar = double]’
  414 |   ThisEvaluator thisEval(derived());
      |                 ^~~~~~~~
./include/Eigen/src/Core/Redux.h:463:25:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::sum() const [with Derived = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; typename Eigen::internal::traits<T>::Scalar = double]’
  463 |   return derived().redux(Eigen::internal::scalar_sum_op<Scalar,Scalar>());
      |          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/VectorwiseOp.h:114:1:   required from ‘ResultType Eigen::internal::member_sum<ResultType, Scalar>::operator()(const XprType&) const [with XprType = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; ResultType = double; Scalar = double]’
   97 |     { return mat.MEMBER(); }                                                                \
      |              ~~~~~~~~~~^~
./include/Eigen/src/Core/PartialReduxEvaluator.h:183:21:   required from ‘const Eigen::internal::evaluator<Eigen::PartialReduxExpr<MatrixType, MemberOp, Direction> >::Scalar Eigen::internal::evaluator<Eigen::PartialReduxExpr<MatrixType, MemberOp, Direction> >::coeff(Eigen::Index) const [with ArgType = const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >; MemberOp = Eigen::internal::member_sum<double, double>; int Direction = 0; Scalar = double; Eigen::Index = long int]’
  183 |     return m_functor(m_arg.template subVector<DirectionType(Direction)>(index));
      |            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PartialReduxEvaluator.h:177:17:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:495:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  495 |   m_l1_norm = m_lu.cwiseAbs().colwise().sum().maxCoeff();
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Matrix<double, -1, -1>, 1, -1, false, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:606:37:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:606:52:   required from ‘const Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::CoeffReturnType Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::coeff(Eigen::Index, Eigen::Index) const [with Lhs = Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >; Rhs = Eigen::Matrix<double, -1, -1>; int ProductTag = 8; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Lhs>::Scalar = double; typename Eigen::Product<Lhs, Rhs, 1>::Lhs = Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > >; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Rhs>::Scalar = double; typename Eigen::Product<Lhs, Rhs, 1>::Rhs = Eigen::Matrix<double, -1, -1>; CoeffReturnType = double; Eigen::Index = long int]’
  606 |     return (m_lhs.row(row).transpose().cwiseProduct( m_rhs.col(col) )).sum();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:769:69:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’:
./include/Eigen/src/Core/AssignEvaluator.h:780:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>; SrcXprType = Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >; Functor = sub_assign_op<double, double>]’
  780 |   DstEvaluatorType dstEvaluator(dst);
      |                    ^~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>; Src = Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >; Func = sub_assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>; Src = Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >; Func = sub_assign_op<double, double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:164:18:   required from ‘Derived& Eigen::MatrixBase<Derived>::operator-=(const Eigen::MatrixBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, 1, true>, -1, 1, false> >; Derived = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>]’
  164 |   call_assignment(derived(), other.derived(), internal::sub_assign_op<Scalar,typename OtherDerived::Scalar>());
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:305:153:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:561:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  561 |       m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘Eigen::Index Eigen::internal::first_default_aligned(const Eigen::DenseBase<Derived>&) [with Derived = Eigen::Block<const Eigen::CwiseUnaryOp<scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; Eigen::Index = long int]’:
./include/Eigen/src/Core/Redux.h:243:63:   required from ‘static Eigen::internal::redux_impl<Func, Evaluator, 3, 0>::Scalar Eigen::internal::redux_impl<Func, Evaluator, 3, 0>::run(const Evaluator&, const Func&, const XprType&) [with XprType = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; Func = Eigen::internal::scalar_sum_op<double, double>; Evaluator = Eigen::internal::redux_evaluator<Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true> >; Scalar = double]’
  243 |     const Index alignedStart = internal::first_default_aligned(xpr);
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
./include/Eigen/src/Core/Redux.h:418:56:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Derived = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; typename Eigen::internal::traits<T>::Scalar = double]’
  418 |   return internal::redux_impl<Func, ThisEvaluator>::run(thisEval, func, derived());
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Redux.h:463:25:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::sum() const [with Derived = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; typename Eigen::internal::traits<T>::Scalar = double]’
  463 |   return derived().redux(Eigen::internal::scalar_sum_op<Scalar,Scalar>());
      |          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/VectorwiseOp.h:114:1:   required from ‘ResultType Eigen::internal::member_sum<ResultType, Scalar>::operator()(const XprType&) const [with XprType = Eigen::Block<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >, -1, 1, true>; ResultType = double; Scalar = double]’
   97 |     { return mat.MEMBER(); }                                                                \
      |              ~~~~~~~~~~^~
./include/Eigen/src/Core/PartialReduxEvaluator.h:183:21:   required from ‘const Eigen::internal::evaluator<Eigen::PartialReduxExpr<MatrixType, MemberOp, Direction> >::Scalar Eigen::internal::evaluator<Eigen::PartialReduxExpr<MatrixType, MemberOp, Direction> >::coeff(Eigen::Index) const [with ArgType = const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, -1, -1> >; MemberOp = Eigen::internal::member_sum<double, double>; int Direction = 0; Scalar = double; Eigen::Index = long int]’
  183 |     return m_functor(m_arg.template subVector<DirectionType(Direction)>(index));
      |            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PartialReduxEvaluator.h:177:17:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/LU/FullPivLU.h:495:55:   required from ‘void Eigen::FullPivLU<MatrixType>::computeInPlace() [with _MatrixType = Eigen::Matrix<double, -1, -1>]’
  495 |   m_l1_norm = m_lu.cwiseAbs().colwise().sum().maxCoeff();
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
./include/Eigen/src/LU/FullPivLU.h:122:7:   required from ‘Eigen::FullPivLU<MatrixType>& Eigen::FullPivLU<MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  122 |       computeInPlace();
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:470:10:   required from ‘Eigen::FullPivLU<MatrixType>::FullPivLU(const Eigen::EigenBase<OtherDerived>&) [with InputType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  470 |   compute(matrix.derived());
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:872:10:   required from ‘const Eigen::FullPivLU<typename Eigen::DenseBase<Derived>::PlainObject> Eigen::MatrixBase<Derived>::fullPivLu() const [with Derived = Eigen::Matrix<double, -1, -1>; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1>]’
  872 |   return FullPivLU<PlainObject>(eval());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
treelearner/linear_tree_learner.cpp:349:50:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                                ~~~~~~~~~~~~~~~~~~^~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:654:74: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  654 |   return internal::first_aligned<int(unpacket_traits<DefaultPacketType>::alignment),Derived>(m);
      |                                                                          ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:311:41:   required from ‘struct Eigen::internal::unary_evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, Eigen::internal::IndexBased, double>’
  311 |     CoeffReadCost = evaluator<ArgType>::CoeffReadCost,
      |                                         ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:90:8:   required from ‘struct Eigen::internal::evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
   90 | struct evaluator : public unary_evaluator<T>
      |        ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:739:41:   required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
  739 |     CoeffReadCost = int(evaluator<Lhs>::CoeffReadCost) + int(evaluator<Rhs>::CoeffReadCost) + int(functor_traits<BinaryOp>::Cost),
      |                                         ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:722:8:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::PermutationMatrix<-1, -1, int>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 2>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::PermutationMatrix<-1, -1, int>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 2> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::PermutationMatrix<-1, -1, int>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 2> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::PermutationMatrix<-1, -1, int>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 2, 8>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::PermutationMatrix<-1, -1, int>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 2, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::PermutationMatrix<-1, -1, int>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 2>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/LU/FullPivLU.h:769:22:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Matrix<double, -1, -1>, -1, -1, false, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0, 8>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/LU/FullPivLU.h:776:59:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 1, -1> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 1, -1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 1, -1> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:60:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 1, -1> >’
   60 | class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
      |       ^~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:347:30:   required from ‘Derived& Eigen::DenseBase<Derived>::setConstant(const Scalar&) [with Derived = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Scalar = double]’
  347 |   return derived() = Constant(rows(), cols(), val);
      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseNullaryOp.h:548:10:   required from ‘Derived& Eigen::DenseBase<Derived>::setZero() [with Derived = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>]’
  548 |   return setConstant(Scalar(0));
      |          ^~~~~~~~~~~
./include/Eigen/src/LU/FullPivLU.h:787:55:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In instantiation of ‘void Eigen::internal::gemm_pack_rhs<Scalar, Index, DataMapper, nr, 0, Conjugate, PanelMode>::operator()(Scalar*, const DataMapper&, Index, Index, Index, Index) [with Scalar = double; Index = long int; DataMapper = Eigen::internal::blas_data_mapper<double, long int, 0, 0, 1>; int nr = 4; bool Conjugate = false; bool PanelMode = true]’:
./include/Eigen/src/Core/products/TriangularSolverMatrix.h:155:19:   required from ‘static void Eigen::internal::triangular_solve_matrix<Scalar, Index, 1, Mode, Conjugate, TriStorageOrder, 0, OtherInnerStride>::run(Index, Index, const Scalar*, Index, Scalar*, Index, Index, Eigen::internal::level3_blocking<Scalar, Scalar>&) [with Scalar = double; Index = long int; int Mode = 5; bool Conjugate = false; int TriStorageOrder = 0; int OtherInnerStride = 1]’
  155 |           pack_rhs(blockB+actual_kc*j2, other.getSubMapper(startBlock,j2), actualPanelWidth, actual_cols, actual_kc, blockBOffset);
      |           ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/SolveTriangular.h:102:12:   required from ‘static void Eigen::internal::triangular_solver_selector<Lhs, Rhs, Side, Mode, 0, -1>::run(const Lhs&, Rhs&) [with Lhs = const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; int Side = 1; int Mode = 5]’
  100 |     triangular_solve_matrix<Scalar,Index,Side,Mode,LhsProductTraits::NeedToConjugate,(int(Lhs::Flags) & RowMajorBit) ? RowMajor : ColMajor,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  101 |                                (Rhs::Flags&RowMajorBit) ? RowMajor : ColMajor, Rhs::InnerStrideAtCompileTime>
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |       ::run(size, othersize, &actualLhs.coeffRef(0,0), actualLhs.outerStride(), &rhs.coeffRef(0,0), rhs.innerStride(), rhs.outerStride(), blocking);
      |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/SolveTriangular.h:182:21:   required from ‘void Eigen::TriangularViewImpl<_MatrixType, _Mode, Eigen::Dense>::solveInPlace(const Eigen::MatrixBase<OtherDerived>&) const [with int Side = 1; OtherDerived = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; _MatrixType = const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; unsigned int _Mode = 5]’
  181 |   internal::triangular_solver_selector<MatrixType, typename internal::remove_reference<OtherCopy>::type,
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  182 |     Side, Mode>::run(derived().nestedExpression(), otherCopy);
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/TriangularMatrix.h:522:37:   required from ‘void Eigen::TriangularViewImpl<_MatrixType, _Mode, Eigen::Dense>::solveInPlace(const Eigen::MatrixBase<OtherDerived>&) const [with OtherDerived = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; _MatrixType = const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; unsigned int _Mode = 5]’
  522 |     { return solveInPlace<OnTheLeft>(other); }
      |              ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/LU/FullPivLU.h:774:20:   required from ‘void Eigen::FullPivLU<MatrixType>::_solve_impl(const RhsType&, DstType&) const [with RhsType = Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >; DstType = Eigen::Matrix<double, -1, -1>; _MatrixType = Eigen::Matrix<double, -1, -1>]’
  772 |   m_lu.topLeftCorner(smalldim,smalldim)
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  773 |       .template triangularView<UnitLower>()
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  774 |       .solveInPlace(c.topRows(smalldim));
      |       ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Solve.h:147:26:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2459:62: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 2459 |           PacketBlock<Packet,(PacketSize%4)==0?4:PacketSize> kernel;
      |                                                              ^~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Block.h:172:103:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false, false>’
  172 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, bool HasDirectAccess> class BlockImpl_dense
      |                                                                                                       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   required from ‘class Eigen::BlockImpl<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false, Eigen::Dense>’
  154 | class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:103:81:   required from ‘class Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false>’
  103 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
      |                                                                                 ^~~~~
./include/Eigen/src/Core/ProductEvaluators.h:1050:11:   [ skipping 23 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0, 7>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:345:45:   [ skipping 26 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 29 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false> >’:
./include/Eigen/src/Core/util/XprHelper.h:372:102:   required from ‘struct Eigen::internal::plain_object_eval<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Dense>’
  372 |   typedef typename plain_matrix_type_dense<T,typename traits<T>::XprKind, evaluator<T>::Flags>::type type;
      |                                                                                                      ^~~~
./include/Eigen/src/Core/ProductEvaluators.h:369:45:   required from ‘struct Eigen::internal::generic_product_impl<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, Eigen::DenseShape, Eigen::DenseShape, 7>’
  369 |   typedef typename nested_eval<Lhs,1>::type LhsNested;
      |                                             ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:479:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Scalar = double]’
  478 |       return internal::generic_product_impl<Lhs,typename Rhs::ConstColXpr,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  479 |         ::scaleAndAddTo(dst_vec, a_lhs, a_rhs.col(0), alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::evalTo(Dst&, const Lhs&, const Rhs&) [with Dst = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>]’
  445 |       scaleAndAddTo(dst, lhs, rhs, Scalar(1));
      |       ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:148:43:   required from ‘static void Eigen::internal::Assignment<DstXprType, Eigen::Product<Lhs, Rhs, Options>, Eigen::internal::assign_op<Scalar, Scalar>, Eigen::internal::Dense2Dense, typename Eigen::internal::enable_if<((Options == Eigen::DefaultProduct) || (Options == Eigen::AliasFreeProduct))>::type>::run(DstXprType&, const SrcXprType&, const Eigen::internal::assign_op<Scalar, Scalar>&) [with DstXprType = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; int Options = 0; Scalar = double; SrcXprType = Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>]’
  148 |     generic_product_impl<Lhs, Rhs>::evalTo(dst, src.lhs(), src.rhs());
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   [ skipping 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:372:102:   required from ‘struct Eigen::internal::plain_object_eval<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, Eigen::Dense>’
  372 |   typedef typename plain_matrix_type_dense<T,typename traits<T>::XprKind, evaluator<T>::Flags>::type type;
      |                                                                                                      ^~~~
./include/Eigen/src/Core/ProductEvaluators.h:370:45:   required from ‘struct Eigen::internal::generic_product_impl<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, Eigen::DenseShape, Eigen::DenseShape, 7>’
  370 |   typedef typename nested_eval<Rhs,1>::type RhsNested;
      |                                             ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:479:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Scalar = double]’
  478 |       return internal::generic_product_impl<Lhs,typename Rhs::ConstColXpr,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  479 |         ::scaleAndAddTo(dst_vec, a_lhs, a_rhs.col(0), alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::evalTo(Dst&, const Lhs&, const Rhs&) [with Dst = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>]’
  445 |       scaleAndAddTo(dst, lhs, rhs, Scalar(1));
      |       ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:148:43:   [ skipping 22 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0, 7>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 0>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:345:45:   [ skipping 26 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 29 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/util/XprHelper.h:372:102:   required from ‘struct Eigen::internal::plain_object_eval<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Dense>’
  372 |   typedef typename plain_matrix_type_dense<T,typename traits<T>::XprKind, evaluator<T>::Flags>::type type;
      |                                                                                                      ^~~~
./include/Eigen/src/Core/ProductEvaluators.h:369:45:   required from ‘struct Eigen::internal::generic_product_impl<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::DenseShape, Eigen::DenseShape, 7>’
  369 |   typedef typename nested_eval<Lhs,1>::type LhsNested;
      |                                             ^~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:486:24:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Scalar = double]’
  485 |       return internal::generic_product_impl<typename Lhs::ConstRowXpr,Rhs,DenseShape,DenseShape,GemvProduct>
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  486 |         ::scaleAndAddTo(dst_vec, a_lhs.row(0), a_rhs, alpha);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/products/GeneralMatrixMatrix.h:445:20:   required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::evalTo(Dst&, const Lhs&, const Rhs&) [with Dst = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>]’
  445 |       scaleAndAddTo(dst, lhs, rhs, Scalar(1));
      |       ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:148:43:   [ skipping 22 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1>, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Product.h:120:7:   required from ‘class Eigen::internal::dense_product_base<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, 8>’
  120 | class dense_product_base
      |       ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:152:7:   required from ‘class Eigen::ProductImpl<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, Eigen::Dense>’
  152 | class ProductImpl<Lhs,Rhs,Option,Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Product.h:71:7:   required from ‘class Eigen::Product<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1>’
   71 | class Product : public ProductImpl<_Lhs,_Rhs,Option,
      |       ^~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:462:68:   [ skipping 25 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 27 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true>, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true>, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Block.h:154:7:   [ skipping 27 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:207:26:   [ skipping 26 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/GeneralProduct.h:207:43:   [ skipping 26 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/Dot.h:50:56:   required from ‘static Eigen::internal::dot_nocheck<T, U, true>::ResScalar Eigen::internal::dot_nocheck<T, U, true>::run(const Eigen::MatrixBase<Derived>&, const Eigen::MatrixBase<U>&) [with T = Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>; U = Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true>; ResScalar = double]’
   50 |     return a.transpose().template binaryExpr<conj_prod>(b).sum();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./include/Eigen/src/Core/Dot.h:84:58:   [ skipping 26 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, 0>’:
./include/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:118:37:   required from ‘class Eigen::TransposeImpl<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true>, Eigen::Dense>’
  118 | template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Transpose.h:52:37:   required from ‘class Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >’
   52 | template<typename MatrixType> class Transpose
      |                                     ^~~~~~~~~
./include/Eigen/src/Core/Dot.h:50:23:   [ skipping 27 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/Dot.h:50:56:   required from ‘static Eigen::internal::dot_nocheck<T, U, true>::ResScalar Eigen::internal::dot_nocheck<T, U, true>::run(const Eigen::MatrixBase<Derived>&, const Eigen::MatrixBase<U>&) [with T = Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true>; U = Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>; ResScalar = double]’
   50 |     return a.transpose().template binaryExpr<conj_prod>(b).sum();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./include/Eigen/src/Core/Dot.h:84:58:   [ skipping 26 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false> >’:
./include/Eigen/src/Core/AssignEvaluator.h:774:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; SrcXprType = Eigen::Block<const Eigen::CwiseNullaryOp<scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false>; Functor = assign_op<double, double>]’
  774 |   SrcEvaluatorType srcEvaluator(src);
      |                    ^~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; SrcXprType = Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false>; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Src = Eigen::Block<const Eigen::CwiseNullaryOp<scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Src = Eigen::Block<const Eigen::CwiseNullaryOp<scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false>; Func = assign_op<double, double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:836:18:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, 1, -1, false>; Src = Eigen::Block<const Eigen::CwiseNullaryOp<scalar_identity_op<double>, Eigen::Matrix<double, -1, -1> >, 1, -1, false>]’
  836 |   call_assignment(dst, src, internal::assign_op<typename Dst::Scalar,typename Src::Scalar>());
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Assign.h:66:28:   [ skipping 24 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:739:78:   required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
  739 |     CoeffReadCost = int(evaluator<Lhs>::CoeffReadCost) + int(evaluator<Rhs>::CoeffReadCost) + int(functor_traits<BinaryOp>::Cost),
      |                                                                              ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:722:8:   required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> > >’
  722 | struct evaluator<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/Redux.h:357:7:   required from ‘class Eigen::internal::redux_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> > >’
  357 | class redux_evaluator : public internal::evaluator<_XprType>
      |       ^~~~~~~~~~~~~~~
./include/Eigen/src/Core/Redux.h:414:17:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Derived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, true> >; typename Eigen::internal::traits<T>::Scalar = double]’
  414 |   ThisEvaluator thisEval(derived());
      |                 ^~~~~~~~
./include/Eigen/src/Core/Redux.h:463:25:   [ skipping 28 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >’:
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:311:41:   required from ‘struct Eigen::internal::unary_evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, Eigen::internal::IndexBased, double>’
  311 |     CoeffReadCost = evaluator<ArgType>::CoeffReadCost,
      |                                         ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:90:8:   required from ‘struct Eigen::internal::evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> > >’
   90 | struct evaluator : public unary_evaluator<T>
      |        ^~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:100:8:   required from ‘struct Eigen::internal::evaluator<const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> > >’
  100 | struct evaluator<const T>
      |        ^~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:739:41:   required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_conj_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false>, 1, -1, true> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
  739 |     CoeffReadCost = int(evaluator<Lhs>::CoeffReadCost) + int(evaluator<Rhs>::CoeffReadCost) + int(functor_traits<BinaryOp>::Cost),
      |                                         ^~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:722:8:   [ skipping 31 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >, 0>’:
./include/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
./include/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> > >’
   48 | template<typename Derived> class MatrixBase
      |                                  ^~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>, 1, -1, false> >, const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true> >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
./include/Eigen/src/Core/ProductEvaluators.h:606:52:   required from ‘const Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::CoeffReturnType Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::coeff(Eigen::Index, Eigen::Index) const [with Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; int ProductTag = 8; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Lhs>::Scalar = double; typename Eigen::Product<Lhs, Rhs, 1>::Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Rhs>::Scalar = double; typename Eigen::Product<Lhs, Rhs, 1>::Rhs = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffReturnType = double; Eigen::Index = long int]’
  606 |     return (m_lhs.row(row).transpose().cwiseProduct( m_rhs.col(col) )).sum();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/AssignEvaluator.h:654:63:   [ skipping 29 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::CwiseUnaryOp<scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:797:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  797 |       internal::call_assignment_no_alias(this->derived(), other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/PlainObjectBase.h:594:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
  594 |       _set_noalias(other);
      |       ~~~~~~~~~~~~^~~~~~~
./include/Eigen/src/Core/Matrix.h:423:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, const Eigen::Inverse<Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> > > >, Eigen::Matrix<double, -1, -1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
  423 |       : Base(other.derived())
      |                             ^
treelearner/linear_tree_learner.cpp:349:21:   required from ‘void LightGBM::LinearTreeLearner::CalculateLinear(LightGBM::Tree*, bool, const LightGBM::score_t*, const LightGBM::score_t*, bool) const [with bool HAS_NAN = true; LightGBM::score_t = float]’
  349 |     Eigen::MatrixXd coeffs = - XTHX_mat.fullPivLu().inverse() * XTg_mat;
      |                     ^~~~~~
treelearner/linear_tree_learner.cpp:123:26:   required from here
  123 |     CalculateLinear<true>(tree_ptr, false, gradients_, hessians_, is_first_tree);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/serial_tree_learner.cpp -o treelearner/serial_tree_learner.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/tree_learner.cpp -o treelearner/tree_learner.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c treelearner/voting_parallel_tree_learner.cpp -o treelearner/voting_parallel_tree_learner.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c utils/openmp_wrapper.cpp -o utils/openmp_wrapper.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c c_api.cpp -o c_api.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -I./include -DEIGEN_MPL2_ONLY -DEIGEN_DONT_PARALLELIZE -DMM_PREFETCH=1 -DMM_MALLOC=1 -DUSE_SOCKET -DLGB_R_BUILD  -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -pthread -fpic  -g -O2 -Wall -pedantic -mtune=native   -c lightgbm_R.cpp -o lightgbm_R.o
g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -Wl,-O1 -o lightgbm.so boosting/boosting.o boosting/gbdt.o boosting/gbdt_model_text.o boosting/gbdt_prediction.o boosting/prediction_early_stop.o boosting/sample_strategy.o io/bin.o io/config.o io/config_auto.o io/dataset.o io/dataset_loader.o io/file_io.o io/json11.o io/metadata.o io/parser.o io/train_share_states.o io/tree.o metric/dcg_calculator.o metric/metric.o objective/objective_function.o network/linker_topo.o network/linkers_mpi.o network/linkers_socket.o network/network.o treelearner/data_parallel_tree_learner.o treelearner/feature_histogram.o treelearner/feature_parallel_tree_learner.o treelearner/gpu_tree_learner.o treelearner/gradient_discretizer.o treelearner/linear_tree_learner.o treelearner/serial_tree_learner.o treelearner/tree_learner.o treelearner/voting_parallel_tree_learner.o utils/openmp_wrapper.o c_api.o lightgbm_R.o -fopenmp -pthread -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -lR
make[1]: Leaving directory '/home/hornik/tmp/scratch/Rtmpr4roIw/R.INSTALL726b373bbcc7a/lightgbm/src'
make[1]: Entering directory '/home/hornik/tmp/scratch/Rtmpr4roIw/R.INSTALL726b373bbcc7a/lightgbm/src'
make[1]: Leaving directory '/home/hornik/tmp/scratch/Rtmpr4roIw/R.INSTALL726b373bbcc7a/lightgbm/src'
installing to /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/00LOCK-lightgbm/00new/lightgbm/libs
** R
** data
** demo
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package ‘lightgbm’
    finding HTML links ... done
    agaricus.test                           html  
    agaricus.train                          html  
    bank                                    html  
    dim                                     html  
    dimnames.lgb.Dataset                    html  
    getLGBMThreads                          html  
    get_field                               html  
    lgb.Dataset                             html  
    lgb.Dataset.construct                   html  
    lgb.Dataset.create.valid                html  
    lgb.Dataset.save                        html  
    lgb.Dataset.set.categorical             html  
    lgb.Dataset.set.reference               html  
    lgb.configure_fast_predict              html  
    lgb.convert_with_rules                  html  
    lgb.cv                                  html  
    lgb.drop_serialized                     html  
    lgb.dump                                html  
    lgb.get.eval.result                     html  
    lgb.importance                          html  
    lgb.interprete                          html  
    lgb.load                                html  
    lgb.make_serializable                   html  
    lgb.model.dt.tree                       html  
    lgb.plot.importance                     html  
    lgb.plot.interpretation                 html  
    lgb.restore_handle                      html  
    lgb.save                                html  
    lgb.slice.Dataset                       html  
    lgb.train                               html  
    lgb_shared_dataset_params               html  
    lgb_shared_params                       html  
    lightgbm                                html  
    predict.lgb.Booster                     html  
    print.lgb.Booster                       html  
    setLGBMThreads                          html  
    set_field                               html  
    summary.lgb.Booster                     html  
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (lightgbm)