Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
Hi, master uses _WIN32 checks in both places so if its not set, it will never error, because it'll never even try to call it. 3.1 uses a different check because it was refactored in master later, and while 3.1.3 was still missing one check, it was fixed after that release was made. Unless master actually fails, or the latest commit in the 3.1 branch fails, there is nothing we have to do. We cannot retroactively fix 3.1.3, but it is fixed for the next release as far as I can tell. - Hendrik You are right, I missed the changed #ifdef in master on line 115. Best regards, Michael Fritscher -- ZfT - Zentrum für Telematik e.V. Michael Fritscher Magdalene-Schoch-Straße 5 97074 Würzburg Tel: +49 (931) 615 633 - 57 Fax: +49 (931) 615 633 - 11 Email: michael.fritsc...@telematik-zentrum.de Web: http://www.telematik-zentrum.de Vorstand: Prof. Dr. Klaus Schilling, Hans-Joachim Leistner Sitz: Gerbrunn USt.-ID Nr.: DE 257 244 580, Steuer-Nr.: 257/111/70203 Amtsgericht Würzburg, Vereinsregister-Nr.: VR 200 167 <> smime.p7s Description: S/MIME Cryptographic Signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
On 22.09.2016 14:23, Hendrik Leppkes wrote: On Thu, Sep 22, 2016 at 2:21 PM, Timo Rothenpieler wrote: master uses _WIN32 checks in both places so if its not set, it will never error, because it'll never even try to call it. But wasn't the HAVE_SETDLLDIRECTORY introduced because of Windows XP compatibility, as the function doesn't exist there, but _WIN32 is obviously set? Or does master just not care about WinXP anymore? Windows XP has this function, at least as of Service Pack 1 (and support for plain XP without service packs should have died like a decade ago) Indeed. The original discussion thread can be found here: https://ffmpeg.org/pipermail/ffmpeg-devel/2016-August/197992.html Regards, Tobias ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
On Thu, Sep 22, 2016 at 2:21 PM, Timo Rothenpieler wrote: >> master uses _WIN32 checks in both places so if its not set, it will >> never error, because it'll never even try to call it. > > But wasn't the HAVE_SETDLLDIRECTORY introduced because of Windows XP > compatibility, as the function doesn't exist there, but _WIN32 is > obviously set? > > Or does master just not care about WinXP anymore? Windows XP has this function, at least as of Service Pack 1 (and support for plain XP without service packs should have died like a decade ago) - Hendrik ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
> master uses _WIN32 checks in both places so if its not set, it will > never error, because it'll never even try to call it. But wasn't the HAVE_SETDLLDIRECTORY introduced because of Windows XP compatibility, as the function doesn't exist there, but _WIN32 is obviously set? Or does master just not care about WinXP anymore? ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
On Thu, Sep 22, 2016 at 1:52 PM, Timo Rothenpieler wrote: > Am 22.09.2016 um 13:37 schrieb Michael Fritscher: >> Hi, >> >> ok, I rephrase it: I have the issue that HAVE_SETDLLDIRECTORY is >> defined, but _WIN32 is not if compiling under cygwin (fresh install, no >> mingw). >> >> SetDllDirectory() is called whenever HAVE_SETDLLDIRECTORY is defined, >> there is no check for _WIN32. >> >> The configure script seems to test windows.h for SetDllDirectory without >> a test of running in a _WIN32 environment: >>> check_func_headers windows.h SetDllDirectory >> >> So cygwin has the situation that the compiler (or the headers) doesn't >> set _WIN32, but have windows.h (c:\cygwin64\usr\include\w32api\windows.h). > > This was broken by f4b8892ccbf08ea5b38177bb7ad042921d082eac > No idea why that commit is not present in master. > > The correct solution would be checking for both _WIN32 and > HAVE_SETDLLDIRECTORY. master uses _WIN32 checks in both places so if its not set, it will never error, because it'll never even try to call it. 3.1 uses a different check because it was refactored in master later, and while 3.1.3 was still missing one check, it was fixed after that release was made. Unless master actually fails, or the latest commit in the 3.1 branch fails, there is nothing we have to do. We cannot retroactively fix 3.1.3, but it is fixed for the next release as far as I can tell. - Hendrik ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
Am 22.09.2016 um 13:37 schrieb Michael Fritscher: > Hi, > > ok, I rephrase it: I have the issue that HAVE_SETDLLDIRECTORY is > defined, but _WIN32 is not if compiling under cygwin (fresh install, no > mingw). > > SetDllDirectory() is called whenever HAVE_SETDLLDIRECTORY is defined, > there is no check for _WIN32. > > The configure script seems to test windows.h for SetDllDirectory without > a test of running in a _WIN32 environment: >> check_func_headers windows.h SetDllDirectory > > So cygwin has the situation that the compiler (or the headers) doesn't > set _WIN32, but have windows.h (c:\cygwin64\usr\include\w32api\windows.h). This was broken by f4b8892ccbf08ea5b38177bb7ad042921d082eac No idea why that commit is not present in master. The correct solution would be checking for both _WIN32 and HAVE_SETDLLDIRECTORY. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
Hi, ok, I rephrase it: I have the issue that HAVE_SETDLLDIRECTORY is defined, but _WIN32 is not if compiling under cygwin (fresh install, no mingw). SetDllDirectory() is called whenever HAVE_SETDLLDIRECTORY is defined, there is no check for _WIN32. The configure script seems to test windows.h for SetDllDirectory without a test of running in a _WIN32 environment: > check_func_headers windows.h SetDllDirectory So cygwin has the situation that the compiler (or the headers) doesn't set _WIN32, but have windows.h (c:\cygwin64\usr\include\w32api\windows.h). Best regards, Michael Fritscher -- ZfT - Zentrum für Telematik e.V. Michael Fritscher Magdalene-Schoch-Straße 5 97074 Würzburg Tel: +49 (931) 615 633 - 57 Fax: +49 (931) 615 633 - 11 Email: michael.fritsc...@telematik-zentrum.de Web: http://www.telematik-zentrum.de Vorstand: Prof. Dr. Klaus Schilling, Hans-Joachim Leistner Sitz: Gerbrunn USt.-ID Nr.: DE 257 244 580, Steuer-Nr.: 257/111/70203 Amtsgericht Würzburg, Vereinsregister-Nr.: VR 200 167 <> smime.p7s Description: S/MIME Cryptographic Signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
On 22.09.2016 12:30, Michael Fritscher wrote: Hi, I try to build ffmpeg 3.1.3 on cygwin64 on Windows. Configstring: ./configure --prefix=/usr/local --enable-ffplay --enable-ffmpeg --enable-ffserver --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencv --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-ffplay --enable-outdev=sdl --enable-outdev=xv --enable-indev=dshow --enable-pthreads --enable-ffplay --enable-ffmpeg --enable-ffserver --enable-demuxer=mpegvideo --enable-parser=mpegvideo --enable-muxer=mpjpeg --enable-muxer=mjpeg --enable-demuxer=mjpeg --enable-parser=mjpeg Output: CC cmdutils.o cmdutils.c: In Funktion »init_dynload«: cmdutils.c:115:5: Fehler: Implizite Deklaration der Funktion »SetDllDirectory« [-Werror=implicit-function-declaration] SetDllDirectory(""); My quick fix was to add #if HAVE_SETDLLDIRECTORY #include #endif on line 64. Is this the right way to cope with this? At least it compiles, links and works ;-) I stumbled over a similar issue, it has also been fixed in the release/3.1 branch but after n3.1.3 in commit 12320c08221f0eecf6d9af3a6f12f42e656f0674. See https://ffmpeg.org/pipermail/ffmpeg-devel/2016-August/198476.html In current git I found #ifdef _WIN32 #include #endif, which does not work under cygwin. Apparently _WIN32 is not defined in this environment. But in this case SetDllDirectory() is not called as it's also ifdef-depending on _WIN32. Regards, Tobias ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
On Thu, Sep 22, 2016 at 12:30 PM, Michael Fritscher wrote: > Hi, > > I try to build ffmpeg 3.1.3 on cygwin64 on Windows. > > Configstring: ./configure --prefix=/usr/local --enable-ffplay > --enable-ffmpeg --enable-ffserver --enable-gpl --enable-version3 > --enable-nonfree --enable-shared --enable-libfreetype --enable-libgsm > --enable-libmp3lame --enable-libopencv --enable-libtheora --enable-libvorbis > --enable-libx264 --enable-libxvid --enable-ffplay --enable-outdev=sdl > --enable-outdev=xv --enable-indev=dshow --enable-pthreads --enable-ffplay > --enable-ffmpeg --enable-ffserver --enable-demuxer=mpegvideo > --enable-parser=mpegvideo --enable-muxer=mpjpeg --enable-muxer=mjpeg > --enable-demuxer=mjpeg --enable-parser=mjpeg > > Output: > CC cmdutils.o > cmdutils.c: In Funktion »init_dynload«: > cmdutils.c:115:5: Fehler: Implizite Deklaration der Funktion > »SetDllDirectory« [-Werror=implicit-function-declaration] > SetDllDirectory(""); > > My quick fix was to add > > #if HAVE_SETDLLDIRECTORY > #include > #endif > > on line 64. Is this the right way to cope with this? At least it compiles, > links and works ;-) > > In current git I found > #ifdef _WIN32 > #include > #endif, > > which does not work under cygwin. Apparently _WIN32 is not defined in this > environment. > If WIN32 would not be defined, then the code in question would never be executed, since its under the same condition. Rather, you should find out why your windows.h does not expose this API, which is available in all currently supported versions of windows. - Hendrik ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin
Hi, I try to build ffmpeg 3.1.3 on cygwin64 on Windows. Configstring: ./configure --prefix=/usr/local --enable-ffplay --enable-ffmpeg --enable-ffserver --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencv --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-ffplay --enable-outdev=sdl --enable-outdev=xv --enable-indev=dshow --enable-pthreads --enable-ffplay --enable-ffmpeg --enable-ffserver --enable-demuxer=mpegvideo --enable-parser=mpegvideo --enable-muxer=mpjpeg --enable-muxer=mjpeg --enable-demuxer=mjpeg --enable-parser=mjpeg Output: CC cmdutils.o cmdutils.c: In Funktion »init_dynload«: cmdutils.c:115:5: Fehler: Implizite Deklaration der Funktion »SetDllDirectory« [-Werror=implicit-function-declaration] SetDllDirectory(""); My quick fix was to add #if HAVE_SETDLLDIRECTORY #include #endif on line 64. Is this the right way to cope with this? At least it compiles, links and works ;-) In current git I found #ifdef _WIN32 #include #endif, which does not work under cygwin. Apparently _WIN32 is not defined in this environment. Best regards, Michael Fritscher -- ZfT - Zentrum für Telematik e.V. Michael Fritscher Magdalene-Schoch-Straße 5 97074 Würzburg Tel: +49 (931) 615 633 - 57 Fax: +49 (931) 615 633 - 11 Email: michael.fritsc...@telematik-zentrum.de Web: http://www.telematik-zentrum.de Vorstand: Prof. Dr. Klaus Schilling, Hans-Joachim Leistner Sitz: Gerbrunn USt.-ID Nr.: DE 257 244 580, Steuer-Nr.: 257/111/70203 Amtsgericht Würzburg, Vereinsregister-Nr.: VR 200 167 <> smime.p7s Description: S/MIME Cryptographic Signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel