← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Allow OpenCASCADE standard edition

 

Hi Nick-

Thanks.  Can you clear your build directory, re-run your Cmake command and
send the full output?  The snippet suggests that it is finding a library in
your kicad-source-mirror directory.

-Seth

2018-02-01 13:03 GMT-08:00 Nick Østergaard <oe.nick@xxxxxxxxx>:

> Hi Seth
>
> The second patch seems more broken.
>
> I get something like this when configuring:
> ...
> -- Found OCC: /opt/oce/lib/oce-0.18/../../include/oce (found version
> "6.9.1")
> -- Found OpenCASCADE Community Edition version: 6.9.1
> --  ++ OpenCASCADE Community Edition include directory:
> /opt/oce/include/oce
> --  ++ OpenCASCADE Community Edition shared libraries directory:
> /home/nickoe/kicad-source-mirror
> ...
> CMake Error: The following variables are used in this project, but they
> are set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the
> CMake files:
> OCC_TEMP_LIB
>     linked by target "s3d_plugin_oce" in directory
> /home/nickoe/kicad-source-mirror/plugins/3d/oce
> ...
>     linked by target "s3d_plugin_oce" in directory
> /home/nickoe/kicad-source-mirror/plugins/3d/oce
>     linked by target "kicad2step" in directory /home/nickoe/kicad-source-
> mirror/utils/kicad2step
> ...
>     linked by target "kicad2step" in directory /home/nickoe/kicad-source-
> mirror/utils/kicad2step
>
> -- Configuring incomplete, errors occurred!
> See also "/home/nickoe/kicad-source-mirror/test/CMakeFiles/
> CMakeOutput.log".
> See also "/home/nickoe/kicad-source-mirror/test/CMakeFiles/
> CMakeError.log".
>
>
> If you like I can share a Dockerfile which tries to replicate my
> environment with archlinux.
>
>
>
> 2018-01-30 20:12 GMT+01:00 Seth Hillbrand <seth.hillbrand@xxxxxxxxx>:
>
>> 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/Fr
>> eeCAD/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>:
>>
>>> 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/../../in
>>> clude/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>:
>>>
>>>> ​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
>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>
>

References