#3218 closed defect (invalid)
ffmpeg does not compile with the latest git of x264
Reported by: | mmstick | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | troll |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
When compiling ffmpeg with 10-bit x264, make runs into a compile error with
make: * [libavcodec/x86/h264_qpel_10bit.o] Error 139
Change History (37)
comment:1 by , 11 years ago
Priority: | critical → normal |
---|---|
Resolution: | → needs_more_info |
Status: | new → closed |
follow-up: 3 comment:2 by , 11 years ago
I compile ffmpeg/x264/fdk-aac by use of a script I made earlier this year. I use it quite often on a variety of different machines but today it is not working. http://pastebin.com/TP6Rczur
gcc -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -o ffmpeg_g cmdutils.o ffmpeg_opt.o ffmpeg_filter.o ffmpeg.o ffmpeg_vdpau.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil -ldl -lXv -lX11 -lXext -lvdpau -lva -lX11 -ljack -lasound -lSDL -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lopus -lmp3lame -lfaac -lass -lm -pthread -lbz2 -lz gcc -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -o ffplay_g cmdutils.o ffplay.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil -ldl -lXv -lX11 -lXext -lvdpau -lva -lX11 -ljack -lasound -lSDL -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lopus -lmp3lame -lfaac -lass -lm -pthread -lbz2 -lz -lSDL gcc -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -o ffprobe_g cmdutils.o ffprobe.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil -ldl -lXv -lX11 -lXext -lvdpau -lva -lX11 -ljack -lasound -lSDL -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lopus -lmp3lame -lfaac -lass -lm -pthread -lbz2 -lz gcc -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -o ffserver_g cmdutils.o ffserver.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil -ldl -lXv -lX11 -lXext -lvdpau -lva -lX11 -ljack -lasound -lSDL -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lopus -lmp3lame -lfaac -lass -lm -pthread -lbz2 -lz libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_140' collect2: error: ld returned 1 exit status libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_140' collect2: error: ld returned 1 exit status make: *** [ffplay_g] Error 1 make: *** [ffserver_g] Error 1 libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_140' collect2: error: ld returned 1 exit status make: *** [ffprobe_g] Error 1 libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_140' collect2: error: ld returned 1 exit status make: *** [ffmpeg_g] Error 1 make: Target `all' not remade because of errors.
comment:3 by , 11 years ago
Resolution: | needs_more_info → invalid |
---|
Replying to mmstick:
libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_140'
You have conflicting versions of libx264 installed, fix that.
follow-up: 5 comment:4 by , 11 years ago
No, I don't. See my script, it has the latest git of x264 installed.
follow-up: 6 comment:5 by , 11 years ago
Replying to mmstick:
No, I don't.
Please understand that this is a bug tracker (for bugs within the FFmpeg project, not scripts using or compiling FFmpeg), not a support forum. Please see http://ffmpeg.org/contact.html
comment:6 by , 11 years ago
Replying to cehoyos:
Replying to mmstick:
No, I don't.
Please understand that this is a bug tracker (for bugs within the FFmpeg project, not scripts using or compiling FFmpeg), not a support forum. Please see http://ffmpeg.org/contact.html
Please understand that this is not an issue with my script. I already told you that I've been using and maintaining this script over the last year without any issues as I recompile almost weekly. This week, it does not compile.
comment:7 by , 11 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
comment:8 by , 11 years ago
Resolution: | → invalid |
---|---|
Status: | reopened → closed |
comment:10 by , 11 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
Summary: | make: * [libavcodec/x86/h264_qpel_10bit.o] Error 139 → ffmpeg does not compile with the latest git of x264 |
follow-up: 13 comment:11 by , 11 years ago
Replying to mmstick:
You're not being very intelligent about this matter.
You have a link failure, which is likely because you fail at achieving what you were asked in the very first comment. Please understand that we won't debug your script.
Now, I'd suggest you stop re-opening the issue until you are able to provide the necessary information or you'll likely get banned on a whim.
comment:12 by , 11 years ago
Resolution: | → invalid |
---|---|
Status: | reopened → closed |
follow-up: 18 comment:13 by , 11 years ago
Replying to ubitux:
Replying to mmstick:
You're not being very intelligent about this matter.
You have a link failure, which is likely because you fail at achieving what you were asked in the very first comment. Please understand that we won't debug your script.
Now, I'd suggest you stop re-opening the issue until you are able to provide the necessary information or you'll likely get banned on a whim.
I repeat, there is NOTHING wrong with my script; now stop acting like dumbasses, it's not professional at all. You haven't asked for any information at all, but have done much to ignore the issue by shoving it off claiming it is a problem with my script. If you think there is a problem with my script, then prove me wrong; it's that simple. I have the latest git of x264 installed; If you think I have the wrong version somehow, then why do I have libx264.so.140 in my lib directory? If you want to continue being dumbasses, then I'll just switch to using avconv instead.
follow-up: 15 comment:14 by , 11 years ago
Please post these questions on the user mailing list where I will support you.
follow-up: 16 comment:15 by , 11 years ago
Replying to cehoyos:
Please post these questions on the user mailing list where I will support you.
This is not a question; read the fine print.
follow-up: 17 comment:16 by , 11 years ago
Replying to mmstick:
Replying to cehoyos:
Please post these questions on the user mailing list where I will support you.
This is not a question; read the fine print.
I consider the following three sentences questions:
You haven't asked for any information at all
If you think there is a problem with my script, then prove me wrong
why do I have libx264.so.140 in my lib directory?
follow-up: 21 comment:17 by , 11 years ago
Replying to cehoyos:
Replying to mmstick:
Replying to cehoyos:
Please post these questions on the user mailing list where I will support you.
This is not a question; read the fine print.
I consider the following three sentences questions:
You haven't asked for any information at all
If you think there is a problem with my script, then prove me wrong
why do I have libx264.so.140 in my lib directory?
I consider all of your replies to be highly snobbishly sarcastic. You only read what you want to read and nothing else. You apparently seem to think I don't know what I'm doing and that there are problems with my script, but that is not the case; I'm no fool like you. If you think there is a problem on my end then prove it -- you aren't able to.
follow-up: 20 comment:18 by , 11 years ago
Replying to mmstick:
[...]
I repeat, there is NOTHING wrong with my script; now stop acting like dumbasses, it's not professional at all. You haven't asked for any information at all, but have done much to ignore the issue by shoving it off claiming it is a problem with my script.
We don't provide assistance for your script, whatever that thing is. We fix build failures related to ffmpeg. So it is your problem to provide evidence that the ffmpeg build is broken.
If you think there is a problem with my script, then prove me wrong; it's that simple.
No, you get it backwards.
We don't care about your script, that's not our problem. Note that we are not claiming that your script is either wrong or correct. You need to prove that there is a problem with the ffmpeg build. We already gave directions about that, but you're ignoring them.
I have the latest git of x264 installed; If you think I have the wrong version somehow, then why do I have libx264.so.140 in my lib directory? If you want to continue being dumbasses, then I'll just switch to using avconv instead.
Talking about professionalism, calling people names, that's clearly a good way to get someone to assist you.
comment:19 by , 11 years ago
If you want me to help you please post all your questions and support requests on the ffmpeg-user mailing list. If you don't want to post there, you will have to find the problems in your script yourself.
follow-up: 22 comment:20 by , 11 years ago
Replying to saste:
Replying to mmstick:
[...]
I repeat, there is NOTHING wrong with my script; now stop acting like dumbasses, it's not professional at all. You haven't asked for any information at all, but have done much to ignore the issue by shoving it off claiming it is a problem with my script.
We don't provide assistance for your script, whatever that thing is. We fix build failures related to ffmpeg. So it is your problem to provide evidence that the ffmpeg build is broken.
If you think there is a problem with my script, then prove me wrong; it's that simple.
No, you get it backwards.
We don't care about your script, that's not our problem. Note that we are not claiming that your script is either wrong or correct. You need to prove that there is a problem with the ffmpeg build. We already gave directions about that, but you're ignoring them.
I have the latest git of x264 installed; If you think I have the wrong version somehow, then why do I have libx264.so.140 in my lib directory? If you want to continue being dumbasses, then I'll just switch to using avconv instead.
Talking about professionalism, calling people names, that's clearly a good way to get someone to assist you.
You have not given any directions at all, and you still refuse to do so. The only thing you told me was that I have a differing x264 version when that is NOT the case. The script I showed you clearly shows that it ALWAYS downloads the latest git and compiles/installs it BEFORE it compiles and installs ffmpeg. It is NOT possible to have a differing version unless ffmpeg does not support the latest git of x264. Therefore, I have already proven that there is a problem with the ffmpeg build, but you refuse to accept it as a problem.
You have no right to talk about professionalism when you have displayed such a poor attitude. You are deserving of any insults you have been given.
Again, there are NO issues with my script or system. I run this script on 5 different machines weekly, and this week there is a build error. I have encoded over 300,000 minutes of video and audio over the last 2 years.
comment:21 by , 11 years ago
Replying to mmstick:
I consider all of your replies to be highly snobbishly sarcastic.
I am not so sure:
My comment:1 was asking for missing information, remember that your original report was simply make: * [libavcodec/x86/h264_qpel_10bit.o] Error 139
which is (unrelated to your later problem but) impossible to parse. My next comment:3 contained the (short) solution for your problem, one can of course argue if "wrong symlink" or "incomplete installation" or "header / library mismatch" is the same as "conflicting versions" but it should typically help.
Of course my remaining comments were sarcastic! (Me being a snob would depend on your definition.) Claiming "my script cannot be wrong the problem must be within FFmpeg" imo asks loudly for sarcastic comments;-)
follow-up: 23 comment:22 by , 11 years ago
Replying to mmstick:
You have not given any directions at all, and you still refuse to do so. The only thing you told me was that I have a differing x264 version when that is NOT the case. The script I showed you clearly shows that it ALWAYS downloads the latest git and compiles/installs it BEFORE it compiles and installs ffmpeg. It is NOT possible to have a differing version unless ffmpeg does not support the latest git of x264. Therefore, I have already proven that there is a problem with the ffmpeg build, but you refuse to accept it as a problem.
Final linking seems not to be unable to find the x264, that's all we can tell from the information you provide. We can't reproduce such problem here (also, your script is not portable enough and doesn't isolate the problem).
Again, there are NO issues with my script or system. I run this script on 5 different machines weekly, and this week there is a build error. I have encoded over 300,000 minutes of video and audio over the last 2 years.
Again, we didn't tell you there was a problem with your script, we just don't want to debug it. We are requesting information so we can reproduce the problem.
comment:23 by , 11 years ago
Replying to ubitux:
Replying to mmstick:
You have not given any directions at all, and you still refuse to do so. The only thing you told me was that I have a differing x264 version when that is NOT the case. The script I showed you clearly shows that it ALWAYS downloads the latest git and compiles/installs it BEFORE it compiles and installs ffmpeg. It is NOT possible to have a differing version unless ffmpeg does not support the latest git of x264. Therefore, I have already proven that there is a problem with the ffmpeg build, but you refuse to accept it as a problem.
Final linking seems not to be unable to find the x264, that's all we can tell from the information you provide. We can't reproduce such problem here (also, your script is not portable enough and doesn't isolate the problem).
Again, there are NO issues with my script or system. I run this script on 5 different machines weekly, and this week there is a build error. I have encoded over 300,000 minutes of video and audio over the last 2 years.
Again, we didn't tell you there was a problem with your script, we just don't want to debug it. We are requesting information so we can reproduce the problem.
libx264.so and libx264.so.140 are in the same directory as the rest of the ffmpeg libraries ( /usr/local/lib ). If it is looking in the same directory then it will find it. My script doesn't have to portable because it is Ubuntu-specific but that does not matter. There is no other information that I can provide other than what I have already provided.
follow-up: 32 comment:25 by , 11 years ago
follow-up: 27 comment:26 by , 11 years ago
Was your script ever really linking with the x264 in /usr/local/lib? It was likely linking to a system installed one, or maybe /usr/local/lib was in your ld configuration.
Anyway, you can try --extra-ldflags=-L/usr/local/lib.
Note for developers: we should probably depend on pkg-config for the x264 probing so the linker flags are automatically added. I don't know when x264 made available the .pc file though.
follow-up: 28 comment:27 by , 11 years ago
Replying to ubitux:
Note for developers: we should probably depend on pkg-config for the x264 probing so the linker flags are automatically added.
Would that still allow to link libx264 on a system without pkg-config?
follow-up: 29 comment:28 by , 11 years ago
follow-ups: 30 31 comment:29 by , 11 years ago
Replying to ubitux:
Replying to cehoyos:
Replying to ubitux:
Note for developers: we should probably depend on pkg-config for the x264 probing so the linker flags are automatically added.
Would that still allow to link libx264 on a system without pkg-config?
Can you name a relevant one?
(OS X?)
What I meant was: If I build a libx264 library and move it (and the header) to a place of my choice, will I still be able to build FFmpeg using that libx264? If not, this sounds like a very bad idea.
comment:30 by , 11 years ago
Replying to cehoyos:
What I meant was: If I build a libx264 library and move it (and the header) to a place of my choice, will I still be able to build FFmpeg using that libx264? If not, this sounds like a very bad idea.
That is true for a lot of libraries, and not only the ones using pkg-config. The correct way of building a library is to specify its final location in its configuraiton phase.
Note that editing a .pc
file to set the correct path is easy, it is done with a simple text editor. Try editing libx11.so to change the path to the compose tables.
follow-up: 33 comment:31 by , 11 years ago
Replying to cehoyos:
Replying to ubitux:
Replying to cehoyos:
Replying to ubitux:
Note for developers: we should probably depend on pkg-config for the x264 probing so the linker flags are automatically added.
Would that still allow to link libx264 on a system without pkg-config?
Can you name a relevant one?
(OS X?)
Really?
What I meant was: If I build a libx264 library and move it (and the header) to a place of my choice, will I still be able to build FFmpeg using that libx264? If not, this sounds like a very bad idea.
I would say yes, probably with --enable-libx264 --extra-cflags=-I/weirdplace/include --extra-ldflags="-L/weirdplace/include -lx264"
, and "only" --extra-ldflags=-lx264
if it's in a standard place. Though, I'm not sure how check_pkg_config()
behaves when pkg-config
is not available though. Maybe it aborts somewhere. If so, we could probably be more tolerant on that regard (by assuming the library is present).
By the way, x264 has a .pc since v40 (and we require >= 118).
follow-up: 34 comment:32 by , 11 years ago
comment:33 by , 11 years ago
Replying to ubitux:
Would that still allow to link libx264 on a system without pkg-config?
Can you name a relevant one?
(OS X?)
Really?
I try very hard not to use pkg-config so I may be wrong but configure always prints funny warnings for me when I test on OS X.
comment:34 by , 11 years ago
Replying to compn:
Replying to mmstick:
Replying to compn:
this is a ubuntu bug.
That's not very specific
after i see the results of 'cd / && sudo find x264' , i will be more specific.
You won't find anything like that. If you are searching for where I have x264 installed, it's /usr/local/lib. I've never installed x264 from Ubuntu repositories before; I always compile it myself because I use 10-bit. ldconfig detects libx264.so just fine.
comment:36 by , 11 years ago
Keywords: | troll added |
---|
If you want to reopen this ticket, please confirm that you ran
make distclean
, provide your configure line, then runmake V=1
twice and provide the complete, uncut console output of the second run.