Menu

#150 ProjectLibre 1.9 doesn't start on Mint 19.1 - solved (repackage deb with patch)

1.8
closed
nobody
None
Other
Other
Other
Mint 19
Other
Normal
2019-04-09
2019-03-15
N. Z.
No

Hello,

I'm still a beginner at linux, so please be kind and add a link, if I searched for the wrong key words and overlooked the solution.

package: projectlibre_1.9.0-1.deb

System Configuration:

lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 19.1 Tessa
Release:    19.1
Codename:   tessa
java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

desktop: xfce

Installation:

I couldn't install the package with gdebi:

sudo gdebi projectlibre_1.9.0-1.deb
[sudo] Passwort für ***:     
Reading package lists... Done
Building dependency tree        
Reading state information... Done
Traceback (most recent call last):
  File "/usr/bin/gdebi", line 86, in <module>
    if not debi.open(args[0]):
  File "/usr/share/gdebi/GDebi/GDebiCli.py", line 73, in open
    self._deb = DebPackage(file, self._cache)
  File "/usr/share/gdebi/GDebi/DebPackage.py", line 31, in __init__
    super(DebPackage, self).__init__(cache=cache, filename=filename)
  File "/usr/lib/python3/dist-packages/apt/debfile.py", line 61, in __init__
    self.open(filename)
  File "/usr/lib/python3/dist-packages/apt/debfile.py", line 71, in open
    control = self._debfile.control.extractdata("control")
LookupError: There is no member named 'control'

Because I wasn't sure what was the problem I used:

