problem specifying location of imported module
Terrence Brannon <[email protected]> Sun, 03 Jul 2005 18:33:37 +0000
| Newsgroups | gmane.comp.lang.haskell.hat |
|---|---|
| Organization | metaperl.com |
| Message-ID | <[email protected]> |
Hello everyeone,
My main file, ex6.hs, imports Pictures.hs:
import Pictures
import Data.Char
{- .. bunch of code then main...-}
main = putStrLn $ show (newHeight imgA imgB)
It compiled to an executable and runs just fine:
terry@Abulafia:~/haskell/craft-of-fp/ex$ hmake -i../Code ex6
/usr/bin/haskell-compiler -i../Code -o ex6 ../Code/Pictures.o
ex6.o
terry@Abulafia:~/haskell/craft-of-fp/ex$ ./ex6
32
terry@Abulafia:~/haskell/craft-of-fp/ex$
However, when I
attempt to create an executable traceable by Hat, I have some
problems:
terry@Abulafia:~/haskell/craft-of-fp/ex$ hmake -hat -i../Code ex6
hat-trans -i../Code ../Code/Pictures.hs
Creating directories Hat Hat/.. Hat/../Code
Wrote Hat/../Code/Pictures.hs
/usr/bin/haskell-compiler -i../Code -c -package hat -o
../Code/Hat/Picture\s.o ../Code/Hat/Pictures.hs
ghc-6.2.2: error: directory portion of "../Code/Hat/Pictures.o" does
not exist \(used with "-o" option.)
Above it looks like the wrong directory was created. Hat created the
directory Hat/../Code when I think it should have created the
directory ../Code/Hat.
At any rate, I went ahead and made the directory that the error
complained did not exist and then re-ran, but still had errors:
terry@Abulafia:~/haskell/craft-of-fp/ex$ hmake -hat -i../Code ex6
hat-trans -i../Code ../Code/Pictures.hs
Wrote Hat/../Code/Pictures.hs
/usr/bin/haskell-compiler -i../Code -c -package hat -o
../Code/Hat/Picture\s.o ../Code/Hat/Pictures.hs
ghc-6.2.2: file `../Code/Hat/Pictures.hs' does not exist
terry@Abulafia:~/haskell/craft-of-fp/ex$
Switching to absolute paths for the -i flag did not help and using
-d/tmp to force all .o files to be created in one place did not help
either.
Any input on getting my entire program traceable is appreciated. If
you care to look at ex6.hs or Pictures.hs, my entire haskell directory
tree can be browsed by the web here:
http://www.hcoop.net/~terry/haskell/craft-of-fp
ex6.hs is here:
http://www.hcoop.net/~terry/haskell/craft-of-fp/ex/ex6.hs
and Pictures.hs is here:
http://www.hcoop.net/~terry/haskell/craft-of-fp/ex/Code/Pictures.hs
========
As an afterthought, I tried making my project from the directory above
both the main file and the imported file, but that failed as well:
terry@Abulafia:~/haskell/craft-of-fp$ hmake -iCode ex/ex6
terry@Abulafia:~/haskell/craft-of-fp$ ex/ex6
32
terry@Abulafia:~/haskell/craft-of-fp$ hmake -hat -iCode ex/ex6
hat-trans -iCode Code/Pictures.hs
Creating directories Hat Hat/Code
Wrote Hat/Code/Pictures.hs
/usr/bin/haskell-compiler -iCode -c -package hat -o Code/Hat/Pictures.o Code/Hat/Pictures.hs
ghc-6.2.2: file `Code/Hat/Pictures.hs' does not exist
terry@Abulafia:~/haskell/craft-of-fp$
Regards,
--
Carter's Compass: I know I'm on the right track when,
by deleting something, I'm adding functionality.