I’ve been upgrading my PCs and laptop to the newest releases of Ubuntu and Mint, Trusty Tahr and Qiana. Navicat’s Database Development IDE is a staple in my development toolbox, so when Navicat Premium wouldn’t load in Linux Mint Qiana it was a serious matter. As a side note, Navicat loaded fine in Ubuntu 14.04. Wild, eh?
Just so you know there was a happy ending, here is Navicat Premium running on my Qiana Desktop.
In my experience, Navicat is the very best Database Development IDE for Linux, and I used them all. If I could change one thing about Navicat it would be that it was a native Linux Desktop application and not run on Wine. No small request I realize. You will see, however, that Wine serves as our fall guy for Navicat’s load problems. Indirectly, I suppose, but still…
If you’re reading this you probably already know that Navicat is launched by a shell script called start_navicat. In our broken state start_navicat only returns us to another shell prompt. We need to learn more about what’s happening, so we need to change the script to display execution errors in the console rather than directing them to a /dev/null file.
We’ve commented out the original lines and added a simple
exec
This change spews out a load of ugliness in the console when we run start_navicat. I didn’t make a copy of the errors, sorry, but deep within The Ugly was a message about a missing module named libsm.so.6.
It seems this module is part of a family of modules which can cause problems in Google Earth if missing. The required modules comprise the GNU C 32-bit libraries for AMD64. Thanks to Ubuntu Forums and this post, another post and a post in another thread, we have our Navicat solution.
Here’s the command I ran which put me back into Database Development Mode with Navicat.
sudo apt-get install libc6-i386 libglib2.0-0:i386 libsm6:i386 \ libglu1-mesa:i386 libgl1-mesa-glx:i386 libxext6:i386 \ libxrender1:i386 libx11-6:i386 libfontconfig1:i386 lsb-core
The trick here is to comment out the error dump to /dev/null in the start_navicat script. Even if your issue is something else, displaying the execution error will get you on your way to a solution. I know it will!