Porting OpenCascade on FreeBSD.

Hello,

I'd like to port OpenCascade on FreeBSD, and I have a preliminary
question: is it possible to extract the sources without running the
Java installer?

If not, would it be allowed to run the installer on a machine, to pack
the resulting files (LICENSE doc ros), and to distribute this tarball?

Best regards,
--
Th. Thomas.

Arthur Magill's picture

Hi Thomas,

Did you ever make any progress with this? There is a similar solution available for Gentoo, but it's for V5.2. I'm interested modifying the Gentoo ebuild to instal V6.1, but I'm a bit lost in the installer right now :-(

Arthur

Thierry Thomas's picture

Hello,

The problem was not technical, I was only asking for an authorization.
I have not got any answer, but as Jan wrote, this is surely implicit.

I have packaged a tarball for 6.1 (and 3 others for samples-java-6.1,
samples-qt-6.1, and tutorial-6.1) and made them available on the FreeBSD
mirrors:

I you want, we could share these tarballs between FreeBSD and Gentoo.

I have found another project at ,
but it seems inactive.

I have not yet released my port, because it is still a work in progress:
DRAWEXE builds and runs fine, almost "out of the box", but WOK requires
a lot of patches to handle a new platform. On Gentoo, it should be
easier, because you'll get all these #ifdef for Linux.

Good luck!
--
Th. Thomas.

Tourde's picture

Hello,

I am running Gentoo Linux (and planning to create an ebuild) and I could not unpack this jar stuff. I am VERY happy that you provided the source code under a different form...
I have 2 questions:
- How did you do that?
- Did you created yourself the env.csh file? The location of the files seem to be typically FreeBSD. Was there any original env.csh?

Daniel

Jan Brüninghaus's picture

> Was there any original env.csh?

"env.csh" and "env.ksh" are in subdirectory "ros" of a OCC-installation from the jar.

Thierry Thomas's picture

Hello,

1) To extract the sources, I run:

java -cp ./Linux/setup.jar -DOS_NAME=Linux -Dtemp.dir=/some/big/dir/tmp run

