Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
4th March 2020, 17:03 | #21 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Thanx magiblot, I have no idea what my shell is, but assume bash.
(Had mint installed for several months(maybe 6, maybe 9), only ever updated it, done nothing else). EDIT: almost nothing else, sometimes Ive used it as a browser. [I never seem to have time for anything else] MOBILE: EDIT: Powerhouse Porter is great, Adnams Broadside next, lubbely
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 4th March 2020 at 17:28. |
4th March 2020, 17:36 | #22 | Link | |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,419
|
Quote:
Looks like I need to make the instructions a little more explicit. I'd been in a bit of a rush when I wrote that up and neglected to actually put down the build instructions for AviSynth+ on Ubuntu. |
|
4th March 2020, 18:00 | #23 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
|
4th March 2020, 18:24 | #24 | Link |
Guest
Posts: n/a
|
In that case, I must have run the instructions for macOS. I thought that there was a gap in the guide but interpreted it to mean that after the prerequisites had been satisfied, the build instructions were the same for macOS and Ubuntu.
Last edited by Richard1485; 4th March 2020 at 18:26. |
4th March 2020, 19:27 | #25 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,419
|
Well, truth be told, I prefer Ninja anyway, so even on Ubuntu I still use it (on macOS it's a little more important to use Ninja because of weirdness concerning the Apple binutils and linking to libstc++). The major difference is that on 19.10, there's no need to override CC/CXX/LD because you're already using GCC 9.
For 19.04 and 19.10: Code:
git clone git://github.com/AviSynth/AviSynthPlus.git cd AviSynthPlus mkdir avisynth-build cd avisynth-build cmake ../ -G Ninja -DCMAKE_CXX_FLAGS="-fpermissive" ninja sudo checkinstall --pkgname=avisynth --pkgversion="$(grep -r \ Version avs_core/avisynth.pc | cut -f2 -d " ")-$(date --rfc-3339=date | \ sed 's/-//g')-git" --backup=no --deldoc=yes --delspec=yes --deldesc=yes \ --strip=yes --fstrans=no --default ninja install Code:
git clone git://github.com/AviSynth/AviSynthPlus.git cd AviSynthPlus mkdir avisynth-build cd avisynth-build cmake ../ -DCMAKE_CXX_FLAGS="-fpermissive" make -j$(nproc) sudo checkinstall --pkgname=avisynth --pkgversion="$(grep -r \ Version avs_core/avisynth.pc | cut -f2 -d " ")-$(date --rfc-3339=date | \ sed 's/-//g')-git" --backup=no --deldoc=yes --delspec=yes --deldesc=yes \ --strip=yes --fstrans=no --default |
4th March 2020, 20:06 | #27 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,419
|
Not really, the only substantive difference is checkinstall, which doesn't affect the actual running of anything (it just supervises the install process, makes a deb package and actually registers it in dpkg/apt so it can be handled with the package management system). If you didn't use checkinstall, you probably do need to run sudo ldconfig after sudo make install, though.
|
4th March 2020, 21:16 | #30 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
I can only encourage all not-so-commandline hero Windows guys to plunge into this another world. StainlessS, it's not magic (haha, yes, it is)
I apologize from those who are using linux regularly but the first steps are always hard for a beginner, even if I have already used it many years ago for some days. When you say that one should simply "configure again", everybody understands except poor us, without a context this simple sentence means nothing for us. One simple additional sentence or hint can spare us hours My learning curve in brief. I'm on Windows 10. Downloaded and installed the 18.04 WSL Ubuntu app (!), upgraded to 19.10. Fortunately I had zero problems with GCC, I got version 9 ready. Since I put a non-final test username at the installation time I then spent some hours with altering the default user who logins when I start the Ubuntu app. (Yes, Windows registry). I even learned the su command. Then I got Midnight Commander, learned about nano (a text editor here, read about it on SO), configured git, and with qyot27's help I was able to build ffmpeg and avisynth+. Some problematic steps in the learning curve were the rights, such as using MC CTRL-X C for setting execute rights on files, keyboard commands of nano, that the letter M means ALT key in nano's help, frequently using that sudo thing for getting elevated rights. And there was a familiar thing: using the TAB key(s) I could easily auto-complete the commands or file and directory names. And finally: the file system is nicely mapped and accessible from Windows under \\wsl$\Ubuntu-18.04\ folder. It's so simple, you are using Windows _and_ can have a couple of Ubuntu terminal windows. One with avisynth build directory, another one with test avs scripts and ffmpeg, a third one with nano, a fourth console with mc to copy this and that. |
4th March 2020, 21:20 | #31 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
And a question: I have an AVX2 capable processor but the Info() filter tells me that Avisynth+ is seeing only up to AVX. However when I cat the processor features in the console I can see there AVX2.
I wonder if AVX2 detection fails only for me (because of WSL) or it has a generic problem. |
4th March 2020, 21:34 | #32 | Link |
Guest
Posts: n/a
|
So, for installing ffmpeg on Ubuntu, the instructions say to leave out the --prefix option and add a checkinstall command. If I've understood correctly, this should be right:
Code:
./configure --enable-gpl --enable-version3 \ --disable-doc --disable-debug --enable-pic --enable-avisynth && \ make -j$(nproc) && \ sudo checkinstall --pkgname=ffmpeg --pkgversion="7:$(git rev-list \ --count HEAD)-g$(git rev-parse --short HEAD)" --backup=no --deldoc=yes \ --delspec=yes --deldesc=yes --strip=yes --stripso=yes --addso=yes \ --fstrans=no --default |
4th March 2020, 22:27 | #34 | Link | |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,419
|
Quote:
If you're adventurous/patient enough to go through and make sure the builds are equivalent (or you don't care about any of those other external libraries), then installing to the system should be fine. sudo apt-get build-dep ffmpeg would have gotten you most of the way there, dependency-wise, so you could then use ffmpeg -buildconf and copy the configuration options over to the avsplus_linux patched version. Ubuntu (well, Debian) configures its FFmpeg package with --enable-avisynth, so once the situation about switching away from AvxSynth gets resolved, there will be a point where we don't have to cover FFmpeg in the Ubuntu section of the docs. It'll just work once you install AviSynth+. |
|
4th March 2020, 23:33 | #35 | Link |
Guest
Posts: n/a
|
That all makes sense. I noticed in the past that after building ffmpeg, there can be issues with other programs that expect to see certain versions of libraries. For now, I'll stick to installing to $HOME. Unfortunately, an error appears during make. This is where the error occurs:
Code:
AR libavdevice/libavdevice.a AR libavfilter/libavfilter.a AR libavformat/libavformat.a AR libpostproc/libpostproc.a AR libavcodec/libavcodec.a AR libswresample/libswresample.a AR libswscale/libswscale.a CC libavutil/hwcontext_cuda.o CC libavutil/integer.o CC libavutil/intmath.o CC libavutil/lfg.o CC libavutil/lls.o CC libavutil/log.o CC libavutil/log2_tab.o CC libavutil/lzo.o CC libavutil/mastering_display_metadata.o CC libavutil/mathematics.o CC libavutil/md5.o In file included from libavutil/hwcontext_cuda.c:27: libavutil/hwcontext_cuda.c: In function ‘cuda_device_uninit’: libavutil/hwcontext_cuda.c:300:28: error: ‘CudaFunctions’ {aka ‘struct CudaFunctions’} has no member named ‘cuDevicePrimaryCtxRelease’ 300 | CHECK_CU(cu->cuDevicePrimaryCtxRelease(hwctx->internal->cuda_device)); | ^~ libavutil/cuda_check.h:62:114: note: in definition of macro ‘FF_CUDA_CHECK_DL’ 62 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x) | ^ libavutil/hwcontext_cuda.c:300:17: note: in expansion of macro ‘CHECK_CU’ 300 | CHECK_CU(cu->cuDevicePrimaryCtxRelease(hwctx->internal->cuda_device)); | ^~~~~~~~ libavutil/hwcontext_cuda.c: In function ‘cuda_context_init’: libavutil/hwcontext_cuda.c:353:26: error: ‘CudaFunctions’ {aka ‘struct CudaFunctions’} has no member named ‘cuDevicePrimaryCtxGetState’ 353 | ret = CHECK_CU(cu->cuDevicePrimaryCtxGetState(hwctx->internal->cuda_device, | ^~ libavutil/cuda_check.h:62:114: note: in definition of macro ‘FF_CUDA_CHECK_DL’ 62 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x) | ^ libavutil/hwcontext_cuda.c:353:15: note: in expansion of macro ‘CHECK_CU’ 353 | ret = CHECK_CU(cu->cuDevicePrimaryCtxGetState(hwctx->internal->cuda_device, | ^~~~~~~~ libavutil/hwcontext_cuda.c:362:30: error: ‘CudaFunctions’ {aka ‘struct CudaFunctions’} has no member named ‘cuDevicePrimaryCtxSetFlags’ 362 | ret = CHECK_CU(cu->cuDevicePrimaryCtxSetFlags(hwctx->internal->cuda_device, | ^~ libavutil/cuda_check.h:62:114: note: in definition of macro ‘FF_CUDA_CHECK_DL’ 62 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x) | ^ libavutil/hwcontext_cuda.c:362:19: note: in expansion of macro ‘CHECK_CU’ 362 | ret = CHECK_CU(cu->cuDevicePrimaryCtxSetFlags(hwctx->internal->cuda_device, | ^~~~~~~~ libavutil/hwcontext_cuda.c:368:26: error: ‘CudaFunctions’ {aka ‘struct CudaFunctions’} has no member named ‘cuDevicePrimaryCtxRetain’ 368 | ret = CHECK_CU(cu->cuDevicePrimaryCtxRetain(&hwctx->cuda_ctx, | ^~ libavutil/cuda_check.h:62:114: note: in definition of macro ‘FF_CUDA_CHECK_DL’ 62 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x) | ^ libavutil/hwcontext_cuda.c:368:15: note: in expansion of macro ‘CHECK_CU’ 368 | ret = CHECK_CU(cu->cuDevicePrimaryCtxRetain(&hwctx->cuda_ctx, | ^~~~~~~~ CC libavutil/mem.o make: *** [ffbuild/common.mak:59: libavutil/hwcontext_cuda.o] Error 1 make: *** Waiting for unfinished jobs.... |
5th March 2020, 03:52 | #36 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,419
|
Those relate to trying to enable CUDA, which is autodetected apparently. I don't personally have an Nvidia card new enough to support CUDA, so I guess it skips it here. You may want to either --disable-cuvid (hopefully that's the right one; there's like three of them) or if more things in the hwaccels have problems, even go nuclear and use --disable-hwaccels.
|
5th March 2020, 05:30 | #37 | Link | |
Guest
Posts: n/a
|
Quote:
Code:
./configure --prefix=$HOME/ffavx_build --enable-gpl --enable-version3 \ --disable-doc --disable-debug --enable-pic --enable-avisynth --disable-cuvid --disable-hwaccels EDIT: This seems to work. Code:
./configure --prefix=$HOME/ffavx_build --enable-gpl --enable-version3 \ --disable-doc --disable-debug --enable-pic --enable-avisynth --disable-cuvid --disable-hwaccels --disable-cuda-llvm --disable-ffnvcodec Last edited by Richard1485; 5th March 2020 at 05:54. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|