Bug 12751 - OpenJdk package installation issues on target
Summary: OpenJdk package installation issues on target
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2020.02
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: Adam Duskett
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-03 22:27 UTC by Ameya
Modified: 2020-04-22 16:34 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ameya 2020-04-03 22:27:47 UTC
Hi,

The current openjdk package INSTALL_TARGET_CMD installs only the lib and bin folder to /usr/lib

the JRE/lib folder contains a modules file which in conflict with modules directory which has kernel modules

i am doing a x86_64 build , the lib is symlinked to /usr/lib on target and all kernel modules get installed /lib/modules

Sometimes the overwrite works during copy and kernel modules get replaced by java modules file

cp -dpfr $(@D)/build/linux-*-release/images/jre/lib/* $(TARGET_DIR)/usr/lib/

Here is the error i have gotten:

>>> openjdk 13.0.2+8 Installing to target
cp -dpfr /bulk/ajoshi2/nuc-build/build/openjdk-13.0.2+8/build/linux-*-release/images/jre/bin/* /bulk/ajoshi2/nuc-build/target/usr/bin/
cp -dpfr /bulk/ajoshi2/nuc-build/build/openjdk-13.0.2+8/build/linux-*-release/images/jre/lib/* /bulk/ajoshi2/nuc-build/target/usr/lib/
cp: cannot overwrite directory ‘/bulk/ajoshi2/nuc-build/target/usr/lib/modules’ with non-directory

Can we update the INSTALL_TARGET_CMDS for openjdk to install the entire JDK inside /usr/lib/jvm folder and symlink the binaries?

Regards,
Ameya Joshi
Sr Software Engineer
Collins Aerospace
Comment 1 Ameya 2020-04-04 04:28:46 UTC
I had "symlink" option selected inside "system configuration" page or maybe the 

pc_x86_64_bios_defconfig has that selected by default.

Unchecking it should solve the buildroot error 

But in our case , i do need the entire JDK on the system ,  and not just the libs and bin?

can we have a option created in menuconfig to select that?
Comment 2 Adam Duskett 2020-04-07 16:52:14 UTC
Hello Ameya!

Sorry for the delay, I will take a look at this today!
If you need the entire JDK I will create the changes necessary to do so.

Thanks again!

Adam
Comment 3 Adam Duskett 2020-04-17 23:34:07 UTC
(In reply to Ameya from comment #1)

Hello Ameya;

I have created a patch series that should fix your issues.
In addition, I also submitted a patch that will allow building and installing
the full JDK.

If you would be so kind as to test the patches and possibly provide a "Tested-By" comment if they work for you, I would very much appreciate it.

Fixes for 2020.02.x: https://patchwork.ozlabs.org/project/buildroot/list/?series=171015

Fixes and JDK support for master: https://patchwork.ozlabs.org/project/buildroot/list/?series=171014

Thanks!

Adam
Comment 4 Ameya 2020-04-18 00:34:16 UTC
Hi Adam,

I get error while applying the patch 

https://patchwork.ozlabs.org/project/buildroot/patch/20200417232922.3762195-4-aduskett@gmail.com/


Also i looked at the patch it replaces the existing build and install commands 
so if a user doesnt want a full JDK it wont work right?

Regards,
Ameya
Comment 5 Ameya 2020-04-18 00:35:03 UTC
Hi Adam,

I get error while applying the patch 

https://patchwork.ozlabs.org/project/buildroot/patch/20200417232922.3762195-4-aduskett@gmail.com/


Also i looked at the patch it replaces the existing build and install commands 
so if a user doesnt want a full JDK it wont work right?

Regards,
Ameya
Comment 6 Adam Duskett 2020-04-18 02:31:51 UTC
(In reply to Ameya from comment #5)

Hi Ameya;

This patchset does two things:

1) It fixes the originally reported bug.
2) It adds a menu config item that allows you to select if you want to build the full jdk instead of just the JRE.

If you do not select the option to build the full JDK then the JRE will be built instead.


If you want the ability to install the full JDK on 2020.02, you will have to apply all 4 patches to master and then backport the changes yourself to package/openjdk on 2020.02.

Thanks!

Adam
Comment 7 Adam Duskett 2020-04-22 16:34:20 UTC
Patch merged to master
Commit: 3edb915709dec21158542b15e62f1560b8dc2fa2