and then I just remove the already-compiled Linux binaries before
`tar cfj'.

2) I have not patched any file in these tarballs
(I have several patches to apply before the build on FreeBSD, but this
is for the next step).

As you can see, the included env.csh tests if ( $OS_NAME == "SunOS" ) or
( $OS_NAME == "Linux" ), but there is nothing [yet] for FreeBSD.

Regards,
--
Th. Thomas.

Tourde's picture

Thomas,

I am using the sources files you created for my .ebuild of OpenCascade 6.1 (http://bugs.gentoo.org/show_bug.cgi?id=118656) on Gentoo Linux.

I saw that OCC 6.1.1 is out, can you produce the source code in exactly the same manner and put it at exactly the same place? That would ease the upgrade of the OCC .ebuild.

Thanks in advance

Daniel

Thierry Thomas's picture

Hello,

I'd like to do it, but unfortunately I cannot find where it is available:
on the page http://www.opencascade.org/getocc/download/loadocc/
there is only Open CASCADE 6.1.

Worse, I'm not sure that it is still open source: the announce on
http://www.opencascade.org/about/news/issue132/
says "Maintenance releases are exclusively available to all Open CASCADE customers".

Of course, I would be happy to get corrected, and if you find the link, let me know!

Regards,
--
Th. Thomas.

Arthur Magill's picture

Hi Thomas,

I case you haven't already found the answer, it's one of those closed/open source ideas. The maintainance releases (6.1.1, 6.1.2, etc) are only for paying customers, but the minor releases (6.1, 6.2, etc) are free. I've no idea what happens if you as a non-paying user submit a patch. Maybe one day OCC will be completely open (a la VTK), but until then I guess we take what we can get ;-)

Arthur

Isidore Ducasse's picture

I wonder if the "Open CASCADE Technology Public License" is GPL compliant...

It could be a good ( and costless) idea to copyright contributions with a GPL-compliant license.

Anyway if they are not copyrighted, they have no way to infirm/confirm authorship.

Isidore Ducasse's picture

I wonder if the "Open CASCADE Technology Public License" is GPL compliant...

It could be a good ( and costless) idea to copyright contributions with a GPL-compliant license.

Anyway if they are not copyrighted, they have no way to infirm/confirm authorship.

Tourde's picture

Thomas,

Are you planning to package OpenCascade 6.2 on the freebsd ftp site?
My ebuild for Gentoo Linux relies on the fact that the code is on ftp://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/thierry/ and that would be very practical for me, in my effort to update my ebuild from 6.1 to 6.2 to find the code there.

What do you think?

Daniel

Thierry Thomas's picture

Thanks, I did not noticed this release!
I'll roll the tarball ASAP.

Regards,
--
Th. Thomas.

Thierry Thomas's picture

> I'll roll the tarball ASAP.

Done:

MD5 (opencascade-6.2.tar.bz2) = d9d7b2a94ed8a61607e0b4992ebf7b19
MD5 (opencascade-samples-java-6.2.tar.bz2) = 2aa7a757d063e724e4b590e8d95eea20
MD5 (opencascade-samples-qt-6.2.tar.bz2) = f92d9db84b87b4df5d4da5019c3e3469
MD5 (opencascade-tutorial-6.2.tar.bz2) = 5295924a7c7b855ceac42b481657a138

Please wait a little to allow these files to be propagated to the mirrors.

Regards,
--
Th. Thomas.

Thierry Thomas's picture

> MD5 (opencascade-samples-java-6.2.tar.bz2) = 2aa7a757d063e724e4b590e8d95eea20

Actually this tarball is uncomplete: it does not contain the scripts
used to compile and link the JNI libraries.

It would be smarter to write a makefile, but for the moment I have only
extracted these scripts from v. 6.1, and rolled them in a separate
tarball, also available from the same FreeBSD mirrors:

MD5 (opencascade-samples-java-buildJni-6.1.tar.bz2) = e768f00366e7047262f49f62bb2ce6ab

The following patch is necessary to adapt them from 6.1 to 6.2:

--- patch-adm_FreeBSD_CASCADESamplesJni.lnk begins here ---
--- ./adm/FreeBSD/CASCADESamplesJni.lnk.orig Wed Jul 20 07:05:38 2005
+++ ./adm/FreeBSD/CASCADESamplesJni.lnk Fri Mar 30 11:01:01 2007
@@ -17,8 +17,8 @@
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_V2d_Viewer_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_Window_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_AIS_InteractiveContext_java.o \
- ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_ColorMapEntry_java.o \
- ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_MarkMapEntry_java.o \
+ ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_ColorMap_java.o \
+ ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_MarkMap_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_TypeMap_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_LineStyle_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_V3d_View_java.o \
@@ -27,13 +27,11 @@
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_FontMapEntry_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_Driver_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_V3d_OrthographicView_java.o \
- ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_TypeMapEntry_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_V3d_PerspectiveView_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_V2d_View_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_MarkMap_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Viewer_View_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_TCollection_AsciiString_java.o \
- ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_GenericColorMap_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_WidthMap_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_WindowDriver_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Quantity_Color_java.o \
@@ -47,7 +45,7 @@
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_SelectMgr_SelectableObject_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_ColorMap_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_MarkerStyle_java.o \
- ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_WidthMapEntry_java.o \
+ ${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_WidthMap_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_ISession2D_InteractiveContext_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_AIS_Shape_java.o \
${SAMPLE_ROOT}/${STATION}/obj/CASCADESamplesJni/CASCADESamplesJni_Aspect_FontMap_java.o \
--- patch-adm_FreeBSD_CASCADESamplesJni.lnk ends here ---

(Of course replace FreeBSD by your platform!)

Regards,
--
Th. Thomas.

Jan Brüninghaus's picture

I think part 4 of the license is the relevant one and if I read it right, it is allowed, if you follow the conditions mention there.

http://www.opencascade.org/occ/license/