forked from glfw/glfw
-
Notifications
You must be signed in to change notification settings - Fork 4
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
dependency on glibc 2.27 removed only on Linux x86/x64 architecture #1
Open
jobesu14
wants to merge
167
commits into
taichi-dev:glibc-compatibility
Choose a base branch
from
jobesu14:glibc-compatibility-arm64
base: glibc-compatibility
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
dependency on glibc 2.27 removed only on Linux x86/x64 architecture #1
jobesu14
wants to merge
167
commits into
taichi-dev:glibc-compatibility
from
jobesu14:glibc-compatibility-arm64
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Migrate to Xenial - Use whitelisted PPA instead of hardcoded deb URL - Only add X11 dependencies for X11 builds - Only set sudo on matrix entries (cherry picked from commit ff7d42a)
The monitor content scale was missing from the monitor properties paragraph. (cherry picked from commit be71147)
(cherry picked from commit 42a3e44)
GLFW does not require the X11 extension libraries to build or run, so only fail if the headers are unavailable. (cherry picked from commit 5c5963f)
This replaces the manual ad-hoc version variables we have used since CMake 2.x (and GLFW 2.x lite). (cherry picked from commit a255e7a)
This replaces the earlier manual logic for dependent CMake options with the cmake_dependent_option function from CMakeDependentOption. (cherry picked from commit cd290f7)
(cherry picked from commit c0eabc5)
(cherry picked from commit 7dc36dd)
This was left over from an old workaround for Travis CI having an ancient version of CMake pre-installed. (cherry picked from commit 535491c)
(cherry picked from commit 0ccb690)
(cherry picked from commit 700d1f2)
Most context related hint and attribute links had copypaste errors. The GLFW_CONTEXT_RELEASE_BEHAVIOR and GLFW_CONTEXT_NO_ERROR attributes did not have guide documentation. (cherry picked from commit 3cf7645)
(cherry picked from commit feaa532)
Files built for Win32 must use C89 style declarations for compatibility with VS 2010 and 2012, which are still supported by GLFW. (cherry picked from commit 56aad76)
(cherry picked from commit 3fd4e79)
This should have been done when the WGL extension members were moved from the context struct to the library struct. (cherry picked from commit 22a6c02)
(cherry picked from commit bb6945a)
(cherry picked from commit 267e06a)
Disabled cursor mode interfered with some non-client actions. (cherry picked from commit d0c3fa9)
(cherry picked from commit 84ec99b)
(cherry picked from commit e1d9e2b)
This will let higher-level projects override GLFW CMake options with normal variables instead of having to use cache variables. This means with CMake 3.13 and later you can now do: set(GLFW_BUILD_TESTS ON) add_subdirectory(path/to/glfw) Instead of the more verbose: set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE) add_subdirectory(path/to/glfw) (cherry picked from commit 71e6ff3)
(cherry picked from commit 51bb76c)
Thank you, Travis CI, for reminding me that one cannot disable a header with inclusion guards if it doesn't exist. (cherry picked from commit 537ea4c)
We can use C99 now and also we will need the event mask below. (cherry picked from commit 8149a5f)
(cherry picked from commit a3d28ef)
(cherry picked from commit 5dd2070)
(cherry picked from commit bf292f0)
A window resize action that also resulting in the window being moved did not emit any window positions events, as the position of real ConfigureNotify events was ignored. The real events use parent coordinates instead of root coordinates so this adds parent tracking and conditional translation. Fixes glfw#1613. (cherry picked from commit fe57e3c)
When the WM does not support EWMH or there is no WM running, GLFW falls back to XSetInputFocus, which will emit BadMatch if the window is not viewable, which will terminate the program. Bug spotted on IRC. (cherry picked from commit aa5e313)
This is a fix relative to 3.3.1 but not 3.3. Related to glfw#1620.
If the application is not linked against the Vulkan loader and relies on a third-party loader library or glfwGetInstanceProcAddress, then our call to dlopen will fail without a custom dyld environment variable. This adds a fallback of looking in the directory of the main executable, which matches the bundle structure recommended by the Vulkan SDK, making that finally work out of the box for fully dynamic loading. (cherry picked from commit 7da87aa)
The synchronous key state seems to make more sense in context. (cherry picked from commit a491b06)
(cherry picked from commit 5f1631c)
Some synthetic key messages come with a scancode of zero, causing them to be translate to GLFW_KEY_UNKNOWN. This fills in the missing scancode by translating the provided virtual key. Rather than further complicate a single-use function, its body is merged into the key message handler. Fixes glfw#1623. (cherry picked from commit 789a2bc)
(cherry picked from commit 190673e)
(cherry picked from commit 46c7c1c)
Actually as I have access to the Jetson Nano only, I cannot test on other ARM device like the Jetson TX2. |
bobcao3
force-pushed
the
glibc-compatibility
branch
from
November 6, 2021 01:58
8bc966b
to
168d6d2
Compare
bobcao3
force-pushed
the
glibc-compatibility
branch
from
June 16, 2024 09:41
cf9263d
to
a796773
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Compiling Taichi at this commit on Jetson Nano succeed but the linking phase failed with the following error:
On other part of the Taichi repo we can see that the following syntax has been used to selectively avoid dependencies on glibc 2.27
#if defined(TI_PLATFORM_LINUX) && defined(TI_ARCH_x64)
As the
TI_PLATFORM_LINUX
andTI_ARCH_x64
are defined in TaichiCXXFlags.cmake of the main taichi repository, I didnt want to use them to make sure the glfw repo still builds on its own.Note: I am not sure if the proposed solution is good enough or if I should do this instead:
#if defined(__linux__) && !defined(__aarch64__)