Diego Biurrun <[email protected]> writes: > On Sat, Sep 08, 2012 at 03:37:18PM +0300, Martin Storsjö wrote: >> On Sat, 8 Sep 2012, Måns Rullgård wrote: >> >Hendrik Leppkes <[email protected]> writes: >> >>On Sat, Sep 8, 2012 at 1:40 PM, Martin Storsjö <[email protected]> wrote: >> >>>On Sat, 8 Sep 2012, Måns Rullgård wrote: >> >>> Hendrik Leppkes <[email protected]> writes: >> >>>> On Sat, Sep 8, 2012 at 12:09 PM, Ronald S. Bultje <[email protected] >> >>>>>>wrote: >> >>>>>> This sounds like the wrong fix tbh. The first chunk looks OK but >> >>>>>>wouldn't other systems, eg old GCC versions, be similarly affected? >> >>>>>>Shouldn't the true fix live elsewhere, ie fix the log2() check? >> >>>>>> >> >>>>>The log2 check is fine in theory. The linker somewhere finds a log2 >> >>>>>function to link in, but without a function declaration in the header. >> >>>> >> >>>>Find out where that log2 is coming from and what it really is. >> >>> >> >>>It seems that the log2 is present in the static libc that MSVC normally >> >>>uses (but not in the dynamically loaded one), and the headers don't >> >>>contain >> >>>any declaration of it. >> >>> >> >>And only in the 64-bit version. How odd. >> >> >> >>Still, something goes wrong when it trys to use it, causing fate to fail. >> > >> >If you have an implicit declaration for it returning int, it can't >> >possibly work. >> >> It seems to work fine if a manual declaration of the function >> (double log2(double);) is added. > > So how are we going to resolve this?
I see two simple solutions: 1. Add a declaration for log2() in a suitable place. This is slightly evil in that it uses an undocumented function. Then again, that appears to be expected behaviour on Windows. 2. Add log2_deps="!msvcrt" somewhere in configure. This would wrongly disable the function if they were ever to add it for real. Pick your poison. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
