tarantool / tarantool

Get your data in RAM. Get compute close to data. Enjoy the performance.
https://www.tarantool.io
Other
3.4k stars 379 forks source link

Build failed for 2.1 - 2.7, `SIGSTKSZ` #8161

Closed Serpentian closed 1 year ago

Serpentian commented 1 year ago

Cannot build tarantool's releases from branches 2.1 - 2.7. Build fails with the following error:

tarantool/test/unit/guard.cc:31:23: error: size of array ‘stack_buf’ is not an integral constant-expression
   31 | static char stack_buf[SIGSTKSZ];
      |                       ^~~~~~~~

The problem is that SIGSTKSZ in modern glibc is a run-time variable: https://sourceware.org/pipermail/libc-alpha/2021-March/123553.html

Serpentian commented 1 year ago

The same error on ubuntu:latest docker container

olegrok commented 1 year ago

See https://github.com/tarantool/tarantool/pull/6708/files

Serpentian commented 1 year ago

See https://github.com/tarantool/tarantool/pull/6708/files

Shouldn't we backport this commit to 2.1 - 2.7 branches too? I managed to build these versions only on ubuntu:20.04 container.

olegrok commented 1 year ago

I'm not sure anybody want to do it. But you can modify docker file and cherry-pick commit you need - https://github.com/tarantool/docker/blob/841e9dccc806e8111b42d6dafccec83c1e102925/dockerfiles/alpine_3.15#L108

Or you can push .patch file to tarantool/docker repo and apply that change.

Totktonada commented 1 year ago

Old versions may require extra work to build on modern OSes. That's expected. 2.1-2.8 are EOL, they'll not receive updates anymore. See https://www.tarantool.io/ru/doc/latest/release/calendar/ or https://endoflife.date/tarantool.

See https://github.com/tarantool/tarantool/wiki/User:Totktonada#build-old-tarantool-version for recipes how to build particular old tarantool version on a modern OS.