MacOS Mojave is still supported and updated by Apple but Avidemux no longer supports this OS. Is there a reason for this? Any chance to have the latest release work on Mojave?
I don't plan to update my OS until it is no longer supported by Apple (ie. ~at the end of the year). Which means I won't be able to update my 2.7.6 until then. Because, yes, 2.7.6 works flawlessly on Mojave although it is labeled as "Catalina". It even worked on High Sierra, hence my surprise to see 2.7.8 not compatible with Mojave :(
Thank you
Quote from: Marc66FR on April 08, 2021, 09:26:41 PMMacOS Mojave is still supported and updated by Apple but Avidemux no longer supports this OS. Is there a reason for this?
There is no fully functional build node running Mojave available for the project maintainer while it is extremely difficult (and officially unsupported) to install Homebrew built for a different macOS version. Avidemux uses quite a lot of libraries provided by Homebrew for stuff like video (x264, x265, xvid4) and audio (fdk-aac) encoders as well as for some video filters (e.g. libass to hardcode subtitles) which cannot be loaded when the macOS version doesn't match.
Quote from: Marc66FR on April 08, 2021, 09:26:41 PMAny chance to have the latest release work on Mojave?
As an official (nightly) build? I fear, no. I could assist you with building it yourself (success not guaranteed, however).
Quote from: Marc66FR on April 08, 2021, 09:26:41 PMBecause, yes, 2.7.6 works flawlessly on Mojave
No, it doesn't. Or rather, the basic functionality not needing any Homebrew libs works, sure. But shipping a half-broken application is not a viable solution, IMHO.
Thank you for your replies. I might give a try to build it myself but I haven't compiled a program in nearly 20 years ... Are the links from this page (http://fixounet.free.fr/avidemux/download.html) pointing to the right instructions and still valid?
Quote from: eumagga0x2a on April 08, 2021, 10:28:31 PMThere is no fully functional build node running Mojave available for the project maintainer
If there is no fully functional build node running Mojave, how was the 2.7.7 Mojave (http://www.avidemux.org/nightly/osx_mojave/) build from 27 Dec created? Can I trust this build is as close as the most recent Mojave update I can get? Where can I find the changelog related to that release?
Quote from: Marc66FR on April 12, 2021, 07:44:17 AMAre the links from this page (http://fixounet.free.fr/avidemux/download.html) pointing to the right instructions and still valid?
No, absolutely not. Please forget all the confusing old howtos.
Quote from: Marc66FR on April 12, 2021, 07:44:17 AMIf there is no fully functional build node running Mojave, how was the 2.7.7 Mojave (http://www.avidemux.org/nightly/osx_mojave/) build from 27 Dec created?
This build proved that the build node was not functional WRT its Homebrew environment (I cannot judge whether it could be made functional, I am a collaborator contributing patches and providing support on the forum, not linked in any way to the project infrastructure).
Quote from: Marc66FR on April 12, 2021, 07:44:17 AMCan I trust this build is as close as the most recent Mojave update I can get?
I don't follow you. That build is broken, it doesn't provide the set of features which Avidemux should offer. If you build yourself (and if this works), you will get a fully functional Avidemux at the current state of development.
Quote from: Marc66FR on April 12, 2021, 07:44:17 AMWhere can I find the changelog related to that release?
The "About Avidemux" dialog mentions the last git commit a build is created off. Little or no info is available about the state of the build environment.
Regarding setup of build environment, you need to install the Xcode app by Apple from the store first (please be warned that it requires an insane amount of disk space, can be 30 GiB or such), which in turn will prompt to install command line tools (a tiny part and the only thing we actually need from Xcode) upon the first launch of the app.
If Xcode and command line tools have been installed successfully, you should proceed with installing Homebrew (https://brew.sh).
Once Homebrew has been installed, install Avidemux build dependencies by executing
brew install cmake nasm yasm qt\@5 xvid x264 x265 libvpx aom opus fdk-aac lame libass mp4v2 a52dec
(I hope a haven't left out any required package) and clone Avidemux source tree:
git clone https://github.com/mean00/avidemux2.git && cd avidemux2 && git submodule update --init --recursive
To actually build Avidemux, export MACOSX_DEPLOYMENT_TARGET matching Mojave (10.14) and run the Catalina build script within the top source directory (i.e. in "avidemux2"):
export MACOSX_DEPLOYMENT_TARGET=10.14
bash bootStrapOsx_Catalina.bash
If everything goes well, the Avidemux app bundle will be created in the "installer" subdirectory.
Quote from: eumagga0x2a on April 12, 2021, 08:23:41 AM.
Thank you for the detailed information. I'm not sure I want to sacrifice 30+ GB to install a tool I'll use once a year. I guess I'll have to live with 2.7.6 until I upgrade to Big Sur at the end of the year
Quote from: Marc66FR on April 12, 2021, 12:43:02 PMI'm not sure I want to sacrifice 30+ GB to install a tool I'll use once a year.
Once you have generated an Avidemux app bundle, you don't need to keep Xcode and Homebrew installed (well, unless you build Avidemux with VapourSynth support and want to be able to load VapourSynth scripts in Avidemux).
Just replying here to note that you do NOT need to install Xcode to build Avidemux or anything else — just do any task that needs command line tools (git clone will do it) and they will install and that's all you need.
To build a version that runs in Mojave follow the above instructions through cloning the git repository and then right-click and duplicate the Catalina build script, rename it bootStrapOsx_Mojave.bash, open it in Textedit and make the following edit:
change
if [ "x$MACOSX_DEPLOYMENT_TARGET" = "x" ] ; then
export MACOSX_DEPLOYMENT_TARGET=10.15
fi
to
export MACOSX_DEPLOYMENT_TARGET=10.14
then run
sudo bash bootStrapOsx_Mojave.bash
i just did this on a fresh Mojave install and it works fine so far. Some of us still need 32-bit apps and cannot upgrade past Mojave and I hope this helps.
Quote from: bubbaprog on May 06, 2021, 03:59:57 AMyou do NOT need to install Xcode to build Avidemux or anything else — just do any task that needs command line tools (git clone will do it) and they will install and that's all you need.
This is pretty exiting (not that command line tools is all we need, this is well known), does it work now – did it ever worked – without installing Xcode first or without registration as developer with Apple?
Quote from: eumagga0x2a on May 06, 2021, 09:45:03 AMThis is pretty exiting (not that command line tools is all we need, this is well known), does it work now – did it ever worked – without installing Xcode first or without registration as developer with Apple?
this system is clean, has never had Xcode installed, and I am not an Apple developer.
Quote from: bubbaprog on May 06, 2021, 03:59:57 AMJust replying here to note that you do NOT need to install Xcode to build Avidemux or anything else — just do any task that needs command line tools (git clone will do it) and they will install and that's all you need.
i just did this on a fresh Mojave install and it works fine so far. Some of us still need 32-bit apps and cannot upgrade past Mojave and I hope this helps.
I may give it a try when I have some time. Since I have CCC backups of my disk, I'll boot with one of them to perform those steps.
I'm surprised you can build a binary without a compiler though.
Quote from: Marc66FR on June 01, 2021, 09:19:14 AMI'm surprised you can build a binary without a compiler though.
Command line tools, which include the compiler, are everything we need. I just didn't know that it is possible to obtain them without registering as developer with Apple (and without installing Xcode, of course).
Quote from: eumagga0x2a on June 01, 2021, 10:03:51 AMQuote from: Marc66FR on June 01, 2021, 09:19:14 AMI'm surprised you can build a binary without a compiler though.
Command line tools, which include the compiler, are everything we need. I just didn't know that it is possible to obtain them without registering as developer with Apple (and without installing Xcode, of course).
Avidemux2.8.1 was, with a lot of help from eumagga0x2a, able to be built to run on MacOS Mojave (10.14) and it works.
Quote from: Grim Reaper on January 18, 2022, 09:31:21 PMQuote from: eumagga0x2a on June 01, 2021, 10:03:51 AMQuote from: Marc66FR on June 01, 2021, 09:19:14 AMI'm surprised you can build a binary without a compiler though.
Command line tools, which include the compiler, are everything we need. I just didn't know that it is possible to obtain them without registering as developer with Apple (and without installing Xcode, of course).
Avidemux2.8.1 was, with a lot of help from eumagga0x2a, able to be built to run on MacOS Mojave (10.14) and it works.
A year ago, now a year later, and I am still using Aidemux 2.8.1 I compiled and use with MacOS Mojave 10.14.6 with TinyPY script batch processing.
Would you be able to upload that Avidemux 2.8.1 for MacOS Mojave 10.14.6 somewhere please?
I have been busy for hours trying to get it compiled and did it not get it to work.
wetransfer is free for smaller files to host, no account needed,
Knowing the exact error printed to the Terminal would allow to troubleshoot the problem.
It is not an issue with Avidemux but an issue with my setup, I am unable to get a QT@5 dependency installed (llvm) so I can not compile it. So I hoped that someone who was successful could just post the binary for Mojave.
==> Installing qt@5 dependency: llvm
==> Patching
==> Applying ab8d4f5a122fde5740f8c084c8165f51a26c93c7.patch
patching file llvm/cmake/modules/LLVM-Config.cmake
==> cmake -G Unix Makefiles .. -DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld;lldb;mlir;polly -DLLVM_ENABLE_RUNTIMES=compiler-rt;libcxx;libcxxabi;libunwind;openmp -DLLVM_POLLY_LINK_INTO_TOOL
==> cmake --build .
Last 15 lines from /Users/avitime/Library/Logs/Homebrew/llvm/02.cmake:
cd /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Transforms/Utils && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Transforms/Utils -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/lib/Transforms/Utils -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/include -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/include -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-class-memaccess -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -O3 -DNDEBUG -std=c++17 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ValueMapper.cpp.o -MF CMakeFiles/LLVMTransformUtils.dir/ValueMapper.cpp.o.d -o CMakeFiles/LLVMTransformUtils.dir/ValueMapper.cpp.o -c /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/lib/Transforms/Utils/ValueMapper.cpp
[ 50%] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/VNCoercion.cpp.o
cd /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Transforms/Utils && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Transforms/Utils -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/lib/Transforms/Utils -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/include -I/tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/include -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-class-memaccess -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -O3 -DNDEBUG -std=c++17 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/VNCoercion.cpp.o -MF CMakeFiles/LLVMTransformUtils.dir/VNCoercion.cpp.o.d -o CMakeFiles/LLVMTransformUtils.dir/VNCoercion.cpp.o -c /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/lib/Transforms/Utils/VNCoercion.cpp
[ 50%] Linking CXX static library ../../libLLVMTransformUtils.a
cd /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Transforms/Utils && /usr/local/Cellar/cmake/3.27.0/bin/cmake -P CMakeFiles/LLVMTransformUtils.dir/cmake_clean_target.cmake
cd /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Transforms/Utils && /usr/local/Cellar/cmake/3.27.0/bin/cmake -E cmake_link_script CMakeFiles/LLVMTransformUtils.dir/link.txt --verbose=1
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool" -static -no_warning_for_no_symbols -o ../../libLLVMTransformUtils.a CMakeFiles/LLVMTransformUtils.dir/AddDiscriminators.cpp.o CMakeFiles/LLVMTransformUtils.dir/AMDGPUEmitPrintf.cpp.o CMakeFiles/LLVMTransformUtils.dir/ASanStackFrameLayout.cpp.o CMakeFiles/LLVMTransformUtils.dir/AssumeBundleBuilder.cpp.o CMakeFiles/LLVMTransformUtils.dir/BasicBlockUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/BreakCriticalEdges.cpp.o CMakeFiles/LLVMTransformUtils.dir/BuildLibCalls.cpp.o CMakeFiles/LLVMTransformUtils.dir/BypassSlowDivision.cpp.o CMakeFiles/LLVMTransformUtils.dir/CallPromotionUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/CallGraphUpdater.cpp.o CMakeFiles/LLVMTransformUtils.dir/CanonicalizeAliases.cpp.o CMakeFiles/LLVMTransformUtils.dir/CanonicalizeFreezeInLoops.cpp.o CMakeFiles/LLVMTransformUtils.dir/CloneFunction.cpp.o CMakeFiles/LLVMTransformUtils.dir/CloneModule.cpp.o CMakeFiles/LLVMTransformUtils.dir/CodeExtractor.cpp.o CMakeFiles/LLVMTransformUtils.dir/CodeLayout.cpp.o CMakeFiles/LLVMTransformUtils.dir/CodeMoverUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/CtorUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/Debugify.cpp.o CMakeFiles/LLVMTransformUtils.dir/DemoteRegToStack.cpp.o CMakeFiles/LLVMTransformUtils.dir/EntryExitInstrumenter.cpp.o CMakeFiles/LLVMTransformUtils.dir/EscapeEnumerator.cpp.o CMakeFiles/LLVMTransformUtils.dir/Evaluator.cpp.o CMakeFiles/LLVMTransformUtils.dir/FixIrreducible.cpp.o CMakeFiles/LLVMTransformUtils.dir/FlattenCFG.cpp.o CMakeFiles/LLVMTransformUtils.dir/FunctionComparator.cpp.o CMakeFiles/LLVMTransformUtils.dir/FunctionImportUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/GlobalStatus.cpp.o CMakeFiles/LLVMTransformUtils.dir/GuardUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/HelloWorld.cpp.o CMakeFiles/LLVMTransformUtils.dir/InlineFunction.cpp.o CMakeFiles/LLVMTransformUtils.dir/InjectTLIMappings.cpp.o CMakeFiles/LLVMTransformUtils.dir/InstructionNamer.cpp.o CMakeFiles/LLVMTransformUtils.dir/IntegerDivision.cpp.o CMakeFiles/LLVMTransformUtils.dir/LCSSA.cpp.o CMakeFiles/LLVMTransformUtils.dir/LibCallsShrinkWrap.cpp.o CMakeFiles/LLVMTransformUtils.dir/Local.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopPeel.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopRotationUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopSimplify.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopUnroll.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopUnrollAndJam.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopUnrollRuntime.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/LoopVersioning.cpp.o CMakeFiles/LLVMTransformUtils.dir/LowerAtomic.cpp.o CMakeFiles/LLVMTransformUtils.dir/LowerGlobalDtors.cpp.o CMakeFiles/LLVMTransformUtils.dir/LowerIFunc.cpp.o CMakeFiles/LLVMTransformUtils.dir/LowerInvoke.cpp.o CMakeFiles/LLVMTransformUtils.dir/LowerMemIntrinsics.cpp.o CMakeFiles/LLVMTransformUtils.dir/LowerSwitch.cpp.o CMakeFiles/LLVMTransformUtils.dir/MatrixUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/MemoryOpRemark.cpp.o CMakeFiles/LLVMTransformUtils.dir/MemoryTaggingSupport.cpp.o CMakeFiles/LLVMTransformUtils.dir/Mem2Reg.cpp.o CMakeFiles/LLVMTransformUtils.dir/MetaRenamer.cpp.o CMakeFiles/LLVMTransformUtils.dir/MisExpect.cpp.o CMakeFiles/LLVMTransformUtils.dir/ModuleUtils.cpp.o CMakeFiles/LLVMTransformUtils.dir/NameAnonGlobals.cpp.o CMakeFiles/LLVMTransformUtils.dir/PredicateInfo.cpp.o CMakeFiles/LLVMTransformUtils.dir/PromoteMemoryToRegister.cpp.o CMakeFiles/LLVMTransformUtils.dir/RelLookupTableConverter.cpp.o CMakeFiles/LLVMTransformUtils.dir/ScalarEvolutionExpander.cpp.o CMakeFiles/LLVMTransformUtils.dir/SCCPSolver.cpp.o CMakeFiles/LLVMTransformUtils.dir/StripGCRelocates.cpp.o CMakeFiles/LLVMTransformUtils.dir/SSAUpdater.cpp.o CMakeFiles/LLVMTransformUtils.dir/SSAUpdaterBulk.cpp.o CMakeFiles/LLVMTransformUtils.dir/SampleProfileInference.cpp.o CMakeFiles/LLVMTransformUtils.dir/SampleProfileLoaderBaseUtil.cpp.o CMakeFiles/LLVMTransformUtils.dir/SanitizerStats.cpp.o CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o CMakeFiles/LLVMTransformUtils.dir/SimplifyIndVar.cpp.o CMakeFiles/LLVMTransformUtils.dir/SimplifyLibCalls.cpp.o CMakeFiles/LLVMTransformUtils.dir/SizeOpts.cpp.o CMakeFiles/LLVMTransformUtils.dir/SplitModule.cpp.o CMakeFiles/LLVMTransformUtils.dir/StripNonLineTableDebugInfo.cpp.o CMakeFiles/LLVMTransformUtils.dir/SymbolRewriter.cpp.o CMakeFiles/LLVMTransformUtils.dir/UnifyFunctionExitNodes.cpp.o CMakeFiles/LLVMTransformUtils.dir/UnifyLoopExits.cpp.o CMakeFiles/LLVMTransformUtils.dir/Utils.cpp.o CMakeFiles/LLVMTransformUtils.dir/ValueMapper.cpp.o CMakeFiles/LLVMTransformUtils.dir/VNCoercion.cpp.o
[ 50%] Built target LLVMTransformUtils
[ 50%] Linking CXX static library ../../../libLLVMAMDGPUDisassembler.a
cd /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Target/AMDGPU/Disassembler && /usr/local/Cellar/cmake/3.27.0/bin/cmake -P CMakeFiles/LLVMAMDGPUDisassembler.dir/cmake_clean_target.cmake
cd /tmp/llvm-20230723-66068-16wqd38/llvm-project-16.0.6.src/llvm/build/lib/Target/AMDGPU/Disassembler && /usr/local/Cellar/cmake/3.27.0/bin/cmake -E cmake_link_script CMakeFiles/LLVMAMDGPUDisassembler.dir/link.txt --verbose=1
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool" -static -no_warning_for_no_symbols -o ../../../libLLVMAMDGPUDisassembler.a CMakeFiles/LLVMAMDGPUDisassembler.dir/AMDGPUDisassembler.cpp.o
[ 50%] Built target LLVMAMDGPUDisassembler
make: *** [all] Error 2
Admitting that I never tried to test Avidemux build on a system which has MacPorts instead of Homebrew (so that a lot of paths won't match), obtaining all build requirements for such an old macOS release via MacPorts might be more promising IMHO.
Another difficulty will be that all recent Avidemux development assumes Qt6 for macOS, so that I don't think you have a chance with 2.8.1 (or better the source obtained from the support_2.8.1 branch which is 2.8.1 release with fixes for worst bugs found in the release) on macOS with Qt5, I'm sorry.
Understood, I gave up.
Quote from: Grim Reaper on February 07, 2023, 10:16:00 PMA year ago, now a year later, and I am still using Aidemux 2.8.1 I compiled and use with MacOS Mojave 10.14.6
I so hope that The Grim Reaper sees this and shares the compiled version.
I consider using either the version for Windows via Bootcamp or Parallels or installing Linux (maybe as dual-boot) on the Mac and using the native version for Linux the only options which would be feasible without tinkering with Avidemux source code to restore support for Qt5 on macOS (aren't there any old Qt5 binary installers out there to avoid compiling Qt from source?).