Install SQL Developer Data Modeler on Ubuntu 18.04

Overview

I wanted to install SQL Developer Data Modeler under Ubuntu (18.04.3 LTS (Bionic Beaver)).

References

Procedure

Check Java Version

I ran the following command to check the installed Java version:

java --version

The output was:

openjdk 11.0.4 2019-07-16 OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3) OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)

Finding Installation Procedure

A Google search led me to the following procedure:

Install Alien

I installed alien as follows in order to convert the downloaded RPM into a Debian package for installation under Ubuntu:

sudo apt install -y alien

The output was:

[sudo] password for douglas: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: debugedit librpm8 librpmbuild8 librpmio8 librpmsign8 rpm rpm-common rpm2cpio Suggested packages: rpm-i18n elfutils rpmlint rpm2html The following NEW packages will be installed: alien debugedit librpm8 librpmbuild8 librpmio8 librpmsign8 rpm rpm-common rpm2cpio 0 to upgrade, 9 to newly install, 0 to remove and 3 not to upgrade. Need to get 556 kB of archives. After this operation, 2,159 kB of additional disk space will be used. Get:1 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 librpmio8 amd64 4.14.1+dfsg1-2 [74.6 kB] Get:2 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 librpm8 amd64 4.14.1+dfsg1-2 [173 kB] Get:3 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 librpmbuild8 amd64 4.14.1+dfsg1-2 [70.5 kB] Get:4 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 librpmsign8 amd64 4.14.1+dfsg1-2 [8,184 B] Get:5 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 rpm-common amd64 4.14.1+dfsg1-2 [28.7 kB] Get:6 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 rpm2cpio amd64 4.14.1+dfsg1-2 [7,988 B] Get:7 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 debugedit amd64 4.14.1+dfsg1-2 [19.1 kB] Get:8 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 rpm amd64 4.14.1+dfsg1-2 [119 kB] Get:9 http://au.archive.ubuntu.com/ubuntu bionic/universe amd64 alien all 8.95 [54.5 kB] Fetched 556 kB in 1s (436 kB/s) Selecting previously unselected package librpmio8. (Reading database ... 207200 files and directories currently installed.) Preparing to unpack .../0-librpmio8_4.14.1+dfsg1-2_amd64.deb ... Unpacking librpmio8 (4.14.1+dfsg1-2) ... Selecting previously unselected package librpm8. Preparing to unpack .../1-librpm8_4.14.1+dfsg1-2_amd64.deb ... Unpacking librpm8 (4.14.1+dfsg1-2) ... Selecting previously unselected package librpmbuild8. Preparing to unpack .../2-librpmbuild8_4.14.1+dfsg1-2_amd64.deb ... Unpacking librpmbuild8 (4.14.1+dfsg1-2) ... Selecting previously unselected package librpmsign8. Preparing to unpack .../3-librpmsign8_4.14.1+dfsg1-2_amd64.deb ... Unpacking librpmsign8 (4.14.1+dfsg1-2) ... Selecting previously unselected package rpm-common. Preparing to unpack .../4-rpm-common_4.14.1+dfsg1-2_amd64.deb ... Unpacking rpm-common (4.14.1+dfsg1-2) ... Selecting previously unselected package rpm2cpio. Preparing to unpack .../5-rpm2cpio_4.14.1+dfsg1-2_amd64.deb ... Unpacking rpm2cpio (4.14.1+dfsg1-2) ... Selecting previously unselected package debugedit. Preparing to unpack .../6-debugedit_4.14.1+dfsg1-2_amd64.deb ... Unpacking debugedit (4.14.1+dfsg1-2) ... Selecting previously unselected package rpm. Preparing to unpack .../7-rpm_4.14.1+dfsg1-2_amd64.deb ... Unpacking rpm (4.14.1+dfsg1-2) ... Selecting previously unselected package alien. Preparing to unpack .../8-alien_8.95_all.deb ... Unpacking alien (8.95) ... Setting up librpmio8 (4.14.1+dfsg1-2) ... Setting up debugedit (4.14.1+dfsg1-2) ... Setting up librpm8 (4.14.1+dfsg1-2) ... Setting up rpm-common (4.14.1+dfsg1-2) ... Setting up librpmsign8 (4.14.1+dfsg1-2) ... Setting up librpmbuild8 (4.14.1+dfsg1-2) ... Setting up rpm2cpio (4.14.1+dfsg1-2) ... Setting up rpm (4.14.1+dfsg1-2) ... Setting up alien (8.95) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for libc-bin (2.27-3ubuntu1) ...

