Issues get kotlin-numpy running
- Dominant language
- Kotlin
- Stars
- 322
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
Ok, so, I should have all the [requirements](https://github.com/Kotlin/kotlin-numpy#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 "", line 1, in
File "/tmp/pip-install-1y8kjzsu/ktnumpy/setup.py", line 67, in
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)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the binomial call and inspect ktnumpy/setup.py, especially buildScr/python/utils.py:get_java_includes(), where the traceback reports a None value. Trace the installation from the Kotlin NumKt call through pip, then use core/MultiIndexTest.kt and its lexSmallerOrEqualTest entry point to verify that the dependency installs and the test runs successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin, numpy, python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100