Bug 266297 - graphics/filament: Build is broken when ccache program is present
Summary: graphics/filament: Build is broken when ccache program is present
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Yuri Victorovich
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2022-09-08 10:37 UTC by Dmitry Marakasov
Modified: 2022-09-12 16:38 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Marakasov freebsd_committer freebsd_triage 2022-09-08 10:37:20 UTC
Does not build:

===>  Configuring for filament-1.26.0
===>  Performing out-of-source build
/bin/mkdir -p /work/usr/ports/graphics/filament/work/.build
-- The C compiler identification is Clang 13.0.0
-- The CXX compiler identification is Clang 13.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/libexec/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/libexec/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
setting LINUX=TRUE ... will treat the system as Linux-compatible
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Found Threads: TRUE  
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /usr/local/libexec/ccache/cc
-- DFG LUT size set to 128x128
-- Found Python3: /usr/local/bin/python3.9 (found version "3.9.13") found components: Interpreter 
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_COLOR_MAKEFILE
    CMAKE_MODULE_LINKER_FLAGS
    CMAKE_VERBOSE_MAKEFILE
    FILAMENT_ENABLE_JAVA


-- Build files have been written to: /work/usr/ports/graphics/filament/work/.build
===>  Building for filament-1.26.0
[  0% 4/1237] /work/usr/ports/graphics/filament/work/.build/launch-cxx /usr/local/libexec/ccache/c++ -DFILAMENT_DRIVER_SUPPORTS_VULKAN -DFILAMENT_SUPPORTS_OPENGL -DFILAMENT_SUPPORTS_X11 -DFILAMENT_SUPPORTS_XCB -DFILAMENT_SUPPORTS_XLIB -I/work/usr/ports/graphics/filament/work/filament-1.26.0/third_party/libgtest/tnt/../googletest/include -I/work/usr/ports/graphics/filament/work/filament-1.26.0/third_party/libgtest/tnt/../googletest -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -std=c++17 -fstrict-aliasing -Wno-unknown-pragmas -Wno-unused-function -Wno-deprecated-declarations -fPIC -fcolor-diagnostics -fvisibility=hidden -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -fomit-frame-pointer -ffunction-sections -fdata-sections -pthread -MD -MT third_party/libgtest/tnt/CMakeFiles/gtest.dir/__/googletest/src/gtest-all.cc.o -MF third_party/libgtest/tnt/CMakeFiles/gtest.dir/__/googletest/src/gtest-all.cc.o.d -o third_party/libgtest/tnt/CMakeFiles/gtest.dir/__/googletest/src/gtest-all.cc.o -c /work/usr/ports/graphics/filament/work/filament-1.26.0/third_party/libgtest/googletest/src/gtest-all.cc
FAILED: third_party/libgtest/tnt/CMakeFiles/gtest.dir/__/googletest/src/gtest-all.cc.o 


Full log:

https://people.freebsd.org/~amdmi3/filament.log
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2022-09-09 05:16:26 UTC
Due to how the cmake script is written in this project the presence of the ccache program triggers its use and the associated shell script has a wrong shebang which causes breakage.

Thanks for reporting!

I will try to fix this properly.
Comment 2 Yuri Victorovich freebsd_committer freebsd_triage 2022-09-12 16:38:13 UTC
Committed the patch that makes filament to work fine when ccache is installed.
Comment 3 commit-hook freebsd_committer freebsd_triage 2022-09-12 16:38:53 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fde73a13c618cce1b2ee3324c25f2c424c3ab94d

commit fde73a13c618cce1b2ee3324c25f2c424c3ab94d
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-09-12 16:32:54 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-09-12 16:38:03 +0000

    graphics/filament: Fix build when ccache is present

    Fix shabangs in ccache scripts that fialement uses.
    This caused failures.

    Also: this project looks up the ccache program and uses ccach.
    when it is present.
    This logic is now adjusted and it only uses ccache when it
    is enabled through the ports framework.

    PR:             266297
    Reported by:    amdmi3@

 graphics/filament/Makefile                   |  5 ++++-
 graphics/filament/files/patch-CMakeLists.txt | 11 ++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)