Page MenuHome

Fix for OpenCollada patch that are no longer needed
AbandonedPublic

Authored by Daniel Santana (dgsantana) on Feb 24 2020, 1:20 PM.

Details

Reviewers
None
Group Reviewers
Pipeline, Assets & I/O
Summary

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.

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.