kotlin-numpy icon indicating copy to clipboard operation
kotlin-numpy copied to clipboard

Issues get kotlin-numpy running

Open elect86 opened this issue 4 years ago • 3 comments

Ok, so, I should have all the requirements listed

elect@5800x:~/Documents/minterpy/tests$ python --version
Python 3.8.6
elect@5800x:~/Documents/minterpy/tests$ python3 -c "import numpy; print(numpy.__version__)"
1.20.1

gcc should be installed within build-essential

However, as soon as I try to use it with binomial(m + n, doubleArrayOf(n.toDouble())), then I get

"ERROR: Command errored out with exit status 1:
java.lang.Exception: "ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1y8kjzsu/ktnumpy/setup.py'"'"'; __file__='"'"'/tmp/pip-install-1y8kjzsu/ktnumpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-w7_vgjcm
         cwd: /tmp/pip-install-1y8kjzsu/ktnumpy/
    Complete output (9 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-1y8kjzsu/ktnumpy/setup.py", line 67, in <module>
        include_dirs=get_java_includes() + ['src/main/ktnumpy/jni/include', get_numpy_include()]
      File "/tmp/pip-install-1y8kjzsu/ktnumpy/buildScr/python/utils.py", line 76, in get_java_includes
        java_include = os.path.join(java_home, 'include')
      File "/usr/lib/python3.8/posixpath.py", line 76, in join
        a = os.fspath(a)
    TypeError: expected str, bytes or os.PathLike object, not NoneType
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output." when executing the command: python -m pip install -i https://pypi.org/simple/ ktnumpy==0.1.5
	at org.jetbrains.numkt.LibraryLoader.execCommand(NativeLibUtils.kt:173)
	at org.jetbrains.numkt.LibraryLoader.loadLibraries(NativeLibUtils.kt:129)
	at org.jetbrains.numkt.Interpreter.initialize(Interpreter.kt:49)
	at org.jetbrains.numkt.Interpreter.access$initialize(Interpreter.kt:23)
	at org.jetbrains.numkt.Interpreter$Companion.getInterpreter(Interpreter.kt:30)
	at org.jetbrains.numkt.UtilsKt.callFunc(Utils.kt:59)
	at org.jetbrains.numkt.UtilsKt.callFunc$default(Utils.kt:57)
	at org.jetbrains.numkt.random.Random$Companion.binomial(Random.kt:237)
	at minterpy.MultiIndexUtilsKt.getExponentMatrix(multiIndexUtils.kt:47)
	at minterpy.MultiIndex$Companion.fromDegree(MultiIndex.kt:8)
	at core.MultiIndexTestKt.lexSmallerOrEqualTest(MultiIndexTest.kt:19)
	at core.MultiIndexTest$1$1.invoke(MultiIndexTest.kt:12)
	at core.MultiIndexTest$1$1.invoke(MultiIndexTest.kt:6)
	at core.AuxiliariesKt$checkDifferentSettings$1.invoke(auxiliaries.kt:25)
	at core.AuxiliariesKt$checkDifferentSettings$1.invoke(auxiliaries.kt)
	at core.UtilsKt.product(utils.kt:7)
	at core.AuxiliariesKt.checkDifferentSettings(auxiliaries.kt:23)
	at core.AuxiliariesKt.checkDifferentSettings$default(auxiliaries.kt:22)
	at core.MultiIndexTest$1.invokeSuspend(MultiIndexTest.kt:12)
	at core.MultiIndexTest$1.invoke(MultiIndexTest.kt)
	at io.kotest.core.spec.style.scopes.StringSpecRootScope$invoke$1.invokeSuspend(StringSpecRootScope.kt:58)
	at io.kotest.core.spec.style.scopes.StringSpecRootScope$invoke$1.invoke(StringSpecRootScope.kt)
	at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invokeSuspend(executions.kt:13)
	at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2$1.invoke(executions.kt)
	at io.kotest.core.internal.ExecutionsKt.wrapTestWithGlobalAssert(executions.kt:39)
	at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invokeSuspend(executions.kt:12)
	at io.kotest.core.internal.ExecutionsKt$executeWithBehaviours$2.invoke(executions.kt)
	at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invokeSuspend(executions.kt:25)
	at io.kotest.core.internal.ExecutionsKt$wrapTestWithAssertionModeCheck$2.invoke(executions.kt)
	at io.kotest.core.internal.AssertionsCheckKt.executeWithAssertionsCheck(assertionsCheck.kt:25)
	at io.kotest.core.internal.ExecutionsKt.wrapTestWithAssertionModeCheck(executions.kt:24)
	at io.kotest.core.internal.ExecutionsKt.executeWithBehaviours(executions.kt:11)
	at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invokeSuspend(TestCaseExecutor.kt:266)
	at io.kotest.core.internal.TestCaseExecutor$executeInScope$2.invoke(TestCaseExecutor.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
	at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194)
	at io.kotest.core.internal.TestCaseExecutor.executeInScope(TestCaseExecutor.kt:260)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1$3$1$1.invokeSuspend(TestCaseExecutor.kt:232)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1$3$1$1.invoke(TestCaseExecutor.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102)
	at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148)
	at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1$3$1.invokeSuspend(TestCaseExecutor.kt:231)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1$3$1.invoke(TestCaseExecutor.kt)
	at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$3.invokeSuspend(ExecutorExecutionContext.kt:77)
	at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$3.invoke(ExecutorExecutionContext.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:75)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1$3.invokeSuspend(TestCaseExecutor.kt:230)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1$3.invoke(TestCaseExecutor.kt)
	at io.kotest.mpp.ReplayKt.replay(replay.kt:18)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1.invokeSuspend(TestCaseExecutor.kt:225)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1$1.invoke(TestCaseExecutor.kt)
	at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$3.invokeSuspend(ExecutorExecutionContext.kt:77)
	at io.kotest.engine.ExecutorExecutionContext$executeWithTimeoutInterruption$3.invoke(ExecutorExecutionContext.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at io.kotest.engine.ExecutorExecutionContext.executeWithTimeoutInterruption(ExecutorExecutionContext.kt:75)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invokeSuspend(TestCaseExecutor.kt:218)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2$1.invoke(TestCaseExecutor.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:102)
	at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148)
	at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invokeSuspend(TestCaseExecutor.kt:217)
	at io.kotest.core.internal.TestCaseExecutor$executeAndWait$2.invoke(TestCaseExecutor.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
	at kotlinx.coroutines.SupervisorKt.supervisorScope(Supervisor.kt:57)
	at io.kotest.core.internal.TestCaseExecutor.executeAndWait(TestCaseExecutor.kt:213)
	at io.kotest.core.internal.TestCaseExecutor.invokeTestCase(TestCaseExecutor.kt:182)
	at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:151)
	at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invokeSuspend(TestCaseExecutor.kt:89)
	at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1$1.invoke(TestCaseExecutor.kt)
	at io.kotest.core.internal.TestCaseExecutor.executeIfActive(TestCaseExecutor.kt:115)
	at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invokeSuspend(TestCaseExecutor.kt:89)
	at io.kotest.core.internal.TestCaseExecutor$intercept$innerExecute$1.invoke(TestCaseExecutor.kt)
	at io.kotest.core.internal.TestCaseExecutor.intercept(TestCaseExecutor.kt:103)
	at io.kotest.core.internal.TestCaseExecutor.execute(TestCaseExecutor.kt:69)
	at io.kotest.engine.spec.runners.SingleInstanceSpecRunner.runTest(SingleInstanceSpecRunner.kt:106)
	at io.kotest.engine.spec.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$2.invokeSuspend(SingleInstanceSpecRunner.kt:56)
	at io.kotest.engine.spec.runners.SingleInstanceSpecRunner$execute$2$invokeSuspend$$inlined$invoke$lambda$2.invoke(SingleInstanceSpecRunner.kt)
	at io.kotest.engine.launchers.SequentialTestLauncher$launch$$inlined$forEach$lambda$1$1.invokeSuspend(SequentialTestLauncher.kt:22)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

elect86 avatar Mar 23 '21 16:03 elect86

Do you have JAVA_HOME in PATH?

devcrocod avatar Mar 23 '21 17:03 devcrocod

I have java available

elect@5800x:~$ java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.10)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.10, mixed mode, sharing)

Is this enough?

elect86 avatar Mar 30 '21 13:03 elect86

Not really To build the native part of the library, the script looks for the include folder from the java directory. To do this, you must have JAVA_HOME in PATH. check if JAVA_HOME exists, run in terminal: echo $JAVA_HOME

devcrocod avatar Mar 31 '21 12:03 devcrocod