How do I compile from source in Windows so I can use the latest build of ffmpeg (I realize it might not work)? I need the plugin. Any help would be greatly appreciated, I'll probably need a step-by-step walkthrough as the only time I've ever successfully compiled anything was ffmpeg and that had, you guessed it, a step-by-step walkthrough. Any help would be greatly appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I read those documents. I installed Python on my computer and MinGW with the Mysys front end thing that makes it act like a unix shell. When I put in the ./buildfobs command it says it doesn't understand the two python lines in the file. I installed both python and the Scons thing, so I'm not sure what I'm doing wrong.
I've never compiled ANYTHING but the latest release of ffmpeg and that really did have a ridiculously step-by-step walkthrough. I've read all the documentation and I still don't know what I'm doing, sorry to be a bother but the docs don't make it clear enough for someone like me. :-( If you could give me specific steps I'd appreciate it, if not don't worry about it.
Any idea when the next pre-compiled release will be? Any ffmpeg release after 10/15/07 would have the audio decoder I need.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
there're no plans to release a binary version in the short term. The time required is very high, and I simply don't have it at the moment. The latest CVS version of the code is known to work with the most current versions of ffmpeg, but you have to build them from scratch. My recommendation is that you keep posting the error messages that you get in the process. From what you say, it seems to me like python.exe is not in a folder of your PATH var, so it's not found. The build process should be pretty painless if you follow the instructions step by step, and especially if you follow the suggestions on where to place ffmpeg files.
Cheers,
Jose
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OK, got Python working and now it does
"Scons is up to date"
Javac and a bunch of files and then it errors out at
'javac' is not recognized as an internal or external command,
operable program or batch file.
scons:*** [lib\fobs4jmf\classes\com\moesol\bindings\FindInSameDirectoryUsingJarBaseNameTest.class} Error 1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Stuck at a new thing, though I found something interesting. the junit.jar I downloaded from the CVS build is broken/empty. I had to use the one from the January release of the sourcecode available for DD from the sourceforge links.
It says 'g++' is not a recognized as an internal or external command, operable program or batch file.
scons *** [src\jmf-pi\decoder.o] Error 1.
Which is similar to the last error I had, but last time I just found a file and changed the path and it worked. I've looked through quite a few files and can't find a path to change this time.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm sorry to be a bother. I really don't know what I'm doing wrong and I need this by Friday to cap off a project I've been working on for ~4 months. I really need to get this compiled. :-(
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It seems like you didn't install the C++ compiler (g++) within the MinGW environment. That's pretty weird, as it comes integrated in the main installation file. So, some ideas and tests to try to detect where the problem is:
1) Did you install just MSys or both MSys+MinGW? MSys doesn't probably include g++. You NEED to install MinGW also!
2) Do you have gcc installed in your system? Just type "gcc" and wait for the message (either "no input files" or "command not found")
3) Can you find gcc or g++ in the file system (under /bin or /usr/bin)?
Tell us back with what you find... If you're able to get all the required tools, compilation should be straightforward!
Jose San Pedro
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I installed both mSys and minGW, when I go to a command prompt and put in gcc though I get "command not found." Both gcc and g++ .exe are in the c:\msys\mingw\bin folder. I tried registering them in Start > System > advanced > enviormental variables in both the system and user paths, but it still didn't work. I may not be registering them properly. I tried putting it in the PATH variable and I tried making it's own variable.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
to install mSys plus mingw, it was a copy/paste for the whole mingw folder, might be why it didn't register gcc or g++ to the system path. Googling how to do that now, will post back if I succeed.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
seems pretty clear to me that your mingw is not properly configured to work in MSys. This process is a little bit of a mess, and I don't remember exactly what you had to do. I just remember you have to edit the /etc/fstab file to have the c:/msys/mingw folder mounted on a specific location of the "virtual" unix file system (I don't remeber if it was as root "/", or "/usr").
if you've followed those instructions, then you should have your msys+mingw configured properly. Try restarting Msys, or even the machine, and test if gcc and g++ are still not responding. This shouldn't be giving so many problems.
Jose
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Downloaded mingw, installed everything, copy/pasted install the msys folder, new error. Same error is the guy in the other compiling on windows thread in this forum. He didn't say how he fixed it though. >.<
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
See my other post, I fixed the gcc thing by downloading the entire mingw suite and replacing my mingw folder (that was only custom bits and pieces reccomended by the guide) with that. It works now, but I get the same error as the guy in the other windows thread.
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
scons: *** [src\jmf-pi\decoder.o] Error 3
This one.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just tried it, get the exact same error. Except when I put it at the beginning, then I got a lot of lines telling me I had script errors. Guessing I wasn't supposed to do that.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I messaged Mark Levine (the guy who was having the same error and fixed it without posting how) Hopefully he'll get back to me. I'll keep fiddling in the mean. From what he did post he made it sound like there was something he did, using the format of the fob-sample.py script, to change the way g++ was interpreting/writing those lines. Probably added a slash... somewhere.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My most recent error and I'm completely out of ideas. I've tried completely uninstalling msys and mingw and reinstalling them, I've tried compiling ffmpeg half a dozen different ways. Gods, three days on this you'd think I'd feel close. >.<
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Tried several other things (including redowloading and reinstalling everything). Same error as my picture. I tried commenting out the lines mentioned, didn't work.
I also tried compiling the latest version of ffmpeg with the January source code. That didn't work, at all.
I'm sure the trouble is on my end, but I honestly have no clue at this point what I could be doing wrong. Thanks everyone for their help up to this point, I really appreciate it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm glad you got g++ working. Don't know where the problem was, but that should have worked out of the box. Anyway, it seems that ffmpeg/common.h still thinks you are building ffmpeg and not Fobs, so it's calling for files that are not needed anymore. Please, have a look at the fobs README file. There's a section describing how to compile ffmpeg, as far as I recall, and how to deploy library files in a folder. This problem should NOT occur in normal circumstances!
The rest of the messages are warnings that can be safely overlooked, except for the assert function, which is also a consecuence of having some bizarre behavior from the ffmpeg side. If you look at the code
You can notice how it is necessary to have the constant HAVE_AV_CONFIG_H defined in the building environment. Why is it defined? I don't know. but it will be safe to comment out all the lines between
#ifdef HAVE_AV_CONFIG_H
and
#endif
A much better solution will be to find out why this constant is defined...
Cheers,
Jose San Pedro
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm literally copy/pasting the ffmpeg compile instructions from the readme as it is, I just take out the optional library dependencies because I don't need them and modify the file paths to be accurate, so unless the read me is wrong ffmpeg should be compiling exactly the way it is supposed to....
Commenting out those lines didn't fix anything. >.<
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What do you mean by "didn't fix anything"? I mean, at least those errors should be gone...
Anyway, try to look around to see where this AV_CONFIG constant is defined, and, if necessary, undefine it in every file where these problems arise. You can do that with the command:
#undef AV_CONFIG_whatever (can't recall the name now)
Cheers,
Jose San Pedro
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I mean nothing changed when I commented out those lines in common.h. The whole window read exactly the same. Well, not exactly since I moved the ffmpeg build into the resources folder so the location lines were different, but other then that no changes with the lines commented out or not.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That does not make a lot of sense to me. Which lines are you commenting out? Just concentrate on commenting the lines with actual errors, you can safely ignore warnings. If I recall correctly, there was the "assert" line, and there was also the #include "config.h" line. You cannot get these errors again if your commenting them. Are you sure you are commenting the files that the build script is actually using?
My impression is that you should be safer undefining the constant than commenting out stuff...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Second post, found the answer to my other one...
How do I compile from source in Windows so I can use the latest build of ffmpeg (I realize it might not work)? I need the plugin. Any help would be greatly appreciated, I'll probably need a step-by-step walkthrough as the only time I've ever successfully compiled anything was ffmpeg and that had, you guessed it, a step-by-step walkthrough. Any help would be greatly appreciated.
Hi,
there's plenty of documentation both in the README file of the source package and in the documentation section of the web page:
http://fobs.sourceforge.net/documentation.html
Cheers,
Jose San Pedro
I read those documents. I installed Python on my computer and MinGW with the Mysys front end thing that makes it act like a unix shell. When I put in the ./buildfobs command it says it doesn't understand the two python lines in the file. I installed both python and the Scons thing, so I'm not sure what I'm doing wrong.
I've never compiled ANYTHING but the latest release of ffmpeg and that really did have a ridiculously step-by-step walkthrough. I've read all the documentation and I still don't know what I'm doing, sorry to be a bother but the docs don't make it clear enough for someone like me. :-( If you could give me specific steps I'd appreciate it, if not don't worry about it.
Any idea when the next pre-compiled release will be? Any ffmpeg release after 10/15/07 would have the audio decoder I need.
Hi,
there're no plans to release a binary version in the short term. The time required is very high, and I simply don't have it at the moment. The latest CVS version of the code is known to work with the most current versions of ffmpeg, but you have to build them from scratch. My recommendation is that you keep posting the error messages that you get in the process. From what you say, it seems to me like python.exe is not in a folder of your PATH var, so it's not found. The build process should be pretty painless if you follow the instructions step by step, and especially if you follow the suggestions on where to place ffmpeg files.
Cheers,
Jose
OK, got Python working and now it does
"Scons is up to date"
Javac and a bunch of files and then it errors out at
'javac' is not recognized as an internal or external command,
operable program or batch file.
scons:*** [lib\fobs4jmf\classes\com\moesol\bindings\FindInSameDirectoryUsingJarBaseNameTest.class} Error 1
Stuck at a new thing, though I found something interesting. the junit.jar I downloaded from the CVS build is broken/empty. I had to use the one from the January release of the sourcecode available for DD from the sourceforge links.
It says 'g++' is not a recognized as an internal or external command, operable program or batch file.
scons *** [src\jmf-pi\decoder.o] Error 1.
Which is similar to the last error I had, but last time I just found a file and changed the path and it worked. I've looked through quite a few files and can't find a path to change this time.
I'm sorry to be a bother. I really don't know what I'm doing wrong and I need this by Friday to cap off a project I've been working on for ~4 months. I really need to get this compiled. :-(
Hi,
don't lose it! You're almost there!!
It seems like you didn't install the C++ compiler (g++) within the MinGW environment. That's pretty weird, as it comes integrated in the main installation file. So, some ideas and tests to try to detect where the problem is:
1) Did you install just MSys or both MSys+MinGW? MSys doesn't probably include g++. You NEED to install MinGW also!
2) Do you have gcc installed in your system? Just type "gcc" and wait for the message (either "no input files" or "command not found")
3) Can you find gcc or g++ in the file system (under /bin or /usr/bin)?
Tell us back with what you find... If you're able to get all the required tools, compilation should be straightforward!
Jose San Pedro
I installed both mSys and minGW, when I go to a command prompt and put in gcc though I get "command not found." Both gcc and g++ .exe are in the c:\msys\mingw\bin folder. I tried registering them in Start > System > advanced > enviormental variables in both the system and user paths, but it still didn't work. I may not be registering them properly. I tried putting it in the PATH variable and I tried making it's own variable.
Addendum: I followed these steps
http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php?page=MSys_MinGW
to install mSys plus mingw, it was a copy/paste for the whole mingw folder, might be why it didn't register gcc or g++ to the system path. Googling how to do that now, will post back if I succeed.
Hi,
seems pretty clear to me that your mingw is not properly configured to work in MSys. This process is a little bit of a mess, and I don't remember exactly what you had to do. I just remember you have to edit the /etc/fstab file to have the c:/msys/mingw folder mounted on a specific location of the "virtual" unix file system (I don't remeber if it was as root "/", or "/usr").
Anyway, did you read about the integration of Msys and MinGW in the same page you just sent:
http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php?page=Integrating+MinGW+with+MSys
Cheers,
Jose San Pedro
Yes, that is exactly what I did. I edited the fstab file, it was in the directions I posted. I followed those precisely.
Hi again,
if you've followed those instructions, then you should have your msys+mingw configured properly. Try restarting Msys, or even the machine, and test if gcc and g++ are still not responding. This shouldn't be giving so many problems.
Jose
Downloaded mingw, installed everything, copy/pasted install the msys folder, new error. Same error is the guy in the other compiling on windows thread in this forum. He didn't say how he fixed it though. >.<
See my other post, I fixed the gcc thing by downloading the entire mingw suite and replacing my mingw folder (that was only custom bits and pieces reccomended by the guide) with that. It works now, but I get the same error as the guy in the other windows thread.
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
scons: *** [src\jmf-pi\decoder.o] Error 3
This one.
Have you tried what is suggested in this post?
https://sourceforge.net/forum/message.php?msg_id=3356356
Just tried it, get the exact same error. Except when I put it at the beginning, then I got a lot of lines telling me I had script errors. Guessing I wasn't supposed to do that.
I messaged Mark Levine (the guy who was having the same error and fixed it without posting how) Hopefully he'll get back to me. I'll keep fiddling in the mean. From what he did post he made it sound like there was something he did, using the format of the fob-sample.py script, to change the way g++ was interpreting/writing those lines. Probably added a slash... somewhere.
http://img228.imageshack.us/my.php?image=sighmw3.jpg
My most recent error and I'm completely out of ideas. I've tried completely uninstalling msys and mingw and reinstalling them, I've tried compiling ffmpeg half a dozen different ways. Gods, three days on this you'd think I'd feel close. >.<
Tried several other things (including redowloading and reinstalling everything). Same error as my picture. I tried commenting out the lines mentioned, didn't work.
I also tried compiling the latest version of ffmpeg with the January source code. That didn't work, at all.
I'm sure the trouble is on my end, but I honestly have no clue at this point what I could be doing wrong. Thanks everyone for their help up to this point, I really appreciate it.
Hi,
I'm glad you got g++ working. Don't know where the problem was, but that should have worked out of the box. Anyway, it seems that ffmpeg/common.h still thinks you are building ffmpeg and not Fobs, so it's calling for files that are not needed anymore. Please, have a look at the fobs README file. There's a section describing how to compile ffmpeg, as far as I recall, and how to deploy library files in a folder. This problem should NOT occur in normal circumstances!
The rest of the messages are warnings that can be safely overlooked, except for the assert function, which is also a consecuence of having some bizarre behavior from the ffmpeg side. If you look at the code
static inline int ff_get_fourcc(const char *s){
#ifdef HAVE_AV_CONFIG_H
assert( strlen(s)==4 );
#endif
return (s[0]) + (s[1]<<8) + (s[2]<<16) + (s[3]<<24);
}
You can notice how it is necessary to have the constant HAVE_AV_CONFIG_H defined in the building environment. Why is it defined? I don't know. but it will be safe to comment out all the lines between
#ifdef HAVE_AV_CONFIG_H
and
#endif
A much better solution will be to find out why this constant is defined...
Cheers,
Jose San Pedro
I'm literally copy/pasting the ffmpeg compile instructions from the readme as it is, I just take out the optional library dependencies because I don't need them and modify the file paths to be accurate, so unless the read me is wrong ffmpeg should be compiling exactly the way it is supposed to....
Commenting out those lines didn't fix anything. >.<
Hi,
What do you mean by "didn't fix anything"? I mean, at least those errors should be gone...
Anyway, try to look around to see where this AV_CONFIG constant is defined, and, if necessary, undefine it in every file where these problems arise. You can do that with the command:
#undef AV_CONFIG_whatever (can't recall the name now)
Cheers,
Jose San Pedro
I mean nothing changed when I commented out those lines in common.h. The whole window read exactly the same. Well, not exactly since I moved the ffmpeg build into the resources folder so the location lines were different, but other then that no changes with the lines commented out or not.
That does not make a lot of sense to me. Which lines are you commenting out? Just concentrate on commenting the lines with actual errors, you can safely ignore warnings. If I recall correctly, there was the "assert" line, and there was also the #include "config.h" line. You cannot get these errors again if your commenting them. Are you sure you are commenting the files that the build script is actually using?
My impression is that you should be safer undefining the constant than commenting out stuff...