chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] chicken-wrap segfault; GPS egg


From: Shawn Rutledge
Subject: [Chicken-users] chicken-wrap segfault; GPS egg
Date: Fri, 18 Apr 2008 12:45:50 -0700

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]