pdfsam icon indicating copy to clipboard operation
pdfsam copied to clipboard

Not able to build pdfsam-basic - jlink error - module-path must be specified

Open vinyanalista opened this issue 5 years ago • 6 comments

Hi! First of all, thanks for the great software!

I'm trying to build PDFsam Basic v4.0.1 on openSUSE Leap 15.0. I have Maven, OpenJDK 11 and gettext installed, as instructed on the Build and run wiki page.

What I've done:

$ git clone https://github.com/torakiki/pdfsam.git
$ cd pdfsam
$ git checkout v4.0.1
$ mvn clean install -DskipTests -Drelease -Dgpg.skip

(I needed to add -Dgpg.skip so it does not try to run the maven-gpg-plugin, which was failing)

The last command fails:

[...]

[INFO] --- exec-maven-plugin:1.5.0:exec (jlink) @ pdfsam-basic ---
Error: --module-path must be specified
Usage: jlink <options> --module-path <modulepath> --add-modules <module>[,<module>...]
Use --help for a list of possible options
[ERROR] Command execution failed.

[...]

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for PDFsam 4.0.1:

[...]

[INFO] PDFsam desktop client application .................. SUCCESS [  2.130 s]
[INFO] PDFsam Basic Edition application ................... FAILURE [  1.261 s]
[INFO] PDFsam docs ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  19.025 s
[INFO] Finished at: 2019-05-04T18:28:09-03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (jlink) on project pdfsam-basic: Command execution failed.: Process exited with an error: 2 (Exit value: 2) -> [Help 1]

[...]

vinyanalista avatar May 04 '19 21:05 vinyanalista

I know nothing about Java 11 and jlink, but I believe the --module-path argument should be added to the file pdfsam-basic/pom.xml, by the line 130, something like this:

<configuration>
	<executable>jlink</executable>
	<toolchain>jdk</toolchain>
	<arguments>
		<argument>--module-path</argument>
		<argument>MODULE_PATH_HERE</argument>
		<argument>--add-modules</argument>
		<argument>java.base,java.datatransfer,java.logging,java.naming,java.sql,java.desktop,java.xml,java.scripting,jdk.unsupported,java.prefs</argument>
		<argument>--output</argument>
		<argument>${project.build.directory}/assembled/runtime</argument>
		<argument>--compress</argument>
		<argument>2</argument>
		<argument>--no-header-files</argument>
		<argument>--no-man-pages</argument>
		<argument>--strip-debug</argument>
	</arguments>
</configuration>

vinyanalista avatar May 04 '19 21:05 vinyanalista

I ran the same commands in my Mint and I had no issue:

[INFO] --- build-helper-maven-plugin:3.0.0:parse-version (parse-version) @ pdfsam-basic ---
[INFO] 
[INFO] --- exec-maven-plugin:1.5.0:exec (jlink) @ pdfsam-basic ---
[INFO] 
[INFO] --- maven-dependency-plugin:3.1.1:copy-dependencies (copy-dependencies) @ pdfsam-basic ---
[INFO] Copying pdfsam-split-by-bookmarks-4.0.1.jar to /home/torakiki/deleteme/pdfsam/pdfsam-basic/target/assembled/lib/pdfsam-split-by-bookmarks-4.0.1.jar
[INFO] Copying eventstudio-1.0.6.jar to /home/torakiki/deleteme/pdfsam/pdfsam-basic/target/assembled/lib/eventstudio-1.0.6.jar
[INFO] Copying fontawesomefx-commons-9.1.2.jar to /home/torakiki/deleteme/pdfsam/pdfsam-basic/target/assembled/lib/fontawesomefx-commons-9.1.2.jar

What's the exact version of openjdk and what jlink gets picked up if you run jlink -version? Do you maybe have other versions installed? I'll try to google a bit but that's how we release and it always worked..

torakiki avatar May 05 '19 09:05 torakiki

I use OpenJDK 11 provided by the openSUSE Leap distribution.

$ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-suse-lp150.2.16.1-x8664)
OpenJDK 64-Bit Server VM (build 11.0.3+7-suse-lp150.2.16.1-x8664, mixed mode)

$ javac -version
javac 11.0.3

$ jlink --version
11.0.3

$ mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T16:00:29-03:00)
Maven home: /usr/share/java/maven
Java version: 11.0.3, vendor: Oracle Corporation, runtime: /usr/lib64/jvm/java-11-openjdk-11
Default locale: pt_BR, platform encoding: UTF-8
OS name: "linux", version: "4.12.14-lp150.12.48-default", arch: "amd64", family: "unix"

vinyanalista avatar May 05 '19 14:05 vinyanalista

In fact, I was able to build PDFsam Basic v4.0.1 on a Linux Mint 19.1 Cinnamon 64-bit live image on a VirtualBox virtual machine. I just replaced the default OpenJDK 10 by the Oracle's JDK 11 and installed git and maven from the distro repo.

vinyanalista avatar May 05 '19 15:05 vinyanalista

I was not able to build PDFsam Basic v4.0.1 on an openSUSE Leap 15.1 GNOME 64-bit live image on a VirtualBox virtual machine.

I installed Git, OpenJDK 11 and Maven:

# zypper ar https://download.opensuse.org/repositories/devel:tools:building/openSUSE_Leap_15.0/devel:tools:building.repo
# zypper ref
# zypper in git java-11-openjdk-devel maven

And run the commands I listed earlier:

$ git clone https://github.com/torakiki/pdfsam.git
$ cd pdfsam
$ git checkout v4.0.1
$ mvn clean install -DskipTests -Drelease -Dgpg.skip

Same result:

[INFO] --- exec-maven-plugin:1.5.0:exec (jlink) @ pdfsam-basic ---
Error: --module-path must be specified
Usage: jlink <options> --module-path <modulepath> --add-modules <module>[,<module>...]
Use --help for a list of possible options
[ERROR] Command execution failed.

Versions:

$ java -version

openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-suse-lp151.1.1-x8664)
OpenJDK 64-Bit Server VM (build 11.0.3+7-suse-lp151.1.1-x8664, mixed mode)

$ javac -version

javac 11.0.3

$ jlink --version

11.0.3

$ mvn -v

Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T15:00:29-04:00)
Maven home: /usr/share/java/maven
Java version: 11.0.3, vendor: Oracle Corporation, runtime: /usr/lib64/jvm/java-11-openjdk-11
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.12.14-lp151.22-default", arch: "amd64", family: "unix"

vinyanalista avatar May 05 '19 15:05 vinyanalista

zypper in java-11-openjdk-jmods

I've had the same issue on openSUSE Tumbleweed aarch64. Thanks.

radumamy avatar Sep 27 '20 23:09 radumamy