For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings


Need to speed up your development?
Have a look at our:

Samples & Tools


Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

Introduction and first question

Jens Kilian's picture

Hi, My name is Jens Kilian and I'm interested in porting Open CASCADE to the Be Operating System (BeOS). In a previous job I worked on a similar application, but I'm doing the port in my spare time. I've downloaded the code and am in the process of getting the Foundation Classes to compile; there are very few problems, all of them in the operating system specific code (memory manager and OSD). I noticed that there seem to be two substantially identical memory managers, one in Standard/Standard.cxx and another in Standard/StandardCSFDB.cxx. Both seem to be used. I haven't found any references in the documentation as to the existence of the two memory managers; can anybody explain why two are needed, and how they are used in the code?

Thanks in advance,


M. Gandyra's picture

StandardCSFDB.cxx includes Standard.hxx and is used for persistency things and therefore defines Standard_Persistent, which is aequivalent to Standard_Transient for non persistent classes.

So as you can see both are needed. If you do not inherit from Persistent classes, then you don't need it.

M. Gandyra's picture

I made a mistake: It does not define it. It USES the persistance classes. Sorry.

With regards

Jens Kilian's picture

OK, thanks for the answer!

Régis Le Boité's picture


Porting on BeOS is an interesting problem. Can you keep us informed of all the problems you have encountered ? What is the behaviour of the compiler ? Did you encounter problems with the porting of OSD ? Is it Posix ? What about the graphic interface ? Can you use shareable libraries ?

All these informations will be important for others.

Régis Le Boité

Open CASCADE webmaster

Jens Kilian's picture

So far, I have only tried to compile the Foundation classes. The first problem is the use of CShell scripts for compiling, as BeOS (by default) uses bash. A few minutes editing and "sed"ing fixed that. The compiler used in the Intel version of BeOS is GCC, so there were no problems compiling most of the code. The only errors occurred in the memory managers (BeOS doesn't have mmap(), but since the memory manager only uses mmap() to allocate empty areas, I think I can work around this lack using BeOS-specific system calls) and in the OSD directory. I haven't started on the OSD stuff yet, but I expect few problems. BeOS has an almost POSIX compliant standard library, so I'll base my port on the Linux version. BeOS has shared libraries (which can be dynamically loaded), so no problems there. The main effort will be the visualization and UI, because the window system in BeOS is not even remotely related to X (there is OpenGL support, which will help a lot). I'll definitely keep you informed about my progress.