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

Some parts of the devkitARM build scripts assume /opt/devkitpro is the installation directory and fail to build if a different path is chosen #59

Closed
camthehaxman opened this issue Jan 17, 2024 · 5 comments

Comments

@camthehaxman
Copy link

Bug Report

What's the issue you encountered?

Since there are no devkitPro packages available for Void Linux, I decided to build devkitPPC and devkitARM from source using these buildscripts and install them to /opt/mydevkitpro. While devkitPPC compiled and installed successfully, devkitARM did not due to some of the build scripts assuming /opt/devkitpro as the installation directory.

How can the issue be reproduced?

  1. Download the devkitPro buildscript repository on Linux with git clone https://github.com/devkitPro/buildscripts
  2. Enter the directory. cd buildscripts
  3. Build devkitARM by running the build-devkit.sh script. When it asks you to select a toolchain, enter 1 to build devkitARM. When it asks you to enter a directory where you would like to install it, type something OTHER than /opt/devkitpro. For example, I chose /opt/mydevkitpro.
  4. Wait a few minutes for the build to finish.
  5. The build will eventually error out with a message like this:
Makefile:5: /opt/mydevkitPro/devkitARM/base_rules: No such file or directory
make: *** No rule to make target '/opt/mydevkitPro/devkitARM/base_rules'.  Stop.
Error building crtls & rules

It turns out that all of those *_rules files actually got installed to /opt/devkitpro/devkitARM instead of /opt/mydevkitpro/devkitARM like they should have, so the Makefile is unable to find them.

devkitPPC is not affected by this bug, and I was able to compile install that into a directory of my choosing. I have not tried devkitA64.

Environment?

Void Linux x86-64
GNU bash 5.2.2
GNU Make 4.4.1
GCC 12.2.0

Additional Info

After doing a simple grep, it appears that three files (.devkitARM/devkitarm-crtls-1.2.2/Makefile, .devkitARM/devkitarm-rules-1.5.0/Makefile and .devkitARM/devkitarm-rules-1.5.0/base_tools) have this /opt/devkitpro path hardcoded in them somewhere.

@WinterMute
Copy link
Member

WinterMute commented Jan 17, 2024

We don't support use of the tools in custom prefixes nor do we support 3rd party packaging.

@camthehaxman
Copy link
Author

Can you at least add a note to the README that it requires /opt/devkitpro as the prefix?

@WinterMute
Copy link
Member

Can you at least add a note to the README that it requires /opt/devkitpro as the prefix?

c04144a should cover it.

FWIW, devkitPro tooling can be managed on voidLinux with pacman quite happily. See https://devkitpro.org/viewtopic.php?t=8847

@oreo639
Copy link

oreo639 commented Jan 18, 2024

FWIW, devkitPro tooling can be managed on voidLinux with pacman quite happily

Yeah, you can just follow the steps here:
https://devkitpro.org/wiki/devkitPro_pacman

On glibc, the steps are basically the same as Fedora, just instead of dnf install, use xpbs-install.
On musl, you need to use a glibc chroot: https://docs.voidlinux.org/config/containers-and-vms/chroot.html

@camthehaxman
Copy link
Author

I installed pacman from the void repos and added the devkitpro repository. Thanks.

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

No branches or pull requests

3 participants