Skip to content

Compilation failures when building danbing-tk with latest Eigen #35

Description

@biozzq

Dear all,

I encountered multiple compile errors while building danbing-tk after successfully cloning the repository with Eigen submodule. My build environment uses a conda GCC toolchain with C++14 standard enabled (The Makefile originally uses -std=c++11, but Eigen mandates C++14).

/public/home/zhengzhuqing/01.software/gcc/bin/x86_64-conda-linux-gnu-c++ -pthread -std=c++14 -I ./include -I ./include/eigen3 -O3 -o bin/danbing-tk src/aQueryFasta_thread.cpp
/public/home/zhengzhuqing/01.software/gcc/bin/x86_64-conda-linux-gnu-c++ -std=c++14 -I ./include -I ./include/eigen3 -O3 -o bin/fa2kmers src/fa2kmers.cpp
/public/home/zhengzhuqing/01.software/gcc/bin/x86_64-conda-linux-gnu-c++ -std=c++14 -I ./include -I ./include/eigen3 -O3 -o bin/genPanKmers src/genPanKmers.cpp
/public/home/zhengzhuqing/01.software/gcc/bin/x86_64-conda-linux-gnu-c++ -std=c++14 -I ./include -I ./include/eigen3 -O3 -o bin/ktools src/kmertools.cpp
/public/home/zhengzhuqing/01.software/gcc/bin/x86_64-conda-linux-gnu-c++ -std=c++14 -I ./include -I ./include/eigen3 -O3 -o bin/danbing-tk-pred src/pred.cpp
In file included from src/pred.cpp:1:
src/pred.h: In function 'uint64_t le2uint64(char*)':
src/pred.h:56:43: warning: left shift count >= width of type [-Wshift-count-overflow]
   56 |                (in[4]&0x00000000000000ff) << 32 |
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/pred.h:57:43: warning: left shift count >= width of type [-Wshift-count-overflow]
   57 |                (in[5]&0x00000000000000ff) << 40 |
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/pred.h:58:43: warning: left shift count >= width of type [-Wshift-count-overflow]
   58 |                (in[6]&0x00000000000000ff) << 48 |
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/pred.h:59:43: warning: left shift count >= width of type [-Wshift-count-overflow]
   59 |                (in[7]&0x00000000000000ff) << 56;
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/pred.h: In function 'void bias_correction(T&, ikmer_meta&, P&)':
src/pred.h:224:38: error: 'all' is not a member of 'Eigen'
  224 |                 auto igt = gt(Eigen::all, ikis);
      |                                      ^~~
src/pred.h:224:38: note: suggested alternatives:
In file included from ./include/eigen3/Eigen/Core:23,
                 from src/pred.h:4:
./include/eigen3/Eigen/src/Core/util/Macros.h:1404:34: note:   'Eigen::internal::all'
 1404 | EIGEN_DEVICE_FUNC constexpr bool all(T t, Ts... ts) {
      |                                  ^~~
In file included from ./include/eigen3/Eigen/Core:350:
./include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h:87:41: note:   'Eigen::placeholders::all'
   87 | static constexpr Eigen::internal::all_t all;
      |                                         ^~~
./include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h:87:41: note:   'Eigen::placeholders::all'
src/pred.h:230:29: error: 'all' is not a member of 'Eigen'
  230 |                 Bias(Eigen::all,tri) = bias;
      |                             ^~~
src/pred.h:230:29: note: suggested alternatives:
./include/eigen3/Eigen/src/Core/util/Macros.h:1404:34: note:   'Eigen::internal::all'
 1404 | EIGEN_DEVICE_FUNC constexpr bool all(T t, Ts... ts) {
      |                                  ^~~
./include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h:87:41: note:   'Eigen::placeholders::all'
   87 | static constexpr Eigen::internal::all_t all;
      |                                         ^~~
./include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h:87:41: note:   'Eigen::placeholders::all'
make: *** [Makefile:34: bin/danbing-tk-pred] Error 1

My compiler is conda GCC with C++14 support. Would you mind fixing these compile issues in the repository? Many thanks.

Best wishes,
Zheng zhuqing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions