exakat / exakat-ce

Exakat community edition
35 stars 2 forks source link

Current installation instructions for OSX do not produce a functional Exakat #5

Open christopherowen opened 9 months ago

christopherowen commented 9 months ago
% php -d memory_limit=-1 exakat.phar version                                                          

 ________                 __              _    
|_   __  |               [  |  _         / |_  
  | |_ \_| _   __  ,--.   | | / ]  ,--. `| |-' 
  |  _| _ [ \ [  ]`'_\ :  | '' <  `'_\ : | |   
 _| |__/ | > '  < // | |, | |`\ \ // | |,| |,  
|________|[__]`\_]\'-;__/[__|  \_]\'-;__/\__/  

Exakat : @ 2014-2023 Damien Seguy - Exakat SAS <contact(at)exakat.io>. 
Version : 2.6.0 - Build 1483 - Mon, 09 Oct 2023 14:31:20 +0000

I used tinkerpop from https://archive.apache.org/dist/tinkerpop/3.4.12/apache-tinkerpop-gremlin-server-3.4.12-bin.zip

I have also tried version 3.7.0 and version 3.4.14.

I did the "optional" neoj4 install.

I tried the troubleshooting steps listed here https://exakat.readthedocs.io/en/latest/Administrator/Installation.html#installation-on-osx

PHP version: % php -v PHP 8.2.12 (cli) (built: Oct 24 2023 19:22:16) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.12, Copyright (c) Zend Technologies with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

Java version: % java --version openjdk 21.0.1 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode)

The problem:

% php -d memory_limit=-1 exakat.phar doctor

Fatal error: Uncaught TypeError: Cannot assign null to property Exakat\Graph\Graph::$path of type string in phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Graph/Graph.php:54
Stack trace:
#0 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Graph/Graph.php(104): Exakat\Graph\Graph->__construct(Object(Exakat\Config))
#1 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Container.php(62): Exakat\Graph\Graph::getConnexion(Object(Exakat\Config), 'NoGremlin')
#2 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Container.php(54): Exakat\Container->graphdb()
#3 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/helpers.php(693): Exakat\Container->__get('graphdb')
#4 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Tasks/Doctor.php(45): exakat('graphdb')
#5 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Exakat.php(51): Exakat\Tasks\Doctor->__construct()
#6 phar:///Users/christopherowen/projects/exakat/exakat.phar/exakat(54): Exakat\Exakat->execute()
#7 /Users/christopherowen/projects/exakat/exakat.phar(10): include('phar:///Users/c...')
#8 {main}
  thrown in phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Graph/Graph.php on line 54

Trying php 8.0 has the same result:

% /opt/homebrew/opt/php@8.0/bin/php -d memory_limit=-1 exakat.phar doctor

Fatal error: Uncaught TypeError: Cannot assign null to property Exakat\Graph\Graph::$path of type string in phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Graph/Graph.php:54
Stack trace:
#0 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Graph/Graph.php(104): Exakat\Graph\Graph->__construct(Object(Exakat\Config))
#1 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Container.php(62): Exakat\Graph\Graph::getConnexion(Object(Exakat\Config), 'NoGremlin')
#2 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Container.php(54): Exakat\Container->graphdb()
#3 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/helpers.php(693): Exakat\Container->__get('graphdb')
#4 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Tasks/Doctor.php(45): exakat('graphdb')
#5 phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Exakat.php(51): Exakat\Tasks\Doctor->__construct()
#6 phar:///Users/christopherowen/projects/exakat/exakat.phar/exakat(54): Exakat\Exakat->execute()
#7 /Users/christopherowen/projects/exakat/exakat.phar(10): include('phar:///Users/c...')
#8 {main}
  thrown in phar:///Users/christopherowen/projects/exakat/exakat.phar/library/Exakat/Graph/Graph.php on line 54
christopherowen commented 9 months ago

doctor will work with exakat 2.5.1 and gremlin 3.4.13.

christopherowen commented 9 months ago

a java error occurs when trying to analyze the project with 2.5.1 and gremlin 3.4.13

% php -d memory_limit=-1 exakat-2.5.1.phar project -p project

Error : The script submitted for processing evaluated in the ScriptEngine with errors and could not be processed. Check the script submitted for syntax errors or other problems and then resubmit. : gremlin-groovy is not an available GremlinScriptEngine

 ===================  SERVER TRACE  ========================= 
array (
  'stackTrace' => 'java.lang.IllegalArgumentException: gremlin-groovy is not an available GremlinScriptEngine
    at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.registerLookUpInfo(CachedGremlinScriptEngineManager.java:95)
    at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.getEngineByName(CachedGremlinScriptEngineManager.java:58)
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:272)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1583)
',
  'exceptions' => 
  array (
    0 => 'java.lang.IllegalArgumentException',
  ),
)
 ============================================================ 

on file phar:///Users/christopherowen/projects/exakat/exakat-2.5.1.phar/vendor/brightzone/gremlin-php/src/Connection.php
on line 850