← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Allow OpenCASCADE standard edition

 

Thank you very much, I will try to remember it after the weekend.

2018-03-17 0:46 GMT+01:00 Seth Hillbrand <seth.hillbrand@xxxxxxxxx>:

> Hi Nick-
>
> I finally found a moment to figure out Docker and get this up and running
> in your build configuration.
>
> Please take a look when you have a chance and let me know if you have any
> issues with this patch.
>
> Best-
> Seth
>
> 2018-02-10 <20%2018%2002%2010> 7:12 GMT-08:00 Seth Hillbrand <
> seth.hillbrand@xxxxxxxxx>:
>
>> 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 <20%2018%2002%2010> 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_patc
>>> h_occt/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
>>> >     -- Looking for
>>> >     /home/amazingdude/kicad-source-mirror/build_seths_occt_patc
>>> h_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
>>>
>>
>>
>
> _______________________________________________
> 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