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

Building on CentOS7 aarch #42

Open
deadline42 opened this issue Jun 21, 2023 · 5 comments
Open

Building on CentOS7 aarch #42

deadline42 opened this issue Jun 21, 2023 · 5 comments

Comments

@deadline42
Copy link

I'm trying to build version 2.5.1 on CentOS 7 for Arm.
I ma not a wel versed in building Java projects with Gradle.

Here is my Gradle environment:

gradle -v

Welcome to Gradle 8.1!

Here are the highlights of this release:

  • Stable configuration cache
  • Experimental Kotlin DSL assignment syntax
  • Building with Java 20

For more details see https://docs.gradle.org/8.1/release-notes.html


Gradle 8.1

Build time: 2023-04-12 12:07:45 UTC
Revision: 40ba32cde9d6daf2b92c39376d2758909dd6b813

Kotlin: 1.8.10
Groovy: 3.0.15
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 17.0.7 (Oracle Corporation 17.0.7+8-LTS-224)
OS: Linux 4.18.0-348.20.1.el7.aarch64 aarch64

I downloaded version 2.5.1 and ran the following:

[root@localhost KafkaEsque-2.5.1]# gradle run
Starting a Gradle Daemon (subsequent builds will be faster)

Configure project :
Project : => no module-info.java found

Task :compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Task :versionFile FAILED

FAILURE: Build failed with an exception.

  • Where:
    Build file '/root/KafkaEasque/KafkaEsque-2.5.1/build.gradle' line: 110

  • What went wrong:
    Execution failed for task ':versionFile'.

Cannot invoke method head() on null object

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

BUILD FAILED in 4m 30s
2 actionable tasks: 2 executed

Can someone help with this issue?

Thanks

@patschuh
Copy link
Owner

patschuh commented Jun 27, 2023

I assume you downloaded the source code archive of the release.

The versionFile task currently requires that it is run from within a git repository.
You can either initialize the directory extracted from the archive as a git repository and make a commit, so it can find a head commit hash or just clone the repository and checkout the version tag you want to build instead of using the source archive.

@deadline42
Copy link
Author

Thanks that did the trick, "gradle build" worked but when I try to run it using KafkaEsque script from the KafkaEsque-2.5.1.tar I get a message about a library, seems it is AMD 64 but should be AARCH64

sh KafkaEsque-2.5.1/bin/KafkaEsque

...
/root/.openjfx/cache/17/libprism_es2.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64 .so on a AARCH64 platform)

...

@patschuh
Copy link
Owner

Not sure about this error, but it mentions a file in the openjfx cache directory. are you sure your openjfx is an aarch64 version?

@deadline42
Copy link
Author

I'll investigate further, however, I did not install openjfx, so maybe it download the x86 version it into the cache directory
(as I mention I'm not Java programmer)

Do you do contract work? Can you contact me at [email protected]

@MWin123
Copy link
Contributor

MWin123 commented Oct 5, 2023

Hi @deadline42,

I assume you're running on a machine that supports only aarch64/ARM64, and not x86/x64?

ARM builds are on my wishlist, but unfortunately the GitHub-hosted CI runners don't support ARM yet. Fortunately, the new M1/M2 MacBooks all have a compatibility layer that allows you to run x86/x64 as well with some overhead.

I guess you don't have such a compatibility layer on your system?

I'm not that familiar with Arch Linux but I think it doesn't use DEB or RPM files? I would be happy to provide packages for Arch Linux as well but I haven't used it before, and I'm not sure if our plugins support it. IIRC adding the DEB & RPM builds was pretty simple.

If someone would like to add Kafkesque to the AUR it would be great. I'm not sure what that entails but, e.g., for Homebrew for macOS we have a separate https://github.com/patschuh/homebrew-esque repo that's comparable to a custom PPA repo on Ubuntu.

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