-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tensorboard_data_server is not conform to manylinux2010 #4928
Comments
Hi @DavHau—thanks for the report! We might be able to drop the |
Summary: The RustBoard data server now uses `rustls` as a TLS backend instead of using OpenSSL. This culls the `libcrypto.so.1.1` and `libssl.so.1.1` shared library dependencies, fixing #4928. Test Plan: Run with `--logdir gs://tensorboard-bench-logdir/edge_cgan` to verify that RustBoard still works. Then, dump the `ldd` output: ``` $ cd tensorboard/data/server/ $ cargo build --release $ ldd target/release/rustboard linux-vdso.so.1 (0x00007ffe8afbd000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f422533e000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f422531c000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f42251d8000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f42251d2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f422500d000) /lib64/ld-linux-x86-64.so.2 (0x00007f4225b66000) ``` …and verify that all the shared libraries are on the [manylinux2010 whitelist]. [manylinux2010 whitelist]: https://www.python.org/dev/peps/pep-0571/#the-manylinux2010-policy wchargin-branch: rust-rustls wchargin-source: 51e7f815217d9a1ce3252757b4de3672635424ca
@DavHau: Sent #4931 to fix this. If you want to give this a shot, you Or, you can of course build from source. |
Thanks for the quick fix! |
Summary: The RustBoard data server now uses `rustls` as a TLS backend instead of using OpenSSL. This culls the `libcrypto.so.1.1` and `libssl.so.1.1` shared library dependencies, fixing #4928. Test Plan: Run with `--logdir gs://tensorboard-bench-logs/edge_cgan` to verify that RustBoard still works. Then, dump the `ldd` output: ``` $ cd tensorboard/data/server/ $ cargo build --release $ ldd target/release/rustboard linux-vdso.so.1 (0x00007ffe8afbd000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f422533e000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f422531c000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f42251d8000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f42251d2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f422500d000) /lib64/ld-linux-x86-64.so.2 (0x00007f4225b66000) ``` …and verify that all the shared libraries are on the [manylinux2010 whitelist]. [manylinux2010 whitelist]: https://www.python.org/dev/peps/pep-0571/#the-manylinux2010-policy wchargin-branch: rust-rustls
@DavHau: You're welcome; thanks again for the clear report! I've pushed |
BTW, just out of curiosity I was running
Following the specs, it is still not manylinux2010 compatible, but since your last change it is at least "manylinux_2_24_x86_64". EDIT: This doesn't raise any problem for me personally. I just thought I'd let you know. |
Hmm. I'd picked
Are you running into symbol version issues with either edit: I guess this is actually fine for TensorFlow, since
per PEP 600. I'm still inclined to defer action until there's a Thanks for your patience; distributing Python binary distributions is |
No, I'm not running into any issues. Just people with an old glibc version might. |
Serendipitously, an article "Building Rust binaries in CI that work with
So, if anyone ends up wanting to look into actually building to |
Interesting. Many people seem to have these issues with glibc versions and still nobody mentioned nix which is designed to solve exactly these kind of issues. It allows you to create environments with arbitrary package version. You can even have tools in your environment that depend on different glibc versions at the same time without having conflicts. |
This issue has caused a problem for me. When I run TensorBoard, I get the following error: I am running on CentOS 7, and the most recent version of glibc on my system is Given that you said you target I don't know if modifying the build process is extremely important (I can't seem to find any other glibc-related bugs in the issue tracker), but hopefully the scripts in the main TensorFlow repository can help fix the workflow if you deem it worth doing. Footnotes
|
In the manylinux2010 tagged .whl release of tensorboard_data_server, the following file is not manylinux conform:
tensorboard_data_server/bin/server
dynamically links againstlibcrypto.so.1.1
andlibssl.so.1.1
which are not part of the allowed dependencies according to PEP 571 -- The manylinux2010 Platform TagOn systems with explicit dependency management like NixOS this leads to trouble.
I guess either the manylinux2010 tag or the dependency on the mentioned libraries should be removed.
The text was updated successfully, but these errors were encountered: