Ticket #1938 (closed enhancement: fixed)
Provide c99wrap.exe and c99conv.exe
| Reported by: | theateist | 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
comment:1 Changed 6 months ago by theateist
- Priority changed from normal to critical
- Component changed from undetermined to build system
comment:3 follow-up: ↓ 5 Changed 6 months ago by cehoyos
Did you try Google's executable?
https://gerrit.chromium.org/gerrit/cat/34728%2C4%2Cchromium/binaries/c99conv.exe%5E0
comment:5 in reply to: ↑ 3 Changed 6 months ago by theateist
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 follow-up: ↓ 7 Changed 6 months ago by 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.
comment:7 in reply to: ↑ 6 Changed 6 months ago by theateist
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 follow-ups: ↓ 9 ↓ 14 Changed 6 months ago by cehoyos
- Status changed from new to open
- Version changed from unspecified to git-master
- Reproduced by developer set
- Summary changed from Failed to compile ffmpeg with VS to Provide c99wrap.exe and c99conv.exe
Use these executables until we can provide them:
https://github.com/libav/c99-to-c89/downloads
comment:9 in reply to: ↑ 8 ; follow-ups: ↓ 10 ↓ 19 Changed 6 months ago by 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
comment:10 in reply to: ↑ 9 ; follow-up: ↓ 12 Changed 6 months ago by 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?
comment:11 Changed 6 months ago by cehoyos
- Priority changed from normal to wish
- Type changed from defect to enhancement
- Component changed from build system to documentation
This is probably more an issue with our website not providing the needed binaries for download.
comment:12 in reply to: ↑ 10 ; follow-up: ↓ 13 Changed 6 months ago by 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?
comment:13 in reply to: ↑ 12 ; follow-up: ↓ 15 Changed 6 months ago by theateist
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
comment:14 in reply to: ↑ 8 Changed 6 months ago by dbuitenh
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.
comment:15 in reply to: ↑ 13 ; follow-up: ↓ 16 Changed 6 months ago by 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.
comment:16 in reply to: ↑ 15 Changed 6 months ago by theateist
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 psb files for ffmpeg.exe were created. What I'm doing wrong?
comment:17 Changed 6 months ago by theateist
Dbuitenh, do you have opinions what it could be?
comment:18 Changed 6 months ago by theateist
dbuitenh,cehoyos ... anybody?
comment:19 in reply to: ↑ 9 ; follow-up: ↓ 20 Changed 6 months ago by rafi
- Component changed from documentation to build 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
comment:20 in reply to: ↑ 19 Changed 6 months ago by cehoyos
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 Changed 3 months ago by richardpl
- Status changed from open to closed
- Resolution set to fixed
Fixed in c29c7c1470f98f8e66752fb09c44ded625e9a991.


