Closed lelikg closed 11 months ago
The configure
script of liburing defines UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H
macro which prevents the offending linux/time_types.h
file from being included:
Probably Meson wrap file doesn't do it.
I've already tested this behaviour by removing time_types.h
from the system and it failed to me once, but I could not reproduce. The rest of the times it compiled correctly by replacing the time definitions.
I've already tested this behaviour by removing
time_types.h
from the system and it failed to me once, but I could not reproduce. The rest of the times it compiled correctly by replacing the time definitions.
I don't understand what you mean. I just said that the official configure
script of liburing does checks to see if it should define that macro or not, while the meson wrap file doesn't.
This is the meson.build
file of liburing. It doesn't setup the UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H
macro at all and it doesn't check the existence of linux/time_types.h
at all:
@ibc, there are many meson.build
files in liburing. This one exactly is the one building the compat.h
file which is the file created at build time and the one that includes or not the time_types.h
based on its existence.
@lelikg, we need the full logs for the installation.
I can only reproduce the problem if I follow these steps:
time_types.h
is in my system.worker$ make
-> meson setup
(this will notice that time_types.h
exists and include it in compat.h
)time_types.h
from the systemmeson setup --reconfigure
(this won't check that time_types.h
is not present and will not update compat.h
)compat.h
does include a file that does not exists, the error that is happening will occur.Which in a npm install
process doesn't seem to be a feasible scenario.
@lelikg,
Is it possible that you are running npm install
, then some system header files change, and later you are calling npm install
again?
This is a feasible (but buggy) scenario when creating Docker images where you create the images in different steps.
@jmillan I'll try to get the full logs for you. meanwhile I can say that I set the mediasoup version to "3.13.6" and the build works
@jmillan here is a complete log of the docker build scratch_63.txt
@lelikg, I don't see the very exact problem here, but you are using Debian Buster (oldoldstable) which comes with the kernel version 4.19.
We only enable liburing for kernel versions >=6. This means that your Docker/Kubernetes executable has a kernel version >=6, but you are creating an image with an old Debian. The image uses Docker/Kubernets kernel, this is why it's being enabled in this case.
I would suggest you to upgrade to at least the current stable Debian version (bookworm), for many reasons, and try to install mediasoup version 3.3.17 again.
Probably irrelevant, but the prebuilt is failing so local build is done. This is a known issue with some not super recent Debian versions AFAIR:
npm-scripts.mjs [36m[INFO] [postinstall][0m downloadPrebuiltWorker() | got mediasoup-worker prebuilt binary
2023-12-04T17:08:36.0738600Z #12 177.3 npm ERR! npm-scripts.mjs [36m[INFO] [postinstall][0m downloadPrebuiltWorker() | checking fetched mediasoup-worker prebuilt binary in current host
2023-12-04T17:08:36.0740299Z #12 177.3 npm ERR! npm-scripts.mjs [36m[INFO] [postinstall][0m couldn't fetch any mediasoup-worker prebuilt binary, building it locally
@lelikg,
Can you please run npm install --foreground-scripts
and attach the logs. They will hopefully show how liburing objects are compiled.
@lelikg,
Please add the package linux-libc-dev
to the apt-get install
directive before running npm install
. It should make it as it will install linux/time_types.h
header file.
We're working in fixing the root problem.
@lelikg,
Please add the package
linux-libc-dev
to theapt-get install
directive before runningnpm install
. It should make it as it will installlinux/time_types.h
header file.We're working in fixing the root problem.
Hi @jmillan thanks a lot, I added what you suggested and it works. Great job on the library it's amazing
Leon
Operating system:
Debian Buster
Issue description
When running npm install, fails with: