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.
Related issues / PRs
Description
Currently, we install the
ExtLibraries/cspice
by downloading pre-compiled binaries specific to each environment. However, NASA/JPL does not not provide binaries for all environments. Specifically, thePC_Linux_GCC_64bit
variant is actually intended for x86_64 Linux environments. As a result, when attempting to use cspice in aarch64 Linux environment, it inadvertently installs the x86_64 version, which causes the build of S2E to fail.To address this issue, this patch add a mechanism to build cspice from source code in non-x86_64 (but 64bit Linux) environments.
Test results
Provide the test results and a link to the detailed results log.
Impact
Make
ExtLibraries/cspice
usable in 64-bit Linux environments with non-x86_64 architectures, such as aarch64 Linux (e.g., Raspberry Pi OS).Supplementary information
The NASA/JPL's original build scripts for cspice indiscriminately apply the
-m64
compile option. However, withinExtLibraries/cspice
, it is assumed that the C compiler used for building is installed on the target environment’s host. Therefore, there is no need for cross-compilation flags like-m64
(although it is necessary to consider such options when building SILS-S2E with C2A for the i686 architecture, in which case the entire project is built for i686 and uses thePC_Linux_GCC_32bit
variant).Moreover, compile options like
-m32
and-m64
are often not implemented in compilers for architectures other than x86_64. For example, it is impossible to use-m64
on an aarch64 Linux system.Consequently, this patch includes modifications to remove the
-m64
option from the cspice original build script prior to building.