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

How to build Fiji from source code for Linux system (ARM Architecture) #311

Open
codeseedling opened this issue Jul 25, 2022 · 2 comments
Open

Comments

@codeseedling
Copy link

First, I downloaded fiji-2.1.0, then decompressed it into the top-level directory, finally typed the command: mvn, and then the system began to build. The results are as follows:
I4`9V@N2J@(_JCR7V{WQ${C
I don't know whether the build is successful. If so, how should I start Fiji?
I can't find the binary file of Fiji, because I need to use simpleitk to call Fiji to test whether simpleitk is successfully installed. Because I'm an arm based machine, I can't directly download the precompiled binary package. Please help me.
image

@codeseedling
Copy link
Author

This is the command I execute: mvn, the following source directory. I need to build the binary file of Fiji, otherwise simpleitk cannot find Fiji
image

@ctrueden
Copy link
Member

ctrueden commented May 13, 2024

@codeseedling I apologize for your query going unanswered until now. There are several questions embedded in your question, so I'll try to address them one by one.

I don't know whether the build is successful.

Building this repository produces a versioned fiji.jar file in the target folder. So after running mvn, there will be a target/fiji-2.1.0.jar (or as of this writing, if you build the latest code: target/fiji-2.15.2-SNAPSHOT.jar).

There is an overview of Maven and how we use it here: https://imagej.net/develop/maven

If so, how should I start Fiji?

The easiest way to start Fiji is to download the binary distribution from https://fiji.sc/#download

I understand that you are trying to build Fiji from source, but running mvn on this repository will not produce an end-user Fiji application folder like the one you get when you download it.

The downloadable Fiji application is assembled by starting from an existing application, and replacing individual components with newer ones. (There is a repository / GitHub Actions CI job that automates this process here, in case you are curious.)

The closest thing we have to a build process that creates a Fiji application folder "from scratch" is the bin/populate-app.sh script in this repository. But it only builds out the application skeleton with all JAR files—no non-JAR resources are included. (This comment explains it a bit more in case you are curious.)

Other related issues include #38 and #39, which discuss some other misalignment across these two deployment mechanisms.

I can't find the binary file of Fiji

Building this repository does not produce a native binary. The executable that launches Fiji is currently the ImageJ Launcher, which is built separately. Very soon, Fiji's launcher will switch to Jaunch—but still: it's a separate component from the repository here.

because I need to use simpleitk to call Fiji to test whether simpleitk is successfully installed.

I know it has been almost two years, and you have probably moved on from this project by now. But if it still matters to you: I would need more details on what you are trying to accomplish with Fiji + SimpleITK. Is there documentation somewhere you are trying to follow? What is/was your technical goal?

Because I'm an arm based machine, I can't directly download the precompiled binary package.

The switch to Jaunch will enable Fiji to work better out of the box on ARM architecture. The plan in the near term is to start offering new download bundles for both macOS arm64 and Linux arm64.

CC @Kiri2002

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

2 participants