'Quirk' building 5.1.12?

cmake failed saying it couldn’t find openCASCADE and suggested I add a path. That worked but I don’t know enough about compiling to know why it wasn’t found initially. /usr/include seems standard enough. Latest Debian has it under OCE. Is that a problem?

cmake -DOCC_INCLUDE_DIR=/usr/include/oce …/

Compiling now.

OCC version changed in the transition from KiCad V5.1.10 to V5.1.12

My current KiCad version is:

Application: KiCad
Version: 5.1.12-84ad8e8a86~92~ubuntu20.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.4.0-90-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.71.0
    OpenCASCADE Technology: 7.5.2
    Curl: 7.68.0
    Compiler: GCC 9.3.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=OFF
    KICAD_USE_OCC=ON
    KICAD_SPICE=ON

Debian has switched to use OCC in preparation for version 5.1.5+dfsg1-2 nearly two years ago.

So far I remember the KiCad upstream code has changed now so a build against the OCE variant of OpenCascade isn’t possible any more even in the 5.1 branch.

In short, you need to install libocct-data-exchange-dev to get self compiling working. The header files can be found after the installation in /usr/include/opencascade. (Easily self inspecting by using dpkg -L libocct-data-exchange-dev.)

Maybe you already knew, maybe you read over it, but OCE and OCC are two different versions of open cascade.
I’m not much into compiling myself and I do not know further details.

KiCad only recommends using opencascade (libocct), not OCE these days.

My confusion was in getting a missing error and not a version error. When it worked by adding a path to the ‘usual expected place’, that was baffling.

I’ve been building this way all along. I compiled yesterday and it works fine once I added the path. Just tested the 3D viewer. Using your hints though I’ve upgraded to the newer format. It never happened ‘auto-magically’. I might try recompiling later just to make sure there are no problems.

Also, the package manager only brought up the OCE packages when I searched OpenCascade so I didn’t know there was another option.

OCE was a fork of older OCC which added things like cmake and other features that upstream (OCC) didn’t really want to include. OCC since then has integrated all of that and OCE is effectively abandoned and well behind OCC. It is silly distros still package OCE because the bugs along are never getting fixed.

I still had the .tar file so I removed the old directory it made completly. When I added OCC the system marked OCE for removal. cmake worked and I’m now rebuilding. Sometimes I’ll test something before making a comment so I want to have a ‘proper’ build.

But, I’m glad I posted because I felt something was amiss, I just didn’t know what.