OpenCAMlib for Windows
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: OpenCAMlib for Windows
opencamlib is GPLv3 - I thought we can't use it, can we?
Re: OpenCAMlib for Windows
I think once you have a GPL3 library available in your FreeCAD package and it is used by internal code (ocl is used by Path) your FreeCAD will be converted to GPL3. So if directly provided by the libpacks, I think FreeCAD for windows will be GPL3.mlampert wrote:opencamlib is GPLv3 - I thought we can't use it, can we?
Re: OpenCAMlib for Windows
With windows and py3 I get the known issue:
maybe similar to this one here: https://github.com/inducer/meshpy/issue ... -310701623
Code: Select all
ocl_algo.cpp.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""class ocl
::Point const volatile * __cdecl boost::get_pointer<class ocl::Point const volat
ile >(class ocl::Point const volatile *)" (??$get_pointer@$$CDVPoint@ocl@@@boost
@@YAPEDVPoint@ocl@@PEDV12@@Z)".
ocl_geometry.cpp.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Sy
mbol ""class ocl::Bbox const volatile * __cdecl boost::get_pointer<class ocl::Bb
ox const volatile >(class ocl::Bbox const volatile *)" (??$get_pointer@$$CDVBbox
@ocl@@@boost@@YAPEDVBbox@ocl@@PEDV12@@Z)" in Funktion ""public: static struct _o
bject * __cdecl boost::python::objects::make_instance_impl<class ocl::Bbox,struc
t boost::python::objects::pointer_holder<class ocl::Bbox *,class ocl::Bbox>,stru
ct boost::python::objects::make_ptr_instance<class ocl::Bbox,struct boost::pytho
n::objects::pointer_holder<class ocl::Bbox *,class ocl::Bbox> > >::execute<class
ocl::Bbox *>(class ocl::Bbox * &)" (??$execute@PEAVBbox@ocl@@@?$make_instance_i
mpl@VBbox@ocl@@U?$pointer_holder@PEAVBbox@ocl@@V12@@objects@python@boost@@U?$mak
e_ptr_instance@VBbox@ocl@@U?$pointer_holder@PEAVBbox@ocl@@V12@@objects@python@bo
ost@@@456@@objects@python@boost@@SAPEAU_object@@AEAPEAVBbox@ocl@@@Z)".
ocl_algo.cpp.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
""class ocl::CCPoint const volatile * __cdecl boost::get_pointer<class ocl::CCP
oint const volatile >(class ocl::CCPoint const volatile *)" (??$get_pointer@$$CD
VCCPoint@ocl@@@boost@@YAPEDVCCPoint@ocl@@PEDV12@@Z)" in Funktion ""public: stati
c struct _object * __cdecl boost::python::objects::make_instance_impl<class ocl:
:CCPoint,struct boost::python::objects::pointer_holder<class ocl::CCPoint *,clas
s ocl::CCPoint>,struct boost::python::objects::make_ptr_instance<class ocl::CCPo
int,struct boost::python::objects::pointer_holder<class ocl::CCPoint *,class ocl
::CCPoint> > >::execute<class ocl::CCPoint *>(class ocl::CCPoint * &)" (??$execu
te@PEAVCCPoint@ocl@@@?$make_instance_impl@VCCPoint@ocl@@U?$pointer_holder@PEAVCC
Point@ocl@@V12@@objects@python@boost@@U?$make_ptr_instance@VCCPoint@ocl@@U?$poin
ter_holder@PEAVCCPoint@ocl@@V12@@objects@python@boost@@@456@@objects@python@boos
t@@SAPEAU_object@@AEAPEAVCCPoint@ocl@@@Z)".
ocl.pyd : fatal error LNK1120: 4 nicht aufgelöste Externe
Re: OpenCAMlib for Windows
I wasn't aware we already use it - if we do, should we make its use optional? Enable that functionality only if ocl is installed?
Re: OpenCAMlib for Windows
It is used only if available (optional): https://github.com/FreeCAD/FreeCAD/blob ... y#L305L310mlampert wrote:I wasn't aware we already use it - if we do, should we make its use optional? Enable that functionality only if ocl is installed?
It is not a problem this way. But if it is provided by libpacks the license of the win-build is GPL3. I don't think this is currently a problem for anybody.?
Re: OpenCAMlib for Windows
I don't use Windows - but I wouldn't necessarily want a GPL v3 on my FC - personal choice.
Re: OpenCAMlib for Windows
Licenses... Couldn't we just provide a windows build of ocl? Sure it is not as convenient as bundling it with freecad, but it would certainly be less of a barrier than having to compile it yourself. If we are going to bundle it with freecad, than we should provide an additional download that shows it is GPL. FreeCAD should be available under the same licence on all platforms.
Re: OpenCAMlib for Windows
OK, how about something like this? https://github.com/sgrogan/opencamlib/r ... ag/8612634
"fight the good fight"
Re: OpenCAMlib for Windows
It works as a FreeCAD module but not as a site-package. We would need some sort of _init_.py?
Anyway, this is good for now, thanks again Peter for the cmake support. I wanna go back to Py3.x for Win, which will eventually come back here.
If you submit the stuff upstream and it's accepted I will rework the fork, or maybe just offer upstream the binaries. I packaged the lib as a module and as a .zip file, so maybe we can handle it with a win specific block in the add-ons installer.
"fight the good fight"