kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #33864
Re: [PATCH] Allow OpenCASCADE standard edition
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Sat, 10 Feb 2018 09:18:54 -0500
-
In-reply-to:
<CALHbTmY-h+AkqxLyq2s-4=QfgXSHszzKdbVCN2zPe=P+V_vD-A@mail.gmail.com>
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
Seth,
What is the current status of this patch? I would like to get it merged
before rc1 so the package devs can test it.
Cheers,
Wayne
On 01/30/2018 02:12 PM, Seth Hillbrand wrote:
> Nick-
>
> Thanks for the test. I'm attaching revised patch that allows multiple
> OpenCASCADE installations on a single machine.
>
> I've tested with a few different OpenCASCADE versions down to 6.8 with
> no issues installed alongside OCE 0.17. You can choose which you want
> to link by using either "-DKICAD_USE_OCE" or "-DKICAD_USE_OCC". If both
> are specified, "-DKICAD_USE_OCC" will override.
>
> I corrected the cmake message display to be less doubled and correctly
> show the library location.
>
> I've also added the OCC version and type to the about window version info.
>
> The "Based on" line was taken from
> (https://github.com/FreeCAD/FreeCAD/blob/master/src/FCConfig.h) when
> trying to determine how FreeCAD likes to refer to themselves. The
> actual FindOpenCascade.cmake file did not have a copyright header
> attached but falls under the license from
> (https://github.com/FreeCAD/FreeCAD/blob/master/COPYING). I note that I
> had it written as "FreeCAD CADx development system". I've corrected
> this to read "FreeCAD CAx development system".
>
> I'm not sure to what the "CheckSymbolExists" line is referring. I don't
> see it on my machine.
>
> -Seth
>
> 2018-01-29 14:30 GMT-08:00 Nick Østergaard <oe.nick@xxxxxxxxx
> <mailto:oe.nick@xxxxxxxxx>>:
>
> Hi Seth,
>
> I just took the patch for a testrun and will state some comments below.
>
> This looks a bit strange:
>
> -- Boost version: 1.66.0
> -- -- OpenCASCADE Community Edition has been found.
> -- -- Found OCE/OpenCASCADE version: 6.8.0
> -- -- OCE/OpenCASCADE include directory:
> /opt/oce/lib/oce-0.17/../../include/oce
> -- -- OCE/OpenCASCADE shared libraries directory:
> -- Check for installed Python Interpreter -- found
>
> The messages are with double -- and the shared libs.
>
> But an improvement with your patch over what is currently in kicad
> is that it found OCE on my system without explicitly specifind
> OCE_DIR. But how do I make it use OCCT when I also have OCE installed?
>
> What does CADx mean in that header?
>
> What is this about?
> -- Looking for
> /home/amazingdude/kicad-source-mirror/build_seths_occt_patch_occt/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
> -- Looking for
> /home/amazingdude/kicad-source-mirror/build_seths_occt_patch_occt/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
> - not found
>
> I tried to test it with removing oce and just have occt installed
> and got something like this:
> -- Found OCC: /opt/opencascade/inc (found version "6.9.1")
> -- -- Found OCE/OpenCASCADE version: 6.9.1
> -- -- OCE/OpenCASCADE include directory: /opt/opencascade/inc
> -- -- OCE/OpenCASCADE shared libraries directory: /opt/opencascade/lib
>
> It did not build against community/opencascade 6.9.1-7. I got the
> following error in a clean build dir.
>
> $ make kicad2step -j1
> [ 0%] Linking CXX executable kicad2step
> /usr/bin/ld: cannot find -lTKMesh
> /usr/bin/ld: cannot find -lTKernel
> /usr/bin/ld: cannot find -lTKG2d
> /usr/bin/ld: cannot find -lTKG3d
> /usr/bin/ld: cannot find -lTKMath
> /usr/bin/ld: cannot find -lTKIGES
> /usr/bin/ld: cannot find -lTKSTL
> /usr/bin/ld: cannot find -lTKXSBase
> /usr/bin/ld: cannot find -lTKBin
> /usr/bin/ld: cannot find -lTKBO
> /usr/bin/ld: cannot find -lTKCDF
> /usr/bin/ld: cannot find -lTKBRep
> /usr/bin/ld: cannot find -lTKTopAlgo
> /usr/bin/ld: cannot find -lTKGeomAlgo
> /usr/bin/ld: cannot find -lTKGeomBase
> /usr/bin/ld: cannot find -lTKPrim
> /usr/bin/ld: cannot find -lTKSTEP
> /usr/bin/ld: cannot find -lTKSTEPBase
> /usr/bin/ld: cannot find -lTKSTEPAttr
> /usr/bin/ld: cannot find -lTKFeat
> /usr/bin/ld: cannot find -lTKCAF
> /usr/bin/ld: cannot find -lTKXCAF
> /usr/bin/ld: cannot find -lTKLCAF
> /usr/bin/ld: cannot find -lTKXDESTEP
> /usr/bin/ld: cannot find -lTKXDEIGES
> collect2: error: ld returned 1 exit status
> make[3]: ***
> [utils/kicad2step/CMakeFiles/kicad2step.dir/build.make:355:
> utils/kicad2step/kicad2step] Error 1
> make[2]: *** [CMakeFiles/Makefile2:3007:
> utils/kicad2step/CMakeFiles/kicad2step.dir/all] Error 2
> make[1]: *** [CMakeFiles/Makefile2:3019:
> utils/kicad2step/CMakeFiles/kicad2step.dir/rule] Error 2
> make: *** [Makefile:979: kicad2step] Error 2
>
> But those libs do existm, searched for the last one;
> $ yaourt -Ql opencascade | grep TKXDEIGES
> opencascade /opt/opencascade/lib/libTKXDEIGES.so
> opencascade /opt/opencascade/lib/libTKXDEIGES.so.0
> opencascade /opt/opencascade/lib/libTKXDEIGES.so.0.0.0
>
> I got these variables set in the CMakeCache
>
> cat CMakeCache.txt | grep "OCE\|OCC"
> KICAD_USE_OCE:BOOL=ON
> OCC_INCLUDE_DIR:PATH=/opt/opencascade/inc
> OCC_LIBRARY:FILEPATH=/opt/opencascade/lib/libTKernel.so
> //The directory containing a CMake configuration file for OCE.
> OCE_DIR:PATH=OCE_DIR-NOTFOUND
> //Details about finding OCC
> FIND_PACKAGE_MESSAGE_DETAILS_OCC:INTERNAL=[/opt/opencascade/inc][v6.9.1()]
>
> This is tested on archlinux.
>
> 2018-01-29 19:54 GMT+01:00 Seth Hillbrand <seth.hillbrand@xxxxxxxxx
> <mailto:seth.hillbrand@xxxxxxxxx>>:
>
> Hi All-
>
> Currently, the build requires the opencascade community
> edition. For various reasons, I need to have the current
> non-community edition of OpenCASCADE installed on my work machine.
>
> The attached patch allows compiling KiCad with either the
> OpenCASCADE community edition or standard edition.
>
> I've tested on a homebrew-based Mac install as well as Linux but
> haven't verified MSW, if someone would be willing to test it
> there, that would be great! The basic search routines are
> lightly modified from FreeCAD's logic and keep their LGPL
> copyright on the CMake file.
>
> -Seth
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
>
>
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References