protegeproject / protege-distribution

Build files for the protege distribution that includes 3rd party plugins
BSD 2-Clause "Simplified" License
125 stars 39 forks source link

Factpluplus and Protege 5.6.0 #33

Open thistlillo opened 1 year ago

thistlillo commented 1 year ago

Downloaded and installed Windows version (.exe) of Protege 5.6.0.

I installed the factpluplus plugin the first time I ran Protege 5.6, the file uk.ac.manchester.cs.owl.factplusplus-1.6.5.jar is indeed in the plugin subfolder.

However, the reasoner does not appear among the list of reasoners in the "Reasoner" menu

gouttegd commented 1 year ago

Could you open Protégé and have a look at the log window (menu Window > Show log…, or the button on the bottom right corner of the main window)? Then Look for any error message related to Fact++ (or post the log here).

sm4522 commented 1 year ago

I was curious if any headway had been made with this issue. My log posts the following related error message, including subsequent messages too:

WARN 15:02:53 Plugin: Factplusplus Plug-in (1.6.5) was not successfully started. Please see the Protégé log for more details. INFO 15:02:53
INFO 15:02:57 Creating and setting up empty (default) editor kit INFO 15:02:57 OWL API Version: 4.5.25.2023-02-15T19:15:49Z INFO 15:02:58 Loading default configuration parameters for class org.semanticweb.elk.reasoner.config.ReasonerConfiguration INFO 15:02:59 Cannot generate ontology catalog for ontology at http://www.semanticweb.org/smmcc/ontologies/2023/7/untitled-ontology-4. URI scheme is not "file" INFO 15:03:02 ------------------------------- Auto-update Check ------------------------------ INFO 15:03:02 Auto-update last performed: Wed Aug 16 14:59:50 EDT 2023 INFO 15:03:02 Auto-update has been performed today. Not performing it again. INFO 15:03:02
INFO 15:19:13 Loading default configuration parameters for class org.semanticweb.elk.reasoner.config.ReasonerConfiguration

gouttegd commented 1 year ago

The problem is that the last release of the Fact++ plugin happened several years ago, and the latest version of Windows the plugin declares to support is Windows 8, so it cannot be loaded on a machine running Windows 10 or 11. This is not something we can fix in Protégé, sorry. It’s in the hands of Fact++ developers, if they are still around.

It is possible to force the plugin to accept Windows 10 (and possibly 11, but I didn’t try) by crudely editing its manifest:

Go to Protégé’s plugins directory and use the jar command to extract the plugin’s manifest (you’ll need a Java Development Kit installed to get the jar command):

jar -x -f uk.ac.manchester.cs.owl.factplusplus-P5.x-v1.6.5.jar META-INF/MANIFEST.MF

Edit the META-INF/MANIFEST.MF file and add two lines to declare support for Windows 10:

 osname=Windows8 ;
 osname=Windows 8 ;
 osname=Windows8.1 ;
 osname=Windows 8.1 ;
 osname=Windows10 ;   <- Add this line
 osname=Windows 10 ;  <- And this one
 processor=x86_64 ;
 processor = amd64 ,
 lib/native/32bit/FaCTPlusPlusJNI.dll;

then use the jar command again to inject the tweaked manifest back into the plugin file:

jar -u -m META-INF/MANIFEST.MF -f uk.ac.manchester.cs.owl.factplusplus-P5.x-v1.6.5.jar

The plugin should then accept to load under Windows 10.

baixixi2020 commented 1 year ago

The problem is that the last release of the Fact++ plugin happened several years ago, and the latest version of Windows the plugin declares to support is Windows 8, so it cannot be loaded on a machine running Windows 10 or 11. This is not something we can fix in Protégé, sorry. It’s in the hands of Fact++ developers, if they are still around.

It is possible to force the plugin to accept Windows 10 (and possibly 11, but I didn’t try) by crudely editing its manifest:

Go to Protégé’s plugins directory and use the jar command to extract the plugin’s manifest (you’ll need a Java Development Kit installed to get the jar command):

jar -x -f uk.ac.manchester.cs.owl.factplusplus-P5.x-v1.6.5.jar META-INF/MANIFEST.MF

Edit the META-INF/MANIFEST.MF file and add two lines to declare support for Windows 10:

 osname=Windows8 ;
 osname=Windows 8 ;
 osname=Windows8.1 ;
 osname=Windows 8.1 ;
 osname=Windows10 ;   <- Add this line
 osname=Windows 10 ;  <- And this one
 processor=x86_64 ;
 processor = amd64 ,
 lib/native/32bit/FaCTPlusPlusJNI.dll;

then use the jar command again to inject the tweaked manifest back into the plugin file:

jar -u -m META-INF/MANIFEST.MF -f uk.ac.manchester.cs.owl.factplusplus-P5.x-v1.6.5.jar

The plugin should then accept to load under Windows 10.

I have the another problems,

image

D:\Protege-5.6.3-win\Protege-5.6.3\plugins>jar -u -m META-INF/MANIFEST.MF -f uk.ac.manchester.cs.owl.factplusplus-P5.x-v1.6.5.jar 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Manifest-Version. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Bundle-ManifestVersion. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Bundle-Name. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Bundle-SymbolicName. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Bundle-Version. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Bundle-Vendor. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Bundle-Description. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Update-Url. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 11月 20, 2023 11:05:18 上午 java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Bundle-ClassPath. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file.

gouttegd commented 1 year ago

These are warnings, not errors. The modified Jar file should work despite such warnings.

tharanathrai commented 3 days ago

Thank you so much for this fix! I needed it to work for an assignment, and this got it up and running.