Dear GHC developers, Recently I submitted a bug report #1452 for ghc-6.6.1 of undefined references at the stage of linking executable, and also of ignoring un-existing module import.
Now I discovered the following strange effect (see the report source modules) which, probably, explains much. 1. (minor note) The file Match.hs-boot is not needed. All the effects preserve after its removal. 2. The name `Match' must be in the list `other-modules:' in the file dm.cabal, which describes the package. But it is not in dm.cabal ! Because I have forgotten to put it there. Further, make build still finds and compiles Match.hs. The only point where Match is needed is Reduce.hs: it imports `Match'. But why GHC finds Match.hs ? Probably, because it is in the current source directory. Then, make install succeeds. And further, the command ghc $dmCpOpt --make Main succeeds or not -- depending on whether `Match' is in dm.cabal or not! First, I think that there is my oversight here. But the GHC + Cabal system behaves strange in this example. Must not it give a plain report of what is wrong with modules or package setting ? Say, "Error: `Match' is not in the package but is imported by Reduce.hs." Probably, this is the matter of Cabal. Further, if GHC still finds Match.hs and builds the package, why this "undefined reference" appears while linking executable ? Regards, ----------------- Serge Mechveliani [EMAIL PROTECTED] _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs