Opened 10 years ago

Closed 9 years ago

#1938 closed enhancement (fixed)

Provide c99wrap.exe and c99conv.exe

Reported by: Igor Owned by:
Priority: wish Component: build system
Version: git-master Keywords: msvc
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I followed your instructions https://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b, but I fail in one of the steps - compile c99-to-c89-master. How do I compile c99-to-c89-master to get c99wrap.exe, c99conv.exe?

Change History (21)

comment:1 by Igor, 10 years ago

Component: undeterminedbuild system
Priority: normalcritical

comment:2 by Carl Eugen Hoyos, 10 years ago

Priority: criticalnormal

comment:4 by Carl Eugen Hoyos, 10 years ago

Keywords: msvc added

in reply to:  3 comment:5 by Igor, 10 years ago

Replying to cehoyos:

Did you try Google's executable?
https://gerrit.chromium.org/gerrit/cat/34728%2C4%2Cchromium/binaries/c99conv.exe%5E0

but where do I get c99wrap.exe?

comment:6 by Elon Musk, 10 years ago

The documentation page clearly states link to github page where you can download source code for such binary.

Clearly this extra step should not be needed and executables should be provided for download.

in reply to:  6 comment:7 by Igor, 10 years ago

Replying to richardpl:

The documentation page clearly states link to github page where you can download source code for such binary.

Clearly this extra step should not be needed and executables should be provided for download.

I'm sorry but I didn't understood. The link is to the source code, so as I understand I should some how to compile it in order to get c99conv.exe and c99wrap.exe, right?

Now you say that there should be executables. I'm confused. Do I need to compile in order to get c99conv.exe and c99wrap.exe ( and if I do, how I compile it) or executables should be provided for download ( and if they do, I don't see them in the provided linkt to github)?

comment:8 by Carl Eugen Hoyos, 10 years ago

Reproduced by developer: set
Status: newopen
Summary: Failed to compile ffmpeg with VSProvide c99wrap.exe and c99conv.exe
Version: unspecifiedgit-master

Use these executables until we can provide them:
https://github.com/libav/c99-to-c89/downloads

in reply to:  8 ; comment:9 by Igor, 10 years ago

Replying to cehoyos:

Use these executables until we can provide them:
https://github.com/libav/c99-to-c89/downloads

1 - I placed makedef, c99wrap.exe, c99conv.exe, and yasm.exe to "c:\ex" and added "c:\ex" to PATH
2 - I downloaded latest ffmpeg source to "c:\ff_src" and placed inttypes.h to "c:\ff_src"
3 - I ran msys.bat from the Visual Studio command prompt.
4 - ran ./configure --toolchain=msvc
5 - ran make

I expected that after "make" I'll get compiled ffmpeg in VS manner and namely lib,pdb,exe files, but I get .a,.d,.o files instead. It seems that it was compiled by gcc and not cl!

What could happened?

Thank you

in reply to:  9 ; comment:10 by Carl Eugen Hoyos, 10 years ago

Replying to theateist:

4 - ran ./configure --toolchain=msvc
5 - ran make

Did these two steps work successfully, ie without producing error messages?

I expected that after "make" I'll get compiled ffmpeg in VS manner and namely lib,pdb,exe files, but I get .a,.d,.o files instead. It seems that it was compiled by gcc and not cl!

How does the output of "./ffmpeg" look like?

comment:11 by Carl Eugen Hoyos, 10 years ago

Component: build systemdocumentation
Priority: normalwish
Type: defectenhancement

This is probably more an issue with our website not providing the needed binaries for download.

in reply to:  10 ; comment:12 by Igor, 10 years ago

Replying to cehoyos:

Replying to theateist:

4 - ran ./configure --toolchain=msvc
5 - ran make

Did these two steps work successfully, ie without producing error messages?

I expected that after "make" I'll get compiled ffmpeg in VS manner and namely lib,pdb,exe files, but I get .a,.d,.o files instead. It seems that it was compiled by gcc and not cl!

How does the output of "./ffmpeg" look like?

when I ran "ran ./configure --toolchain=msvc" the output on the screen was a long list of names and in the end the following

