[Haskell-cafe] FunPtr error?
Ryan Ingram
ryani.spam at gmail.com
Tue Jun 10 14:18:13 EDT 2008
I'm not super experienced with the FFI (foreign function interface); I
only used C types that you can get from #include <HsFFI.h>, like
Word32.
You might need to make Sigval an instance of Storable, or do some
magic with ForeignPtrs. Good luck! :)
-- ryan
On 6/9/08, Galchin, Vasili <vigalchin at gmail.com> wrote:
> I have tried various things to no avail ....
>
> vigalchin at ubuntu:~/FTP/Haskell/unix-2.2.0.0/tests/timer$
> runhaskell Setup.lhs build
> Preprocessing executables for Test-1.0...
> Building Test-1.0...
> [1 of 1] Compiling Main ( ./timer.hs,
> dist/build/timer/timer-tmp/Main.o )
>
> ./timer.hs:22:0:
> Unacceptable argument type in foreign declaration: Sigval
> When checking declaration:
> foreign import ccall safe "wrapper" mkNotify
> :: Notify -> IO (FunPtr Notify)
>
> => here is my Sigval def
>
> data Sigval = SivalInt Int | SivalPtr (Ptr Char)
>
> I did a find/grep for "Unacceptable argument" in the ghc compiler source and
> assuming no typo I didn't find. ??
>
> Thanks.
>
> Kind regards, Vasili
>
>
>
>
> On Mon, Jun 9, 2008 at 11:25 PM, Judah Jacobson <judah.jacobson at gmail.com>
> wrote:
>
> > 2008/6/9 Galchin, Vasili <vigalchin at gmail.com>:
> >
> > > Ryan,
> > >
> > > I tried but the compiler didn't seem to like the keyword "import":
> > >
> > >
> vigalchin at ubuntu:~/FTP/Haskell/unix-2.2.0.0/tests/timer$
> runhaskell
> > > Setup.lhs build
> > > Preprocessing executables for Test-1.0...
> > > Building Test-1.0...
> > > [1 of 1] Compiling Main ( ./timer.hs,
> > > dist/build/timer/timer-tmp/Main.o )
> > >
> > > ./timer.hs:29:8: parse error on input `import'
> > >
> >
> > Hi Vasili,
> >
> > To fix that error, you probably just need to add the line "Extensions:
> > ForeignFunctionInterface" to the .cabal file. (That is the
> > equivalent of calling ghc by itself with the command-line arguments
> > -fffi or -XForeignFunctionInterface.)
> >
> > Hope that helps,
> > -Judah
> >
>
>
More information about the Haskell-Cafe
mailing list