← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Allow OpenCASCADE standard edition

 

Nick was having an unknown issue but I haven't heard back from him on
whether the issue was resolved by doing a clean cmake.  If it isn't then
I'll need to address that.

Nick did you have a chance to test that?

-S

2018-02-10 6:18 GMT-08:00 Wayne Stambaugh <stambaughw@xxxxxxxxx>:

> 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
> >
>
> _______________________________________________
> 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