I'm trying to get started with libgps/gpsd again, since the DBus support that gpsd provides is quite minimal (satellite "fixes" are broadcast, and that's it... nothing about which satellites are in view, and no methods to query anything. And to me the "fix" messages look incomplete, too.) So I'm attempting to use chicken-wrap to generate the wrapping for the big structs that libgps provides. I had to simplify them to get that far... there is a big union/struct monstrosity right in the middle of one struct, which the easyffi parser can't handle, so I wrote a C program to print out the sizeof that union. In the simplified version of gps.h that I wrote for easyffi, it's now just an array of 900 bytes instead, and fortunately I might not need any of the data from there anyway: it's GPS almanac data, apparently.
[proton][12:52:07 AM] make csc -dynamic -X easyffi -o gpsd.so gps.scm -lgps *** Shell command terminated with exit status 1: /usr/bin/chicken gps.scm -output-file gpsd.c -dynamic -feature chicken-compile-shared -quiet -extend easyffi make: *** [gpsd.so] Error 1 OK try it separately: [proton][01:03:29 AM] /usr/bin/chicken gps.scm -output-file gpsd.c -dynamic -feature chicken-compile-shared -extend easyffi compiling `gps.scm' ... Segmentation fault It's happening with Chicken 3.1.0 and 3.1.5, and I tried on two different machines. There is output anyway (it created gpsd.c) but segfaulting is not good, and prevents me from generating and compiling the code in one csc call. If I compile the output gpsd.c, I can generate an .so file, but it didn't load properly with (use gpsd). If I'm able to log in to svn again tonight, I will check in the code so far for the gps egg, but this is the current state of it. _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users