OCC Fink package for Mac OS X

Hi,

I have created a Fink package for OCC 6.3. So anyone using Fink can install OCC easily. I use the sources from Salome because I hope that I will find some time to package all of Salome as well.

Steps:
- Download and unpack a full Salome (Debian Etch version for instance)
- Copy CAS-6.3sp8.tar.gz and CAS-6.3sp8-patch.tar.gz into /sw/src (or wherever your fink sources are)
- Copy the attached opencascade.info and opencascade.patch into /sw/fink/10.6/local/main/finkinfo/
- Run: fink index
- Run: fink install opencascade

If (hopefully) all went well try to execute DRAWEXE.

Attachments: 
Torsten Sadowski's picture

And here the patch.

Attachments: 
Thomas Paviot's picture

Hi Torsten,

Thanks for this excellent news. Fink is definitely a good choice to package Salome on OSX.

I have a question related to OCC licensing: according to the 'What's new' section of this site, the latest OCC public release is 6.3.0. The 6.3.1 is a maintenance release, only available for OCC customers. What is the legal status of the 6.3sp8 included in the Salome distribution? Can it be freely redistributed ? (I did not read the licence file yet, currently downloading the huge Etch tar.gz archive). At last, do you know the difference between this SP8 and the 6.3.1 release?

Thomas

Thomas Paviot's picture

Just downloaded/extracted the CAS-6.3sp8_SRC folder from the InstallWizard_5.1.3_Debian_4.0.tar.gz archive. I can't find any LICENSE file.

Thomas

Torsten Sadowski's picture

I should always look in every line of a file. I changed the license field to the OCC license which I would expect to be the one valid.

I have no idea if SP8 and 6.3.1 are related but I would expect some bugfixing.

Does the package work for you?

Torsten

Attachments: 
Thomas Paviot's picture

* The OCC 6.3Sp8 packaging from the Salomé team is really weird : no LICENCE file, and all the licence headers were removed. Just remind that Salomé is LGPL licensed:
Copied/Pasted from the Salome-platform website:
"""
Licensing

SALOME platform is LGPL licensed
Pre-requisite products (> than 15)
LGPL or similar license
Use “as is” in SALOME
Permissions to
Download, use, modify and re-distribute SALOME platform
Implement own modules and applications basing on SALOME platform
Charge a fee for own module or application (but not for SALOME itself)

"""

Since there is not different or specific LICENSE file in the CAS6.3Sp8 folder, one might consider that the LGPL license terms is de facto propagated to the CAS6.3Sp8 folder. I think this is a critical hole in the OCC IP: this LGPL'd OCC6.3Sp8 can lead to an LGPL fork of OCC, disconnected from the official 6.3 branch, suitable to gather patches from the community.

What is weird is that Salomé is developed by CEA, EDF and OpenCascade. I can not imagine that this lack of LICENSE file is a mistake: these companies take care about their IP rights (it's a strategic issue) and have many talented lawyers. I'm a bit confused and I need some clear explanation about that point.

By the way, I don't think you're allowed to add/remove/change header files related to licensing. The license under which is distributed OCC does not depend on your choice or your feelings.

* Changelog from 6.3.0 to 6.3Sp8 is included in the source package.

* At last, I didn't test your fink installer yet.

Thomas

Vadim SANDLER's picture

Hello Torsten and Thomas,

Thank you for the notice about SALOME packaging - we have fixed the CASCADE packages coming with SALOME, the LICENSE will be now included.

Also I would like to clarify the point about the licensing of the CASCADE service pack distributions supplied with SALOME. The approach we use by no means breaks neither the CASCADE licensing nor its distribution policy. The CASCADE service pack is not the maintenance release, it is a minor release with a set of additional bug fixed required specifically for SALOME platform. And, according to the CASCADE license, these bug fixes are passed to OCCT development branch and queued for the next minor or maintenance release. All the usual life-cycle of the bug processing procedure is applied, including testing and verifying of these fixes for all supported platforms.
On the other hand, since service pack becomes a part of OCCT, it is distributed under the same license as CASCADE itself.

---
Regards,
Vadim.

Luca Facciolo's picture

Hi Torsten,

I'm attempting to install OCC 6.3 on Lion (10.7). Have you had any success with this? I came as far as having to doctor your info file a little and I was able to get past an issue where libtool14 doesn't seem to be available for fink on 10.7. But I am now having issues with missing tclConfig.sh files and stuff like that.

-Luca

Torsten Sadowski's picture

Hi Luca,

could you add tcltk-dev (>=8.4.0) to the BuildDepends? tclConfig.sh should be in this package in /sw/lib.

Are you using libtool2? What is stuff like that?

I will try to look into updating to CAS-6.3sp12

Cheers,
Torsten

Luca Facciolo's picture

Hi Torsten,

I added a dependency for tcltk-dev as you suggested and that seemed to make a difference. However, somewhere in the build I encountered this error:

../../../src/BRepClass3d/BRepClass3d_SClassifier.cxx:84:27: error: taking the
address of a temporary object of type 'TopoDS_Face'
[-Waddress-of-temporary]
aF =*((TopoDS_Face*)&aSE.CurrentFace());
^~~~~~~~~~~~~~~~~~
1 error generated.

Obviously the build was aborted. Do you have any ideas?

Also, I'm trying to use sp13 not sp12 if that makes a difference.

-Luca

Torsten Sadowski's picture

Hi Luca,

every new C++ compiler seems to break older programs. I found some things that seem to be similar:
http://www.opencascade.org/org/forum/thread_20205/
http://www.opencascade.org/org/forum/thread_20820/

It seems to be a problem with clang and gcc-4.6. Fink for 10.7 has only gcc-4.6 left. Could you tell me, if /usr/bin/gcc-4.2 is still available on 10.7?

Cheers,
Torsten

Luca Facciolo's picture

Hi Torsten,

Os X 10.7 comes with gcc-4.2. I needed to install gcc-4.6 because it is required for OpenFOAM 2.0 on 10.7

Luca

Torsten Sadowski's picture

Hi Luca,

could you add

SetCC: gcc-4.2
SetCXX: g++-4.2

after the ConfigureParams line and try again?

Cheers, Torsten