質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.75%

  • Windows 10

    848questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

  • Haskell

    53questions

    Haskellは高い機能性をもった関数型プログラミング言語で、他の手続き型プログラミング言語では難しいとされている関数でも容易に行うことができます。強い静的型付け、遅延評価などに対応しています。

Windowsにおけるstackを用いたhaskellの環境構築

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 595

taka_0407

score 1

前提・実現したいこと

今回、haskellの勉強をしたいと思い、haskellの実行環境を整えようとしています。
あまり環境構築等の知識も少なく、行き詰ってしまいました。
ご教授いただければ幸いです。

発生している問題・エラーメッセージ

C:\Users\Owner\Desktop\プログラミング\haskell\haskellTest>stack build
haskellTest-0.1.0.0: build (lib + exe)
Preprocessing library haskellTest-0.1.0.0...
Preprocessing executable 'haskellTest-exe' for haskellTest-0.1.0.0...
Linking .stack-work\dist\5f9bc736\build\haskellTest-exe\haskellTest-exe.exe ...
C:/Users/Owner/AppData/Local/Programs/stack/i386-windows/ghc-8.0.2/mingw/bin/ld.exe: -lHShaskellTest-0.1.0.0-9Peit9M2Achgq91PYHKTH が見つかりません
collect2.exe: error: ld returned 1 exit status
`gcc.exe' failed in phase `Linker'. (Exit code: 1)

--  While building package haskellTest-0.1.0.0 using:
      C:\sr\setup-exe-cache\i386-windows\Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe --builddir=.stack-work\dist\5f9bc736 build lib:haskellTest exe:haskellTest-exe --ghc-options " -ddump-hi -ddump-to-file"
    Process exited with code: ExitFailure 1

該当のソースコード

-Main.hs-
module Main where

import Lib

main :: IO ()
main = someFunc

-Lib.hs-
module Lib
    ( someFunc
    ) where

someFunc :: IO ()
someFunc = putStrLn "Hello World"

試したこと

"さくっとHaskellの開発環境を整える(Stack)"

こちらのサイトの方法を参考にさせていただきました。
(URLを参照してよいかわからなかったのでサイト名だけ表記しました。)
ダウンロードしたものはstack-1.5.1-windows-x86_64-installer.exeです。
そのstack buildの際、上記のようなエラーが出てしまい、ビルドができません。
対処法としまして、

・アンインストール後、再度実行。

・Main.hsをmain.hsに変更。

等試してみましたが、変わらずビルド時にエラーが出てしまいます。
自分でも調べてみましたが、英語のQAしかなく、かろうじて分かったのがMain.hsをmain.hsに変えてみるというものでした。もちろん、動きませんでした。

補足情報(言語/FW/ツール等のバージョンなど)

OS:Windows10 64bit
stack:
Version 1.5.1, Git revision 600c1f01435a10d127938709556c1682ecfd694e i386 hpack-0.17.1

その他必要な情報等あれば教えていただければ追記いたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+4

手元でも試してみたのですが、恐らく C:\Users\Owner\Desktop\プログラミング\haskell\haskellTest という、日本語が含まれるパスにおいていることが原因と思われます(「プログラミング」という部分ですね)。

手元の環境では、問題の通り
C:\Users\igrep\Desktop\プログラミング\haskell\haskellTest
というパスに置くと同様のエラーが発生し、
C:\Users\igrep\Downloads\tmp\haskellTest
に移してから実行すると再現しませんでした。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/15 20:33

    ご回答ありがとうございます。
    フォルダ名は完全に盲点でした・・・。。。
    おしゃるように日本語名のフォルダをアルファベットに変えてbuildを試してみたところ、無事ビルドでき、その後実行も問題なくできました!
    ありがとうございました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Windows 10

    848questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

  • Haskell

    53questions

    Haskellは高い機能性をもった関数型プログラミング言語で、他の手続き型プログラミング言語では難しいとされている関数でも容易に行うことができます。強い静的型付け、遅延評価などに対応しています。