
Hi all, I've written a Yaml library built on top of libyaml (the same C library at the core of Python's yaml library). All is well on my local system and my server; I'm currently using it in production. However, the build is failing on Hackage with the following build log: http://hackage.haskell.org/packages/archive/yaml/0.0.1/logs/failure/ghc-6.10 . It seems that whichever version of C2HS is installed on the server does not allow "type" (or perhaps other keywords?) to be used as C identifiers. Unfortunately, "type" is the name of a field in a C struct I need to integrate with. It's obviously not vital that I get it to compile on hackage, but 1) I'm worried this is a sign of a bigger problem, and 2) it's always nice to have the API documentation available online. Any suggestions? Thanks, Michael

On Tue, 2009-08-04 at 07:07 +0300, Michael Snoyman wrote:
Hi all,
I've written a Yaml library built on top of libyaml (the same C library at the core of Python's yaml library). All is well on my local system and my server; I'm currently using it in production. However, the build is failing on Hackage with the following build log: http://hackage.haskell.org/packages/archive/yaml/0.0.1/logs/failure/ghc-6.10.
It seems that whichever version of C2HS is installed on the server does not allow "type" (or perhaps other keywords?) to be used as C identifiers. Unfortunately, "type" is the name of a field in a C struct I need to integrate with. It's obviously not vital that I get it to compile on hackage, but 1) I'm worried this is a sign of a bigger problem, and 2) it's always nice to have the API documentation available online.
Any suggestions?
I recommend that you specify in the .cabal file the minimum version of c2hs that you require. It's probably 0.16 that you need. Then of course you'll probably find that the version of c2hs on the single build machine is indeed older than that. This shows us again the problem with using a single build machine rather than allowing any client to upload build reports. As an interim measure before we get the new hackage server, you could email Ross and ask him nicely to update c2hs on the build machine. Duncan

On Tue, Aug 11, 2009 at 1:19 AM, Duncan Coutts
On Tue, 2009-08-04 at 07:07 +0300, Michael Snoyman wrote:
Hi all,
I've written a Yaml library built on top of libyaml (the same C library at the core of Python's yaml library). All is well on my local system and my server; I'm currently using it in production. However, the build is failing on Hackage with the following build log:
http://hackage.haskell.org/packages/archive/yaml/0.0.1/logs/failure/ghc-6.10 .
It seems that whichever version of C2HS is installed on the server does not allow "type" (or perhaps other keywords?) to be used as C identifiers. Unfortunately, "type" is the name of a field in a C struct I need to integrate with. It's obviously not vital that I get it to compile on hackage, but 1) I'm worried this is a sign of a bigger problem, and 2) it's always nice to have the API documentation available online.
Any suggestions?
I recommend that you specify in the .cabal file the minimum version of c2hs that you require. It's probably 0.16 that you need.
Then of course you'll probably find that the version of c2hs on the single build machine is indeed older than that. This shows us again the problem with using a single build machine rather than allowing any client to upload build reports. As an interim measure before we get the new hackage server, you could email Ross and ask him nicely to update c2hs on the build machine.
Duncan
Thanks for getting back to me Duncan. I was in fact using 0.16 on my system. However, to simplify things, I went ahead and rewrote to use the FFI directly. Michael
participants (2)
-
Duncan Coutts
-
Michael Snoyman