FFMS / ffms2

An FFmpeg based source library and Avisynth/VapourSynth plugin for easy frame accurate access
Other
574 stars 104 forks source link

preparing ffms2 for x264 failed #358

Closed Patman86 closed 4 years ago

Patman86 commented 4 years ago

Hi,

I have a problem when i want to prepare ffms2 for x264. I think there is a problem with ffmpeg (libavcodec, libavformat etc.). Preparing ffmpeg and lsmash works fine and when I start compiling ffms2 the check for ffmpeg libs fails. The libs exists! Any solution?

dwbuiten commented 4 years ago

You have given no details on what fails and how or what 'preparing' means in this context.

Patman86 commented 4 years ago

I wanted to update my x264 version with ffms and lsmash support. I use latest git base (commit 0628fe69f014c398d1c5d15d99934a88a4a65c3b). It worked wonderfully in the past (commit bda9eeb2fb38eb3bc3462410bbcc1d773b264208). Here is the error log when compiling the ffms libs. Here are my script:

cd ./ffms2/Build_x264 _dir="D:/repos/x264/opt" _lav_l="-L${_dir}/lib -lswscale -lavformat -lavcodec -lavutil -lm -lbz2 -lz -lpsapi -ladvapi32 -lshell32" _lav_c="-I${_dir}/include" _av_l="" _av_c="" [[ "$1" = "posix" ]] && _lav_l="-L${_dir}/lib -lswscale -lavformat -lavcodec -lavutil -lm -lbz2 -lz -lpsapi -ladvapi32 -lshell32 -pthread" _cf="-Wno-deprecated-declarations -m64" _cxx="-Wno-deprecated-declarations -m64" _ld="-static -m64" _host="x86_64-w64-mingw32" PKG_CONFIG_PATH="${_dir}/lib/pkgconfig" \ CFLAGS="${_cf}" \ CXXFLAGS="${_cxx}" \ LDFLAGS="${_ld}" \ ../configure --prefix=${_dir} --build="i686-w64-mingw32" --host=${_host} \ --enable-static --disable-shared make -j1 make install make clean

grafik

grafik

dwbuiten commented 4 years ago

Are you sure your PKG_CONFIG_LIBDIR / PKG_CONFIG_PATH is set propetly to point to the right place? Also config.log is more useful. What is /d/repos/x264/Build_ffms2_x264.sh?

Patman86 commented 4 years ago

Yes, i'm sure

grafik

/d/repos/x264/Build_ffms2_x264.sh - Build_ffms2_x264.sh is my script (bash file). I can also type bash Build_ffms2_x264.sh with same result. And /d/repos/x264 is my source folder. This (/d/repos/x264/Build_ffms2_x264.sh) was written because I dragged and dropped the file onto the Mintty console. In the screenshot you can see that the PKG_CONFIG_LIBDIR / PKG_CONFIG_PATH are in the correct folder. And as I mentioned before, I used the script the same way before. I just updated all other repos (ffmpeg, lsmash and ffms2). Hence the suspicion that it is more due to ffmpeg than to ffms2.

Here is config.log before updating config.log

Here is config.log after updating config.log

Only the source folder is different, but the scripts are adapted accordingly. Just to show that it worked before.

qyot27 commented 4 years ago

Those two config.logs are identical. Checksum and everything.

dwbuiten commented 4 years ago

I think you may have uploaded the same config.log twice; both those files are identical.

EDIT: @qyot27 beat me to it.

Patman86 commented 4 years ago

config.log files are now the right ones

qyot27 commented 4 years ago

There's definitely a problem in your MSys2 environment. The differences in the config.log versions point primarily to stuff that should be on the $PATH not being there, and other locations shifting to other parts of the filesystem.

I even tested this last night - I updated MSys2, built FFmpeg, and then configured FFMS2 from git. It found the FFmpeg libs just fine (although the build choked on linking ffmsindex due to -municode/WinMain issues...I thought that was fixed?).

Patman86 commented 4 years ago

There's definitely a problem in your MSys2 environment. The differences in the config.log versions point primarily to stuff that should be on the $PATH not being there, and other locations shifting to other parts of the filesystem.

Hey you are right, thanks. After reinstalling Msys2 and updating everything works fine.