Convert RPM to Debian Package

I ran the following command to convert the downloaded RPM into a Debian package:

sudo alien datamodeler-19.2.0.182.1216-noarch.rpm --scripts

The output was:

datamodeler_19.2.0.182.1216-2_all.deb generated

Install Debian Package

I ran the following command to install the converted Debian package for SQL Developer Data Modeler:

sudo dpkg -i datamodeler_19.2.0.182.1216-2_all.deb

The output was:

Selecting previously unselected package datamodeler. (Reading database ... 207511 files and directories currently installed.) Preparing to unpack datamodeler_19.2.0.182.1216-2_all.deb ... Unpacking datamodeler (19.2.0.182.1216-2) ... Setting up datamodeler (19.2.0.182.1216-2) ... /usr/share/applications/Oracle-datamodeler.desktop: warning: value "Oracle Data Modeler" for key "Comment" in group "Desktop Entry" looks redundant with value "Oracle Data Modeler" of key "Name" Processing triggers for libc-bin (2.27-3ubuntu1) ...

Find Real Locations of the Java executables

I used the realpath utility to find the true locations of the Java execuatbles as follows:

realpath /usr/bin/javac /usr/bin/java

The output was:

/usr/lib/jvm/java-11-openjdk-amd64/bin/javac /usr/lib/jvm/java-11-openjdk-amd64/bin/java

This would indicate that the Java home should be set as /usr/lib/jvm/java-11-openjdk-amd64.

Start Data Modeler

I used the following command to start SQL Developer Data Modeler:

datamodeler

The output was:

Oracle SQL Developer Data Modeler Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved. /opt/datamodeler/datamodeler/bin/../../ide/bin/launcher.sh: line 954: [: : integer expression expected The JDK (../../jdk) is not a valid JDK. The JDK was specified by a SetJavaHome directive in a .conf file or by a --setjavahome option. Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /home/douglas/.data_modeler/1.0.0.0.0/product.conf /usr/lib/jvm/java-11-openjdk-amd64

The Java home was determined in the previous section.

Unsupported JDK

The following screen appears indicating that the current JDK (11) is not supported:

screen appears indicating that the current JDK (11) is not supported

I clicked yes to continue. The following log message also appeared:

Warning: Nashorn engine is planned to be removed from a future JDK release

Confirm Import Preferences

The following screen appeared, asking me if I wanted to import data from a previous installation of SQL Developer Data Modeler:

screen asking to import data from a previous installation of SQL Developer Data Modeler

I clicked no to continue. The following log message also appeared:

Gtk-Message: 20:50:58.600: Failed to load module "canberra-gtk-module"

Successful Startup

The startup screen for SQL Developer Data Modeler finally appears:

startup screen for SQL Developer Data Modeler

I click OK to allow usage tracking.

Core Dumps

I get the following messages, at various times:

[xcb] Unknown sequence number while processing queue [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. java: ../../src/xcb_io.c:259: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed. /opt/datamodeler/datamodeler/bin/../../ide/bin/launcher.sh: line 1799: 4642 Aborted (core dumped) ${JAVA} "${APP_VM_OPTS[@]}" ${APP_ENV_VARS} ${APP_CLASSPATH} ${APP_MODULEPATH} ${APP_MAIN_CLASS} "${APP_APP_OPTS[@]}"