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

Fix build on linux64 (non-x86_64) #640

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

sksat
Copy link
Collaborator

@sksat sksat commented May 3, 2024

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, the PC_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, within ExtLibraries/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 the PC_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.

@sksat sksat added the tools label May 3, 2024
@sksat sksat self-assigned this May 3, 2024
@sksat sksat requested a review from a team as a code owner May 3, 2024 17:45
@sksat sksat requested review from 200km, seki-hiro, suzuki-toshihir0, t-hosonuma and conjikidow and removed request for a team May 3, 2024 17:45
Copy link
Member

@200km 200km left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

レビューが遅くなり申し訳ございません。Approveさせていただきました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 🏗 In Progress
Development

Successfully merging this pull request may close these issues.

None yet

2 participants