openjfx: 64bit-portability-issue

Hi,

I am trying to build openjfx 8 from source. The build works fine without post-build-checks. If I enable post-build-checks I get the following error:

E: java-1_8_0-openjfx 64bit-portability-issue /home/abuild/rpmbuild/BUILD/rt/modules/graphics/src/main/native-font/pango.c:228

According to the build.log the relevant line is:

  430s] /home/abuild/rpmbuild/BUILD/rt/modules/graphics/src/main/native-font/pango.c: In function 'Java_com_sun_javafx_font_freetype_OSPango_FcConfigAppFontAddFile':
  430s] /home/abuild/rpmbuild/BUILD/rt/modules/graphics/src/main/native-font/pango.c:228:73: warning: passing argument 1 of '(jboolean (*)(void *, const char *))fp' makes pointer from integer without a cast -Wint-conversion]
  430s]                  rc = (jboolean)((jboolean (*)(void *, const char *))fp)(arg0, text);
  430s]                                                                          ^~~~
  430s] /home/abuild/rpmbuild/BUILD/rt/modules/graphics/src/main/native-font/pango.c:228:73: note: expected 'void *' but argument is of type 'jlong {aka long int}'

Can anyone help me here, as I am not much familiar with C/C++ coding?

The OBS project can be found here:
https://build.opensuse.org/package/show/home:Herbster0815:playground/java-1_8_0-openjfx

Thank you in advance!

Posted additionally on linuxclub.de: https://linux-club.de/forum/viewtopic.php?f=91&t=122583

Are you trying to build from source for some special reason?
I don’t follow openjfx closely,
At first it was a separate component but IIRC nowadays might be available in openjdk-devel.

If you don’t mind using something pre-built, recommend

Install openjdk-devel

zypper in openjdk-devel

Then inspect whether openjfx is included and installed

rpm -ql openjdk-devel

TSU

@TSU: please don’t just guess, and elaborate on that guess. openjfx != openjdk

@OP: Don’t know what’s going on but openjfx doesn’t build currently in OBS, due to “nothing provides gradle >= 4.5”.

Hi,

not sure why you have this dependency issue. For me it works in my repositories. But I have gradle 4.10.x in my project.
The 64-bit-portability-issue still exists as I had to resolve build issues due to exhausted memory first.

Mine was a branch of yours, removed it.

openjfx is the “FX” add-on to the openjdk project
https://wiki.openjdk.java.net/display/OpenJFX/Main

As such,
In the Oracle Java world, you have the JDK and the SDK, of which the “FX” add-on is part of the SDK.
In the openjdk world, openjdk is roughly equivalent to the Oracle JDK, and openjdk-devel is roughly equivalent to the SDK.

Is why I suggested you install openjdk-devel and take a look at what you have.
IIRC for awhile the openjdk “FX” project was separate but should have been incorporated awhile ago… unless something changed again. But, even the link to the openjdk Wiki above suggests it’s there.

TSU

Re-reading what I posted, when I described “JDK” I actually meant “JRE”
Not sure why the brain stuck.

TSU

Hi,

just for clarification:
(openj)fx is not part of openjdk 1.8:

18:27:52 @ Do Nov 15]root@Rosstheboss[/home/Herbie/]$rpm -qa | grep openjdk
java-1_8_0-openjdk-1.8.0.181-1.1.x86_64
java-1_8_0-openjdk-headless-1.8.0.181-1.1.x86_64
java-1_8_0-openjdk-devel-1.8.0.181-1.1.x86_64
[18:28:45 @ Do Nov 15]root@Rosstheboss[/home/Herbie/]$rpm -ql java-1_8_0-openjdk | grep -i fx
[18:28:50 @ Do Nov 15]root@Rosstheboss[/home/Herbie/]$rpm -ql java-1_8_0-openjdk-devel | grep -i fx

From my point of view this thread is closed. The openjfx package is build and works fine:

[18:28:57 @ Do Nov 15]root@Rosstheboss[/home/Herbie/]$rpm -qa | grep openjfx
java-1_8_0-openjfx-8u202~b00-9.4.x86_64
[18:29:35 @ Do Nov 15]root@Rosstheboss[/home/Herbie/]$rpm -ql java-1_8_0-openjfx | grep -i fx
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/bin/javafxpackager
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/libfxplugins.so
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/libjavafx_font.so
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/libjavafx_font_freetype.so
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/libjavafx_font_pango.so
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/libjavafx_iio.so
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/libjfxmedia.so
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/libjfxwebkit.so
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/ext/jfxrt.jar
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/lib/ant-javafx.jar
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/lib/javafx-mx.jar
/usr/share/man/man1/javafxpackager.1.gz

Ever thought of providing a current version of javafx?