B4X on Linux

icefairy333

Active Member
Licensed User
Longtime User
Hello,
After a long time trying, I was able to make B4J 4.50 run on Linux Mint 18 - MATE using Crossover (for easyness because of the many trials done).

All of the software is running fine (even the Internal Designer). The sole thing I can not get is executing the compiled Jar directly from the Wine's environement because of a weird error about JavaFX :
B4X:
Device "Intel(R) G45/G43" (\\.\DISPLAY1) initialization failed :
WARNING: bad driver version detected, device disabled. Please update your driver to at least version 6.14.10.5303
main._process_globals (java line: 73)
java.lang.NoClassDefFoundError: javafx/scene/control/Dialog
   at b4j.example.main._process_globals(main.java:73)
   at b4j.example.main.initializeProcessGlobals(main.java:64)
   at b4j.example.main.start(main.java:33)
   at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:319)
   at com.sun.javafx.application.PlatformImpl$5.run(PlatformImpl.java:219)
   at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:182)
   at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:179)
   at java.security.AccessController.doPrivileged(Native Method)
   at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:179)
   at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:76)
   at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
   at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:17)
   at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:67)
   at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: javafx.scene.control.Dialog
   at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
   ... 14 more

But the jar for a non UI app is correctly generated and usable without any problem. I will have to investigate more to fix the JavaFX before trying installing B4A.

I have set it like this :
  • Win XP bottle
  • Mono installed
  • .Net framework 4.0 and 4.0 extended
  • .Net framework 2.0
  • Direct X9 (without it I couldn't open the Designer)
  • jdk-7u79-windows-i586 (64 bits version or more recent wouldn't install)

View attachment 49556 View attachment 49557

tested with linuxmint18.1+crossover16+winxpbottle+wine mono+dotnet2&4 the b4j4.7 will run with no error and inner designer show normally
 

Squiffy

Active Member
Licensed User
Longtime User
OK, it mostly works with Crossover on Linux Mint 18.1 (Cinnamon) :
- winxp bottle (default, I think)
- wine mono
- .net 2
- .net 4

With just the above, the IDE & Designer worked fine, but I couldn't run any apps because of the missing JDK. XOver complains that JDK 7 doesn't run, and JDK 8 failed to install. So I downloaded the latest JDK 8 for Windows from Oracle and installed as an unknown app.

The install recommended I upgrade my windows version a few times from a message box with only an OK button to click. After the second or third one of these the installation appeared to hang, so I cancelled the install & restarted it. It then complained an install was already in progress, I clicked OK, then after that the JDK appeared to be there.

However, now I get a black window when I run the Designer or execute the application from within the IDE (not tried it outside yet).

Correction - the designer itself works, but the form window that shows the layout as it would look is black.
 
Top