License: LGPL version 2.1 or later
Creating config.mak and config.h...
libavutil/avconfig.h is unchanged

WARNING: pkg-config not found, library detection may fail.

I don't know what the warning means, so I continued and ran "make". Eventually make finished. I guess there were no errors because I did not saw any error messages.
After "make" command the "ff_src" folder contains: ffmpeg.exe, ffmpeg_g.exe, ffprobe_g.exe, *.o, *.d...
"ff_src/libavcodec" and other folder contains *.o, *.d, *.a.

But there is no pdb files!

At first, I though that somehow gcc.exe runs and not cl.exe, but I checked and cl.exe does runs and not gcc.exe. So, why cl.exe outputs *.o, *.a... and not what cl.exe generally outputs lib, pdb? How to fix it?

in reply to:  12 ; comment:13 by Igor, 10 years ago

Replying to theateist:

Replying to cehoyos:

Replying to theateist:

4 - ran ./configure --toolchain=msvc
5 - ran make

Did these two steps work successfully, ie without producing error messages?

I expected that after "make" I'll get compiled ffmpeg in VS manner and namely lib,pdb,exe files, but I get .a,.d,.o files instead. It seems that it was compiled by gcc and not cl!

How does the output of "./ffmpeg" look like?

when I ran "ran ./configure --toolchain=msvc" the output on the screen was a long list of names and in the end the following

License: LGPL version 2.1 or later
Creating config.mak and config.h...
libavutil/avconfig.h is unchanged

WARNING: pkg-config not found, library detection may fail.

I don't know what the warning means, so I continued and ran "make". Eventually make finished. I guess there were no errors because I did not saw any error messages.
After "make" command the "ff_src" folder contains: ffmpeg.exe, ffmpeg_g.exe, ffprobe_g.exe, *.o, *.d...
"ff_src/libavcodec" and other folder contains *.o, *.d, *.a.

But there is no pdb files!

At first, I though that somehow gcc.exe runs and not cl.exe, but I checked and cl.exe does runs and not gcc.exe. So, why cl.exe outputs *.o, *.a... and not what cl.exe generally outputs lib, pdb? How to fix it?

cehoyos, I'm sorry for disturbing, but this very urgent to me in order to understand how some functions in ffmpeg works in order to accomplish my project. Therefore I need those pdb files in order to debug and see how ffmpeg works

in reply to:  8 comment:14 by dbuitenh, 10 years ago

Replying to cehoyos:

Use these executables until we can provide them:
https://github.com/libav/c99-to-c89/downloads

This is the OFFICIAL upstream location for this tool, and you SHOULD grab the binaries from here, REGARDLESS.

c19e9d00a70616b86ae73111a7579a984c5fa585 was not merge properly and needs to reapplied to point to the PROPER upstream.

FYI, Ronald is deleting his repo soon, and it is already unmaintained.

in reply to:  13 ; comment:15 by dbuitenh, 10 years ago

I expected that after "make" I'll get compiled ffmpeg in VS manner and namely lib,pdb,exe files, but I get .a,.d,.o files instead. It seems that it was compiled by gcc and not cl!

Wrong. It's just a different object suffix. It's still being compiled by cl.

when I ran "ran ./configure --toolchain=msvc" the output on the screen was a long list of names and in the end the following

License: LGPL version 2.1 or later
Creating config.mak and config.h...
libavutil/avconfig.h is unchanged

WARNING: pkg-config not found, library detection may fail.

I don't know what the warning means, so I continued and ran "make". Eventually make finished. I guess there were no errors because I did not saw any error messages.

You can safely ignore that warning.

After "make" command the "ff_src" folder contains: ffmpeg.exe, ffmpeg_g.exe, ffprobe_g.exe, *.o, *.d...
"ff_src/libavcodec" and other folder contains *.o, *.d, *.a.

But there is no pdb files!

At first, I though that somehow gcc.exe runs and not cl.exe, but I checked and cl.exe does runs and not gcc.exe. So, why cl.exe outputs *.o, *.a... and not what cl.exe generally outputs lib, pdb? How to fix it?

