[FFmpeg-user] Cygwin build: ffserver not built?

Michael Rosati rosati.michael at gmail.com
Fri May 3 17:45:53 CEST 2013


On Fri, May 3, 2013 at 10:06 AM, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:

> Michael Rosati <rosati.michael <at> gmail.com> writes:
>
> > On Thu, May 2, 2013 at 5:30 PM, Carl Eugen Hoyos wrote:
> >
> > > Michael Rosati <rosati.michael <at> gmail.com> writes:
> > >
> > > > I'm trying to build on Windows under Cygwin, and
> > > > I'm finding that ffmpeg and ffprobe are working
> > > > fine, but ffserver isn't being built.
> > >
> > > What does "grep FFSERVER config.h" show?
> > > (If cygwin is really missing "fork()", you
> > > will have to switch to mingw.)
> >
> > #define CONFIG_FFSERVER 0
>
> You could search config.log to find the missing
> dependency, search for "check_func fork".


Definitely onto something there. Couldn't resolve the reference to _fork().

check_func fork
check_ld cc
check_cc
BEGIN /tmp/ffconf.Rv3Ey5Ns.c
    1   extern int fork();
    2   int main(void){ fork(); }
END /tmp/ffconf.Rv3Ey5Ns.c
gcc --sysroot=/usr/i686-w64-mingw32/sys-root -D_ISOC99_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -U__STRICT_ANSI__ -std=c99
-fomit-frame-pointer -c -o /tmp/ffconf.UGHkK6sH.o /tmp/ffconf.Rv3Ey5Ns.c
gcc -L/usr/lib/gcc/i686-w64-mingw32/4.5.3/
--sysroot=/usr/i686-w64-mingw32/sys-root -Wl,--as-needed -o
/tmp/ffconf.GsIfwY8d.exe /tmp/ffconf.UGHkK6sH.o -lmingw32 -lgcc_eh -lgcc
-lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
-lmingw32 -lgcc_eh -lgcc -lmoldname -lmingwex -lmsvcrt
/tmp/ffconf.UGHkK6sH.o:ffconf.Rv3Ey5Ns.c:(.text+0xc): undefined reference
to `_fork'
collect2: ld returned 1 exit status

I know Cygwin has fork(), though - their FAQ even explains how it's
implemented - and checking the objdump of /usr/lib/libc.a, I think,
confirms it:

$ /usr/i686-w64-mingw32/bin/objdump.exe -t libc.a | grep fork
[  4](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __fork
[  5](sec  0)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp___fork
[  4](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __vfork
[  5](sec  0)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp___vfork
[  4](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _dlfork
[  5](sec  0)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__dlfork
[  4](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _fork
[  5](sec  0)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__fork
[  4](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _vfork
[  5](sec  0)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__vfork

There are some other failing checks and missing libraries (for example,
anything with -lrt fails, check_func fcntl fails) that lead me to believe
there's something wrong with my environment - it doesn't seem to be
searching /usr/lib for libraries to link against. But I'm rather a novice
at this, so maybe I'm wrong.


More information about the ffmpeg-user mailing list