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

Re: Bug#142631: FTBFS: ClanLib/MikMod/setupmikmod.h: No such file or directory



On Sat, Apr 20, 2002 at 04:33:23PM +0200, Filip Van Raemdonck wrote:
> Yes, it is. Looking at the buildd log, it simply got built without mikmod
> support, although libmikmod2-dev *was* installed. Can someone take a look at
> config.log why?

Yup.  More autoconf moronity:

configure:1701: checking for mikmod
configure:1716: c++ -o conftest -fPIC  -I /usr/include/X11 -I /usr/include/X11/X
11 -I/usr/include/freetype2 -L /usr/X11R6/lib -lX11 -lXext   -I /usr/include/X11
 -I /usr/include/X11/X11 -I/usr/include/freetype2 -L /usr/X11R6/lib -lX11 -lXext
   -I /usr/include/X11 -I /usr/include/X11/X11 -I/usr/include/freetype2 -L /usr/
X11R6/lib -lX11 -lXext   -I /usr/include/X11 -I /usr/include/X11/X11 -I/usr/incl
ude/freetype2 -L /usr/X11R6/lib -lX11 -lXext    conftest.C -L /usr/X11R6/lib -lX
11 -lXext -lmikmod -lmikmod 1>&5
In file included from /usr/include/mikmod.h:33,
                 from configure:1730:
/usr/include/stdlib.h:577: declaration of `void exit (int) throw ()' 
throws different exceptions
configure:1711: than previous declaration `void exit (int)'
configure: failed program was:
#line 1709 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
#endif
/*
        $Id: mikmod.cpp,v 1.2 2001/09/08 19:24:17 japj Exp $

        ------------------------------------------------------------------------
        ClanLib, the platform independent game SDK.

        This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
        version 2. See COPYING for details.

        For a total list of contributers see CREDITS.

        ------------------------------------------------------------------------
*/
/*
        Test wether MikMod library is correctly installed.
*/

#include <mikmod.h>
#undef class

int main(int, char**)
{
        int libmikmod_major_version = (MikMod_GetVersion() >> 16) & 255;
        int libmikmod_minor_version = (MikMod_GetVersion() >>  8) & 255;
        int libmikmod_micro_version = (MikMod_GetVersion()      ) & 255;

        return 0;
}

The brilliant thing is that it DOESN'T EVEN CALL exit()!  Naively, one would
assume one could just delete the 3 lines:

#ifdef __cplusplus
extern "C" void exit(int);
#endif

and everything should be OK.  But Noooooo... that would be too easy.  See,
clanlib doesn't contain those lines, it calls:

CHECK_LIB(mikmod,Setup/Tests/mikmod.cpp, mikmod=enabled, mikmod=disabled, [$x_li
braries -lmikmod])

which calls

  AC_TRY_RUN(
    `cat $2`,
(...)

and this macro is defined by autofuck^H^H^H^Hconf.  I'm told this is a
bug in autoconf 2.13 and the right way to solve it is to prereq autoconf
2.5x and regenerate the configure script using autoconf 2.5x.

Did I mention I hate autoconf?  By the way this affects anyone using
gcc 2.96 or later, so I'm cc'ing debian-hppa on this too.

-- 
Revolutions do not require corporate support.


-- 
To UNSUBSCRIBE, email to debian-ia64-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: