
Hello, Since hsc2hs is distributed with GHC, I thought this might be a decent place to ask. I tried to run hsc2hs on a file that I know worked with my 6.8.3 installation, but now I'm getting the error /usr/local/lib/ghc-6.10.1/hsc2hs-0.67/template-hsc.h:4:19: error: HsFFI.h: No such file or directory Thanks, Creighton

Ah, just to reply to myself the problem was rather simple: hsc2hs
couldn't find any of the header files in the ghc/include directory.
It was easy enough to fix that, but it was weird that installing ghc
didn't take of that for me. Especially since I never had this problem
with previous versions.
Cheers,
Creighton
On Thu, Dec 4, 2008 at 1:06 PM, Creighton Hogg
Hello, Since hsc2hs is distributed with GHC, I thought this might be a decent place to ask. I tried to run hsc2hs on a file that I know worked with my 6.8.3 installation, but now I'm getting the error /usr/local/lib/ghc-6.10.1/hsc2hs-0.67/template-hsc.h:4:19: error: HsFFI.h: No such file or directory
Thanks, Creighton

On Thu, 2008-12-04 at 13:06 -0600, Creighton Hogg wrote:
Hello, Since hsc2hs is distributed with GHC, I thought this might be a decent place to ask. I tried to run hsc2hs on a file that I know worked with my 6.8.3 installation, but now I'm getting the error /usr/local/lib/ghc-6.10.1/hsc2hs-0.67/template-hsc.h:4:19: error: HsFFI.h: No such file or directory
Unfortunately the hsc2hs instance is specific to one ghc version. You've presumably got ghc-6.8.3 and ghc-6.10.1 installed. You're building stuff using ghc-6.8.3 but the hsc2hs from ghc-6.10.1 and so hsc2hs is getting passed the wrong include paths. If you use the hsc2hs from the ghc-6.8.3 installation then it should work. We should look into making it more independent of the ghc version. Duncan

On Fri, Dec 5, 2008 at 9:49 AM, Duncan Coutts
On Thu, 2008-12-04 at 13:06 -0600, Creighton Hogg wrote:
Hello, Since hsc2hs is distributed with GHC, I thought this might be a decent place to ask. I tried to run hsc2hs on a file that I know worked with my 6.8.3 installation, but now I'm getting the error /usr/local/lib/ghc-6.10.1/hsc2hs-0.67/template-hsc.h:4:19: error: HsFFI.h: No such file or directory
Unfortunately the hsc2hs instance is specific to one ghc version. You've presumably got ghc-6.8.3 and ghc-6.10.1 installed. You're building stuff using ghc-6.8.3 but the hsc2hs from ghc-6.10.1 and so hsc2hs is getting passed the wrong include paths. If you use the hsc2hs from the ghc-6.8.3 installation then it should work.
We should look into making it more independent of the ghc version.
Funny you'd mention this! I was worried that this was the problem, so I cleaned out all my ghc instances & then reinstalled ghc 6.10.1 from the binaries. I still had the same problem after that. Perhaps something was still lingering? I'm not sure what, though. Cheers, Creighton

On Fri, 2008-12-05 at 10:05 -0600, Creighton Hogg wrote:
On Fri, Dec 5, 2008 at 9:49 AM, Duncan Coutts
wrote: On Thu, 2008-12-04 at 13:06 -0600, Creighton Hogg wrote:
Hello, Since hsc2hs is distributed with GHC, I thought this might be a decent place to ask. I tried to run hsc2hs on a file that I know worked with my 6.8.3 installation, but now I'm getting the error /usr/local/lib/ghc-6.10.1/hsc2hs-0.67/template-hsc.h:4:19: error: HsFFI.h: No such file or directory
Unfortunately the hsc2hs instance is specific to one ghc version. You've presumably got ghc-6.8.3 and ghc-6.10.1 installed. You're building stuff using ghc-6.8.3 but the hsc2hs from ghc-6.10.1 and so hsc2hs is getting passed the wrong include paths. If you use the hsc2hs from the ghc-6.8.3 installation then it should work.
We should look into making it more independent of the ghc version.
Funny you'd mention this! I was worried that this was the problem, so I cleaned out all my ghc instances & then reinstalled ghc 6.10.1 from the binaries. I still had the same problem after that. Perhaps something was still lingering? I'm not sure what, though.
So it turns out that it does indeed fail by default. The reason nobody else noticed is because they do not run it directly. They run it via Cabal and it passes a load of extra flags, all the include dirs for all the packages a package depends on. This of course includes the base and rts packages. It's the rts package that has the HsFFI.h file. So the problem is that hsc2hs by default uses gcc as it's C compiler but the default template #includes HsFFI.h. These two things are in conflict. I wonder why the default template does include HsFFI.h since it appears that nothing in the template uses anything from it. The hsc2hs tool is supposed to be independent of the haskell implementation. It is supposed to work with hugs and nhc too. Hugs comes with hsc2hs too and it's template-hsc.h also uses HsFFI.h. It's not clear to me how it finds the hugs/include/HsFFI.h file by default. Duncan
participants (2)
-
Creighton Hogg
-
Duncan Coutts