sudo dpkg -i projectlibre_1.9.0-1.deb 
Vormals nicht ausgewähltes Paket projectlibre wird gewählt.
(Lese Datenbank ... 413061 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von projectlibre_1.9.0-1.deb ...
Entpacken von projectlibre (1.9.0-1) ...
projectlibre (1.9.0-1) wird eingerichtet ...
Trigger für desktop-file-utils (0.23+linuxmint4) werden verarbeitet ...
Trigger für gnome-menus (3.13.3-11ubuntu1.1) werden verarbeitet ...
Trigger für mime-support (3.60ubuntu1) werden verarbeitet ...
Trigger für shared-mime-info (1.9-2) werden verarbeitet ...

There were no error messages.

Starting program:

opening projectlibre I got:

projectlibre
Java auto-detection...
Checking java
    Java version: 10.0.2 NOK, version < 1.6
Checking /usr/lib/jvm/default-java/bin/java
    Java version: 10.0.2 NOK, version < 1.6
Checking /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java
    Java version: 10.0.2 NOK, version < 1.6
Checking /usr/lib/jvm/java-11-openjdk-amd64/bin/java
    Java version: 10.0.2 NOK, version < 1.6
Java not found or incorrect version.
Please install OpenJDK, Oracle JRE 1.6+ or set JAVA_HOME environment variable if it's already installed.

As far as I understand Java Version 10 is installed and that's higher than Version 6.
(I didn't try downgrading java to version 6,7 or 8, because I have one program wich seems to need version 10.)

I didn't find an alternative package as snap, flatpack or appimage.

How do I solve this problem?

Thanks in advance for your help!

NZ

Discussion

  • N. Z.

    N. Z. - 2019-03-18

    Continuing searching ...
    It seems that this is an old problem to various extend:

    On https://sourceforge.net/p/projectlibre/tickets/146/ Projectlibre seems to start, but to freeze while saving. The solution was downgrading Java to Version 8.

    As I understand this I have to install 2 versions of java and I can't run both versions parallelly.

    Can anybody confirm this, please?

    TIA

    NZ

     
  • Laurent Chretienneau

    Hello,

    If you have javax/xml/bind/JAXBException in the console, then it's the same problem. I've given a possible solution in https://sourceforge.net/p/projectlibre/tickets/146/

    Could you provide the full error with the stack trace?

    Thanks

     
  • N. Z.

    N. Z. - 2019-03-20

    Hello

    thanks for your answer.

    I didn't get any javax/xml/bind/JAXBException.

    In console I did get only the message above.

    How would I obtain the stack trace?

    I tried to get the JAVA_HOME variable:

    ~$ echo $JAVA_HOME
    

    on echo command I got an empty return.

    so I used:

    ~$ java -XshowSettings:properties -version
    Property settings:
        awt.toolkit = sun.awt.X11.XToolkit
        file.encoding = UTF-8
        file.encoding.pkg = sun.io
        file.separator = /
        java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
        java.awt.printerjob = sun.print.PSPrinterJob
        java.class.path = 
        java.class.version = 54.0
        java.home = /usr/lib/jvm/java-11-openjdk-amd64
        java.io.tmpdir = /tmp
        java.library.path = /usr/java/packages/lib
            /usr/lib/x86_64-linux-gnu/jni
            /lib/x86_64-linux-gnu
            /usr/lib/x86_64-linux-gnu
            /usr/lib/jni
            /lib
            /usr/lib
        java.runtime.name = OpenJDK Runtime Environment
        java.runtime.version = 10.0.2+13-Ubuntu-1ubuntu0.18.04.4
        java.specification.name = Java Platform API Specification
        java.specification.vendor = Oracle Corporation
        java.specification.version = 10
        java.vendor = Oracle Corporation
        java.vendor.url = http://java.oracle.com/
        java.vendor.url.bug = http://bugreport.java.com/bugreport/
        java.version = 10.0.2
        java.version.date = 2018-07-17
        java.vm.compressedOopsMode = 32-bit
        java.vm.info = mixed mode
        java.vm.name = OpenJDK 64-Bit Server VM
        java.vm.specification.name = Java Virtual Machine Specification
        java.vm.specification.vendor = Oracle Corporation
        java.vm.specification.version = 10
        java.vm.vendor = Oracle Corporation
        java.vm.version = 10.0.2+13-Ubuntu-1ubuntu0.18.04.4
        jdk.debug = release
        line.separator = \n 
        os.arch = amd64
        os.name = Linux
        os.version = 4.15.0-45201902141402-generic
        path.separator = :
        sun.arch.data.model = 64
        sun.boot.library.path = /usr/lib/jvm/java-11-openjdk-amd64/lib
        sun.cpu.endian = little
        sun.cpu.isalist = 
        sun.io.unicode.encoding = UnicodeLittle
        sun.java.launcher = SUN_STANDARD
        sun.jnu.encoding = UTF-8
        sun.management.compiler = HotSpot 64-Bit Tiered Compilers
        sun.os.patch.level = unknown
        user.country = DE
        user.dir = /home/nab
        user.home = /home/nab
        user.language = de
        user.name = nab
        user.timezone = 
    
    openjdk version "10.0.2" 2018-07-17
    OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
    OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)
    

    I have read in the java 11 man pages that java 11 doesn't need this variable.
    Non the less I set it with:

    ~$ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export JAVA_HOME
    ~$ echo $JAVA_HOME
    /usr/lib/jvm/java-11-openjdk-amd64
    

    But it didn't chance the result when starting projectlibre in console:

    ~$ projectlibre 
    Java auto-detection...
    Checking /usr/lib/jvm/java-11-openjdk-amd64/bin/java
        Java version: 10.0.2 NOK, version < 1.6
    Checking java
        Java version: 10.0.2 NOK, version < 1.6
    Checking /usr/lib/jvm/default-java/bin/java
        Java version: 10.0.2 NOK, version < 1.6
    Checking /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java
        Java version: 10.0.2 NOK, version < 1.6
    Checking /usr/lib/jvm/java-11-openjdk-amd64/bin/java
        Java version: 10.0.2 NOK, version < 1.6
    Java not found or incorrect version.
    Please install OpenJDK, Oracle JRE 1.6+ or set JAVA_HOME environment variable if it's already installed.
    

    What data can I collect with wich commands to help solving this problem?

    Thanks a lot!

     
  • kohpe

    kohpe - 2019-03-21

    I can confirm the problem with Mint19.1.

    1. Unfortunately the deb-file contains an empty control.tar.gz. This causes the control error.
      I unpacked the file and repacked it again using the info from control.tar.xz and putting it into control.tar.gz. This did the trick.
      Suggestion: Remove the empty control.tar.gz (Control.tar.mz should be enough).

    2. In /usr/bin/projectlibre the java version is determined in the following line:

    JAVA_VERSION=`echo "$JAVA_VERSION" | awk '{ print substr($1, 1, 3); }' | sed -e 's;\.;0;g'`
    

    Mint19 comes with openjdk 10.0.2. Beacuse of substr($1, 1, 3) the version number is converted to 100, which ist below the minimum version.
    Suggestion:
    Change the line to

    JAVA_VERSION=`echo "$JAVA_VERSION" | awk '{ print substr($1, 1); }' | sed -e 's;\.;0;g'`
    

    This will result in version 10002 which is greater than the minimum version.

    Best regards!

     
  • N. Z.

    N. Z. - 2019-03-22

    Thanks kohpe!

    after some searching I came up with following pprocedure:

    dpkg -x projectlibre_1.9.0-1.deb projectlibre_1.9.0-1/
    then I did the from kohpe suggested change on projectlibre_1.9.0-1/usr/bin/projectlibre

    dpkg -e projectlibre_1.9.0-1.deb projectlibre_1.9.0-1/DEBIAN
    dpkg -b projectlibre_1.9.0-1/ projectlibre_1.9.0-2.deb
    

    and installed the "new" package with gdebi

    (I didn't have to do anything with the control.tar.gz, because "dpkg -e" generated control just fine.)

    Installation went without a problem.
    projectlibre open, a new project was generated and saved. But I get some warning:

    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by org.pushingpixels.flamingo.api.ribbon.JRibbonFrame$KeyTipLayer (file:/usr/share/projectlibre/projectlibre.jar) to method com.sun.awt.AWTUtilities.setComponentMixingCutoutShape(java.awt.Component,java.awt.Shape)
    WARNING: Please consider reporting this to the maintainers of org.pushingpixels.flamingo.api.ribbon.JRibbonFrame$KeyTipLayer
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    

    After save projectlibre doesn't update the orginal project, writes the whole file to to Projectname_tmp0.pod.:

    Exception in thread "saveProject" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        at com.projectlibre1.server.data.MSPDISerializer.serializeProject(Unknown Source)
        at com.projectlibre1.server.data.MSPDISerializer.serializeProject(Unknown Source)
        at com.projectlibre1.server.data.MSPDISerializer.saveProject(Unknown Source)
        at com.projectlibre1.exchange.MicrosoftImporter.saveProject(Unknown Source)
        at com.projectlibre1.exchange.LocalFileImporter.exportFile(Unknown Source)
        at com.projectlibre1.exchange.LocalFileImporter$2.run(Unknown Source)
        at com.projectlibre1.job.Job$InternalRunnable.run(Unknown Source)
        at com.projectlibre1.job.Job.runSwing(Unknown Source)
        at com.projectlibre1.job.Job.runThread(Unknown Source)
        at com.projectlibre1.job.Job.run(Unknown Source)
        at com.projectlibre1.job.Job.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
        ... 11 more
    

    When using the save button (right of the logo) then projectlibre freezes without output in terminal. When trying to close, it's not possible because either you freeze with saving or jump back into the loop getting asked whether you want to save the changes before exiting.

    As far as I understand that's a new unrelated problem to my modifing the deb package.

    Since there is now a javax/xml/bind/JAXBException it could be related to: https://sourceforge.net/p/projectlibre/tickets/146/

    If not, please point me in the correct direction.

    TIA

     

    Last edit: N. Z. 2019-03-22
  • Gerardo R. Maduro G.

    Thx, that work for me!!!

     
  • N. Z.

    N. Z. - 2019-03-25
    • summary: ProjectLibre 1.9 doesn't start on Mint 19.1 --> ProjectLibre 1.9 doesn't start on Mint 19.1 - solved (repackage deb with patch)
     
  • Laurent Chretienneau

    • status: open --> closed
     
  • Laurent Chretienneau

    Fixed in 1.9.1

     
  • N. Z.

    N. Z. - 2019-04-09

    Thank you very much indeed!
    As soon as the deb-package is avaible I will test it :-)

     

Log in to post a comment.

MongoDB Logo MongoDB