When trying to build deps with the latest master, the script tries to apply a patch that is already in the upstream repository. Removing this patch solve the build error.
Details
Diff Detail
- Repository
- rB Blender
Event Timeline
Nice find. This is a strange situation, though, as I would expect the patch to become obsolete only after a version bump, and from what I can see this hasn't happened since december 2018 (rB4cb6d976916c353581de4dbfdcddb84e71173bbe).
@Daniel Santana (dgsantana) which version of OpenCollada did you test with?
@Sybren A. Stüvel (sybren) I tested with the one downloaded when using make deps, which looking into the cmake definitions is 1.6.68.
set(OPENCOLLADA_VERSION v1.6.68)
set(OPENCOLLADA_URI https://github.com/KhronosGroup/OpenCOLLADA/archive/${OPENCOLLADA_VERSION}.tar.gz)
set(OPENCOLLADA_HASH ee7dae874019fea7be11613d07567493)But now that I download that file and inspected... something funky is going wrong since indeed that file doesn't have the patch. But this behaviour is happening to a lot of people, I think most of them are on Ubuntu 19.10 or variants of it. I need to boot into my linux to double check this.
Unrelated to OpenCollada, there are also problems with IlmBase on install_deps.sh, since the download url is no longer valid, and doesn't seem to be a way to just download ilmbase without openexr.
@Sybren A. Stüvel (sybren) just double check and the download file when using make deps is 1.6.68, but for some reason we can't apply the patch, it errors out with this:
[ 99%] Performing patch step for 'external_opencollada' patching file CMakeLists.txt Hunk #1 FAILED at 254 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej patching file DAEValidator/library/include/no_warning_begin patching file GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp patching file DAEValidator/CMakeLists.txt patching file DAEValidator/library/src/ArgumentParser.cpp patching file Externals/LibXML/CMakeLists.txt Hunk #1 FAILED at 9 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file Externals/LibXML/CMakeLists.txt.rej make[3]: *** [CMakeFiles/external_opencollada.dir/build.make:102: build/opencollada/src/external_opencollada-stamp/external_opencollada-patch] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [CMakeFiles/Makefile2:562: CMakeFiles/external_opencollada.dir/all] Error 2 make[1]: *** [Makefile:130: all] Error 2 make: *** [GNUmakefile:350: deps] Error 2
Removing the patch solves the problem. Attaching .orig and .rej for the first file.
I'm on Ubuntu 19.10.
Stupid me, looking at the error, it seems is just a LF problem, still this shouldn't happen.
Yes, there is an issue with the line endings in that patch. They have to match the line endings in the to-be-patched file, but apparently they don't.
It's not correct to remove this patch. While the build may work fine on Linux, that doesn't mean it's the same on Windows/macOS or that the resulting build is correct.
Alternative fix is in rBd109ea5ee50f: Fix make deps failing to build opencollada on Linux, due to line endings, it should work now.