Kotlin / Kotlin/kotlin-numpy

Issues get kotlin-numpy running

Open
#26 3 comments 1 reaction 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.