See both above and below.

cehoyos, I'm sorry for disturbing, but this very urgent to me in order to understand how some functions in ffmpeg works in order to accomplish my project. Therefore I need those pdb files in order to debug and see how ffmpeg works

Proper debug flags for --enable-debug need to be added. For now you can ad the proper flags with something like --extra-cflags="-Z7" --extra-ldflags="-DEBUG" or something of the sort.

in reply to:  15 comment:16 by Igor, 10 years ago

Replying to dbuitenh:

I expected that after "make" I'll get compiled ffmpeg in VS manner and namely lib,pdb,exe files, but I get .a,.d,.o files instead. It seems that it was compiled by gcc and not cl!

Wrong. It's just a different object suffix. It's still being compiled by cl.

when I ran "ran ./configure --toolchain=msvc" the output on the screen was a long list of names and in the end the following

License: LGPL version 2.1 or later
Creating config.mak and config.h...
libavutil/avconfig.h is unchanged

WARNING: pkg-config not found, library detection may fail.

I don't know what the warning means, so I continued and ran "make". Eventually make finished. I guess there were no errors because I did not saw any error messages.

You can safely ignore that warning.

After "make" command the "ff_src" folder contains: ffmpeg.exe, ffmpeg_g.exe, ffprobe_g.exe, *.o, *.d...
"ff_src/libavcodec" and other folder contains *.o, *.d, *.a.

But there is no pdb files!

At first, I though that somehow gcc.exe runs and not cl.exe, but I checked and cl.exe does runs and not gcc.exe. So, why cl.exe outputs *.o, *.a... and not what cl.exe generally outputs lib, pdb? How to fix it?

See both above and below.

cehoyos, I'm sorry for disturbing, but this very urgent to me in order to understand how some functions in ffmpeg works in order to accomplish my project. Therefore I need those pdb files in order to debug and see how ffmpeg works

Proper debug flags for --enable-debug need to be added. For now you can ad the proper flags with something like --extra-cflags="-Z7" --extra-ldflags="-DEBUG" or something of the sort.

I tried ./configure --toolchain=msvc --extra-cflags="-Z7" --extra-ldflags="-DEBUG"
and then "make"
It created only 1 pdb file, named something like 101.pdb and that's all.
No pdb files for ffmpeg.exe were created. What I'm doing wrong?

Last edited 10 years ago by Igor (previous) (diff)

comment:17 by Igor, 10 years ago

Dbuitenh, do you have opinions what it could be?

comment:18 by Igor, 10 years ago

dbuitenh,cehoyos ... anybody?

in reply to:  9 ; comment:19 by rafi fisher, 10 years ago

Component: documentationbuild system

Replying to theateist:

Replying to cehoyos:

Use these executables until we can provide them:
https://github.com/libav/c99-to-c89/downloads

1 - I placed makedef, c99wrap.exe, c99conv.exe, and yasm.exe to "c:\ex" and added "c:\ex" to PATH
2 - I downloaded latest ffmpeg source to "c:\ff_src" and placed inttypes.h to "c:\ff_src"
3 - I ran msys.bat from the Visual Studio command prompt.
4 - ran ./configure --toolchain=msvc
5 - ran make

I expected that after "make" I'll get compiled ffmpeg in VS manner and namely lib,pdb,exe files, but I get .a,.d,.o files instead. It seems that it was compiled by gcc and not cl!

What could happened?

Thank you

hello

i followed the steps as described above. but when i run the msys.bat which is located in
my directory : C:\MinGW\msys\1.0
it just enter into some command shell & thats it.
when i edit the msys.bat i see it is shown in my notpad with no CRLF but as long line.
can you help ?

thanks rafi

in reply to:  19 comment:20 by Carl Eugen Hoyos, 10 years ago

Replying to rafi:

i followed the steps as described above. but when i run the msys.bat which is located in
my directory : C:\MinGW\msys\1.0
it just enter into some command shell & thats it.

This is what should be expected when running msys.bat afaik

comment:21 by Elon Musk, 9 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.