On 2/7/07, Ben Pfaff <[EMAIL PROTECTED]> wrote:
> I know at least four tests fail simply because "make check" attempts
> to run cross-compiled binaries on the host machine.

I think you're talking about tests/libpspp/ll-test.exe and
the other tests/libpspp tests.  Is there a way to make these run?
Obviously there is some way to run "cross-compiled" binaries,
because the tests are able to run pspp.exe.

Yes, we can run them via "wine". Perhaps we could have something like
   if linux && target_mingw
       RUNTARGETEXE="wine"
   else
       RUNTARGETEXE=""
   fi
in the makefile?

The makescript attempts to run cross-compiled binaries in a number of
places. The only place that matters for a straight "make" is q2c, so I
replaced
  /.../q2c
       ./src/language/lexer/q2c $< $@
with
       wine ./src/language/lexer/q2c$(EXEEXT) $< $@

I have likewise replaced pspp.exe with "wine pspp.exe" to get "make
check" to run most of the tests.

It would be possible to change the Makefile so that .exe files are run
with wine and .sh files are run with /bin/sh, but I have not done this
yet.

I notice there is a large number of segmentation faults in the
test runs.  Are you willing to try getting a backtrace for a few
of these with a debugger?  Probably, there are only a few causes,
so that fixing one of them will fix many.  I don't know what
you'd need to do under mingw, but under GNU/Linux I generally do
something like
        make check TESTS=tests/formats/time-in.sh SUPERVISOR='gdb --args'
to make a test run under the supervision of GDB.  You should see
a GDB prompt, at which you can type 'r' to run the program.  When
it stops, type 'bt' to get a backtrace, and mail the backtrace to
pspp-dev.

For obvious reasons I am using SUPERVISOR="wine". I'll have a look at
the debug options in wine.

I don't understand those segmentation faults. Usually if a program
running in wine segfaults, wine itself will dump some diagnostic data.
How does the Makefile detect segfaults?

--
John C. McCabe-Dansted
PhD Student
University of Western Australia


_______________________________________________
pspp-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/pspp-dev

Reply via email to