Skip to content
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

Don't use std::thread on Linux #1113

Closed
wants to merge 1 commit into from

Conversation

akx
Copy link
Contributor

@akx akx commented Mar 7, 2024

This augments #1024 so the use of std::thread on Linux is an option.

This is required to make the build not require GLIBCXX_3.4.29 or newer, which may not be available on older Linux distributions.

Copy link

github-actions bot commented Mar 7, 2024

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@akx
Copy link
Contributor Author

akx commented Mar 7, 2024

Without std::thread the required GLIBCXX version is 3.4.22 (which is fine on e.g. Ubuntu 20.04).

# diff master.txt 1113.txt
1,5c1,5
< /bitsandbytes/libbitsandbytes_cpu.so: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /bitsandbytes/libbitsandbytes_cpu.so)
< 	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fffffdd7000)
< 	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fffffc86000)
< 	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fffffc6b000)
< 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fffffa79000)
---
> ./libbitsandbytes_cpu.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./libbitsandbytes_cpu.so)
> 	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fffffde0000)
> 	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fffffc8f000)
> 	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fffffc74000)
> 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fffffa82000)
9c9
< 	/bitsandbytes/libbitsandbytes_cpu.so:
---
> 	./libbitsandbytes_cpu.so:
12a13
> 		libc.so.6 (GLIBC_2.34) => not found
14d14
< 		libstdc++.so.6 (GLIBCXX_3.4.11) => /lib/x86_64-linux-gnu/libstdc++.so.6
16,17d15
< 		libstdc++.so.6 (CXXABI_1.3.9) => /lib/x86_64-linux-gnu/libstdc++.so.6
< 		libstdc++.so.6 (GLIBCXX_3.4.29) => not found
20d17
< 		libstdc++.so.6 (GLIBCXX_3.4.22) => /lib/x86_64-linux-gnu/libstdc++.so.6

@akx akx force-pushed the revert-std-thread branch from 16541ff to 29562ee Compare March 7, 2024 09:47
@akx akx changed the title Experimental, please ignore: No std::thread on Linux Don't use std::thread on Linux Mar 7, 2024
@akx akx force-pushed the revert-std-thread branch 5 times, most recently from 0cb5dd8 to af6ed55 Compare March 7, 2024 12:53
@akx akx force-pushed the revert-std-thread branch from af6ed55 to a8025b8 Compare March 7, 2024 12:55
@akx
Copy link
Contributor Author

akx commented Mar 7, 2024

cc @rickardp as the author of #1024 – does this look sensible?

@akx akx marked this pull request as ready for review March 7, 2024 14:05
@akx akx marked this pull request as draft March 7, 2024 14:33
@akx
Copy link
Contributor Author

akx commented Mar 7, 2024

EDIT: okay, now that I checked the built .sos, they still target a too-new GLIBCXX somehow, meh.

@akx akx closed this Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant