Closed axrt closed 1 week ago
Yes, the current master branch requires C++23. But the past releases started from C++17 and up. You can look at the release notes to find out when requirements changed. I noted complier changes in release notes.
C++17 was a while ago, but see release notes
Ok, makes sense, let me try different envs 👍
Sorry, took me very long to get to this.. Here are some results, certainly not a pr material, but could save people some time.
OS | GCC Version | C++ Standard Support | DataFrame Version | Compiles | Comment |
---|---|---|---|---|---|
Ubuntu 20.04 | 9.4.0 | C++14 to C++17 | 3.3.0 | No | |
Ubuntu 20.04 | 9.4.0 | C++14 to C++17 | 3.1.0 | No | |
Ubuntu 20.04 | 9.4.0 | C++14 to C++17 | 2.3.0 | No | |
Ubuntu 20.04 | 9.4.0 | C++14 to C++17 | 2.2.0 | No | |
Ubuntu 20.04 | 9.4.0 | C++14 to C++17 | 2.1.0 | Yes | |
Ubuntu 20.04 | 9.4.0 | C++14 to C++17 | 2.0.0 | No | Tests do not seem to compile well |
Ubuntu 20.04 | 9.4.0 | C++14 to C++17 | 1.22.0 | Yes | |
Ubuntu 22.04 | 11.2.0 | C++17 to C++20 | 3.3.0 | No | |
Ubuntu 22.04 | 11.2.0 | C++17 to C++20 | 3.1.0 | No | |
Ubuntu 22.04 | 11.2.0 | C++17 to C++20 | 2.3.0 | No | |
Ubuntu 22.04 | 11.2.0 | C++17 to C++20 | 2.2.0 | Yes | |
Ubuntu 22.04 | 11.2.0 | C++17 to C++20 | 2.1.0 | Yes | |
Ubuntu 22.04 | 11.2.0 | C++17 to C++20 | 2.0.0 | No | Tests do not seem to compile well |
Ubuntu 22.04 | 11.2.0 | C++17 to C++20 | 1.22.0 | Yes | |
Ubuntu 24.04 | 13.0.0 | C++20 to C++23 | 3.3.0 | Yes | Hangs at building step, consumes 10GB RAM, compiles by end of day |
Ubuntu 24.04 | 13.0.0 | C++20 to C++23 | 3.1.0 | No | Tests do not seem to compile well |
Ubuntu 24.04 | 13.0.0 | C++20 to C++23 | 2.3.0 | Yes | |
Ubuntu 24.04 | 13.0.0 | C++20 to C++23 | 2.2.0 | Yes | |
Ubuntu 24.04 | 13.0.0 | C++20 to C++23 | 2.1.0 | Yes | |
Ubuntu 24.04 | 13.0.0 | C++20 to C++23 | 2.0.0 | No | Tests do not seem to compile well |
Ubuntu 24.04 | 13.0.0 | C++20 to C++23 | 1.22.0 | Yes | |
Rockylinux 9.3 | 11.4.1 | C++17 to C++20 | 3.3.0 | No | |
Rockylinux 9.3 | 11.4.1 | C++17 to C++20 | 3.1.0 | No | |
Rockylinux 9.3 | 11.4.1 | C++17 to C++20 | 2.3.0 | No | |
Rockylinux 9.3 | 11.4.1 | C++17 to C++20 | 2.2.0 | Yes | |
Rockylinux 9.3 | 11.4.1 | C++17 to C++20 | 2.1.0 | Yes | |
Rockylinux 9.3 | 11.4.1 | C++17 to C++20 | 2.0.0 | No | Tests do not seem to compile well |
Rockylinux 9.3 | 11.4.1 | C++17 to C++20 | 1.22.0 | Yes |
I used docker and official images for ubuntu and rocky. Also, noticed the recent reddit post, I guess, safe to say the release works well with gcc13.
Hope this helps!
Thanks for the effort
First of all thank you for the library, it is the long sought missing piece of C++ ecosystem that I have been looking for!
Question (in a form of offering to help): what would the range of compilers and compiler versions (roughly) be to do i grid-search-like table of compatibility? Would it be feasible to try compiling in different environments, or is it strictly 23 and that's it? I could do that and issue a pr against readme if you think this makes sense.
Tldr below: We use some ancient gcc at work (healthcare, so things have to be solid as a rock), but porting code from R and python is so difficult without proper dataframe functionality that it is a constant pain. I poked around randomly, and I think some earlier versions did compile with c++17. That is still too new for us, but at least worth considering. Maybe, if the functionality of the earlier versions of DataFrame is enough, we could go with earlier with the compiler that we have. Lmk, thanks again!