atsky / haskell-idea-plugin

IntelliJ IDEA plugin for Haskell
Apache License 2.0
201 stars 21 forks source link

Exception when no ghc-modi found #89

Open atsky opened 9 years ago

atsky commented 9 years ago

Cannot run program "/home/atsky/.cabal/bin/ghc-modi" (in directory "/home/atsky/IdeaProjects/test-haskell"): error=2, No such file or directory java.io.IOException: Cannot run program "/home/atsky/.cabal/bin/ghc-modi" (in directory "/home/atsky/IdeaProjects/test-haskell"): error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) at org.jetbrains.haskell.util.ProcessRunner.getProcess(ProcessRunner.kt:61) at org.jetbrains.haskell.external.GhcModi.startProcess(GhcModi.kt:62) at org.jetbrains.haskell.external.GhcModi.runCommand(GhcModi.kt:92) at org.jetbrains.haskell.external.HaskellExternalAnnotator.getResultFromGhcModi(HaskellExternalAnnotator.kt:95) at org.jetbrains.haskell.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.kt:164) at org.jetbrains.haskell.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.kt:32) at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:183) at com.intellij.codeInsight.daemon.impl.ExternalToolPass.access$500(ExternalToolPass.java:45) at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:125) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310) at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254) at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269) at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227) at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) at com.intellij.util.Alarm$Request$1.run(Alarm.java:351) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at com.intellij.util.concurrency.QueueProcessor$RunnableConsumer.consume(QueueProcessor.java:298) at com.intellij.util.concurrency.QueueProcessor$RunnableConsumer.consume(QueueProcessor.java:295) at com.intellij.util.concurrency.QueueProcessor$2$1.run(QueueProcessor.java:110) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) at com.intellij.util.concurrency.QueueProcessor$2.consume(QueueProcessor.java:107) at com.intellij.util.concurrency.QueueProcessor$2.consume(QueueProcessor.java:104) at com.intellij.util.concurrency.QueueProcessor$3$1.run(QueueProcessor.java:215) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) at com.intellij.util.concurrency.QueueProcessor$3.run(QueueProcessor.java:212) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:405) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56) Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.(UNIXProcess.java:186) at java.lang.ProcessImpl.start(ProcessImpl.java:130) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028) ... 35 more