RUrlus/carma

is `cmake v3.16` necessary?

motiwari opened this issue · 7 comments

In c991fb0, it looks like the required cmake was bumped to 3.16.

Unfortunately, cmake 3.16 is incompatible with our build process; we are using carma to build a linux wheels out of a python package to ship to PyPI. It is required to build on an old manylinux Docker image on which building cmake 3.16 fails with the following error:

.... long output...
uv-src-unix-fs.c.o: In function `uv__fs_futime':
fs.c:(.text+0x22b): undefined reference to `futimens'
uv-src-unix-fs.c.o: In function `uv__fs_utime':
fs.c:(.text+0xebb): undefined reference to `utimensat'
collect2: error: ld returned 1 exit status
gmake: *** [cmake] Error 1
---------------------------------------------
Error when bootstrapping CMake:
Problem while running gmake
---------------------------------------------
Log of errors: /home/cmake-3.16.0/Bootstrap.cmk/cmake_bootstrap.log

Is it possible to build the stable version of carma with cmake v3.12? Or will this create bugs / is cmake v3.16 absolutely necessary?

Update: I changed 3.16 to 3.12 in the five instances and everything seems ok when building our package for python3.5 and python3.6, but segfaults on 3.7, 3.8, and 3.9

Hi @motiwari, sorry I couldn't get back to you earlier. We need 3.16 to find Numpy headers using functionality in CMake 3.16.
In general CMake should be easy to upgrade as it is pip installable.

How are you building wheels?

I have good experience with cibuildwheel which we use here to build wheels for a package with Pybind11 extension.

Thanks @RUrlus -- let me try and get back to you

@motiwari Any luck?

Hey @RUrlus thanks for the followup. Actually we decided for now not to build the wheels and ask users to build it directly themselves. We can close this issue for now -- I'll reopen if we decide to build the wheels again and run into any issues.

Hi @RUrlus , thanks for the pointer above to cibuildwheel; we have been able to use it to successfully build wheels on Intel Mac and Linux.

Were you able to successfully get it to build wheels for M1 Macs? I've checked out your linked wheels.yml but can't find it there. I'm trying to build a wheel for our project on M1 Macs, but don't have an M1 Mac myself.

Hi @motiwari, no I haven't yet. Although I did happen to work on our CI/CD pipeline today and came across a this link on how to set it up for apple silicon. https://cibuildwheel.readthedocs.io/en/stable/faq/#apple-silicon