[haiku-development] Re: Haikuporter: unable to build DosBox

  • From: Jérôme Duval <jerome.duval@xxxxxxxxx>
  • To: haiku-development <haiku-development@xxxxxxxxxxxxx>
  • Date: Wed, 7 Nov 2012 14:07:52 +0100

2012/11/7 Giovanni Mugnai <musical777@xxxxxxxxx>:
> So i have tried to do manually "Make" inside
> "/boot/common/develop/haikuports/games-emulation/dosbox/work/dosbox-0.74-svn"
> but i obtain: http://pastie.org/5340217
> the error is about
> "../../include/cross.h: In function 'float powf(float, float)':
> ../../include/cross.h:66:43: error: 'float powf(float, float)' was declared
> 'extern' and later 'static' [-fpermissive]
> /boot/develop/headers/posix/math.h:135:15: error: previous declaration of
> 'float powf(float, float)' [-fpermissive]
> make[4]: *** [cpu.o] Error 1"

The configure script hasn't detected the function powf, thus defined
DB_HAVE_NO_POWF, which in turn tries to redefine powf.
The problem in fact lives in the following code in configure.in:

dnl Check for powf
AC_MSG_CHECKING(for powf in libm);
LIBS_BACKUP=$LIBS;
LIBS="$LIBS -lm";
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],[[
        powf(1.0f, 1.0f);
]])], [AC_MSG_RESULT(yes)], [AC_DEFINE([DB_HAVE_NO_POWF],[1],[libm
doesn't include powf])])
LIBS=$LIBS_BACKUP

Libm doesn't exist on Haiku, so the check will always fail.
You could just remove the line LIBS="$LIBS -lm";" and regenerate the
configure script

Bye,
Jérôme

Other related posts: