Opened 8 years ago

Closed 8 years ago

#5280 closed defect (needs_more_info)

configure: source_link doesn't work when building ffmpeg in Chromium using cygwin on Windows

Reported by: Xiaohan Wang Owned by:
Priority: normal Component: build system
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


In the last chromium ffmpeg roll, I am getting issues on Windows when using cygwin.

The error messages are like:

c1 : fatal error C1083: Cannot open source file: 'src/libavformat/allformats.c': No such file or directory

After digging a bit, I found that this is because we make a symbol link "src", and then point "source_link" to it.

The logic around this in configure is as follows:

if [ "$source_path" != "." ] && ([ ! -d src ]
[ -L src ]) && [ -e "$link_name/test_file" ]; then

# create link to source path
[ -e src ] && rm src
$ln_s "$source_path" src


When we run this part of code, we are in a subfolder like "ffmpeg/", the symbol link "src" is created as expected. But it seems a path like "src/libavformat/allformats.c" doesn't work.

I suspected that maybe when we build we are not in "ffmpeg/", so we can't find "src". To test that, I hacked the script a bit to make the "source_link" an absolute path:


But I am still getting an error like:

c1 : fatal error C1083: Cannot open source file: 'd:/ffmpeg-tmp/ffmpeg/': No such file or directory

Since the path is a windows path, I am assuming we are running in the normal windows mode, not the cygwin mode. In windows mode the symbol link simply doesn't exist.

These are just my observations. I am not familiar enough with this code to understand where the real issue is. Please help.

BTW, when I disable the symbol link totally I can build successfully.

Change History (2)

comment:1 by Carl Eugen Hoyos, 8 years ago

Is this issue reproducible with current FFmpeg git head on cygwin or only with Chromium?

comment:2 by Carl Eugen Hoyos, 8 years ago

Resolution: needs_more_info
Status: newclosed

This still doesn't look FFmpeg-related to me.

Note: See TracTickets for help on using tickets.