hosseinmoein / DataFrame

C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types and contiguous memory storage
https://hosseinmoein.github.io/DataFrame/
BSD 3-Clause "New" or "Revised" License
2.42k stars 307 forks source link

build Dataframe3.2.0 ERROR #318

Closed 1138886114 closed 1 month ago

1138886114 commented 1 month ago
cmake -DCMAKE_C_COMPILER=/usr/local/gcc/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/gcc/bin/g++ -DCMAKE_BUILD_TYPE=Debug -DHMDF_SANITY_EXCEPTIONS=1 -DHMDF_BENCHMARKS=1 -DHMDF_EXAMPLES=1 -DHMDF_TESTING=1 ..

-- The CXX compiler identification is GNU 14.1.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/gcc/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_C_COMPILER

-- Build files have been written to: /home/wangsp/DataFrame-3.2.0/Debug
[wangsp@localhost Debug]$
[wangsp@localhost Debug]$ make -j2
[  3%] Building CXX object CMakeFiles/DataFrame.dir/src/Utils/DateTime.cc.o
[  6%] Linking CXX static library libDataFrame.a
[  6%] Built target DataFrame
[  9%] Building CXX object test/CMakeFiles/dataframe_tester_2.dir/dataframe_tester_2.cc.o
[ 12%] Building CXX object test/CMakeFiles/dataframe_tester.dir/dataframe_tester.cc.o
In file included from /usr/local/gcc/include/c++/14.1.0/x86_64-pc-linux-gnu/bits/c++config.h:887,
                 from /usr/local/gcc/include/c++/14.1.0/limits:42,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/Utils/AlignedAllocator.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/Vectors/HeteroVector.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/DataFrameTypes.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/DataFrameStatsVisitors.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/DataFrame.h:32,
                 from /home/wangsp/DataFrame-3.2.0/test/dataframe_tester.cc:28:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_unique(_RandomAccessIterator, _RandomAccessIterator, _BinaryPredicate, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:1219:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 1219 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_partition(_RandomAccessIterator, _RandomAccessIterator, _UnaryPredicate, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:1929:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 1929 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_stable_partition(_RandomAccessIterator, _RandomAccessIterator, _UnaryPredicate, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:2029:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2029 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/gcc/include/c++/14.1.0/x86_64-pc-linux-gnu/bits/c++config.h:887,
                 from /usr/local/gcc/include/c++/14.1.0/limits:42,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/Utils/AlignedAllocator.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/Vectors/HeteroVector.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/DataFrameTypes.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/DataFrameStatsVisitors.h:32,
                 from /home/wangsp/DataFrame-3.2.0/include/DataFrame/DataFrame.h:32,
                 from /home/wangsp/DataFrame-3.2.0/test/dataframe_tester_2.cc:28:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_unique(_RandomAccessIterator, _RandomAccessIterator, _BinaryPredicate, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:1219:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 1219 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_partition(_RandomAccessIterator, _RandomAccessIterator, _UnaryPredicate, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:1929:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 1929 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_merge(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:2715:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2715 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘void __pstl::__internal::__brick_inplace_merge(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:2764:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2764 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial")
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_stable_partition(_RandomAccessIterator, _RandomAccessIterator, _UnaryPredicate, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:2029:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2029 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_OutputIterator __pstl::__internal::__brick_set_union(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _OutputIterator, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3141:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3141 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_merge(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:2715:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2715 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘void __pstl::__internal::__brick_inplace_merge(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:2764:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2764 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial")
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_intersection(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3202:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3202 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_difference(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3298:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3298 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_OutputIterator __pstl::__internal::__brick_set_union(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _OutputIterator, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3141:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3141 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_symmetric_differenc (_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3390:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3390 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_intersection(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3202:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3202 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_difference(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3298:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3298 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_symmetric_differenc (_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/local/gcc/include/c++/14.1.0/pstl/algorithm_impl.h:3390:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3390 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
hosseinmoein commented 1 month ago

This is your compiler's problem. I would change to a different compiler version or a different compiler.

Also see: https://stackoverflow.com/questions/77636938/c-parallel-stl-vectorized-algorithm-not-implemented-p2408

Also these are not errors but warnings. I think everything was compiled and linked on your side but with serial algorithms.

1138886114 commented 1 month ago

This is your compiler's problem. I would change to a different compiler version or a different compiler.

Also see: https://stackoverflow.com/questions/77636938/c-parallel-stl-vectorized-algorithm-not-implemented-p2408

Also these are not errors but warnings. I think everything was compiled and linked on your side but with serial algorithms.

I encountered this state when compiling on two different machines, and there was no response for a long time (waiting for 15 minutes)

hosseinmoein commented 1 month ago

What your compiler is saying is that it doesn't have the STL parallel algorithms implemented and it is defaulting to serial algorithms. I don't have access to a compiler with that problem. And if I even had access, there is nothing I could do about it.