GithubHelp home page GithubHelp logo

tpaviot / oce Goto Github PK

View Code? Open in Web Editor NEW
799.0 94.0 283.0 183.25 MB

OpenCASCADE Community Edition (OCE): a community driven fork of the Open CASCADE library.

Home Page: http://groups.google.com/group/oce-dev

License: GNU Lesser General Public License v2.1

Shell 0.05% CMake 0.51% C++ 97.26% C 1.10% Tcl 0.71% Objective-C++ 0.08% GLSL 0.12% Forth 0.04% Batchfile 0.05% Lex 0.01% Yacc 0.02% QMake 0.01% HTML 0.01% TeX 0.01% F# 0.04%
cad 3d c-plus-plus

oce's Introduction

Welcome to Thomas Paviot's GitHub 👋

oce's People

Contributors

a-betenev avatar alexander-malyshev avatar avtant avatar bihlerben avatar dpasukhi avatar gkv311 avatar luzpaz avatar mahaidong avatar tizmaylo avatar tpaviot avatar xuzhongxingcas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oce's Issues

RPATH wrongly contains relative paths

Because of commit f7dac1e DRAWEXE contains relative paths in RPATH.
It does no more work without setting LD_LIBRARY_PATH.
The solution is to prefix paths by ${OCE_INSTALL_PREFIX}. I am working on a fix.

HashCode() segfaults due to MMGT_OPT

The following program segfaults

#include <Standard_Transient.hxx>
#include <iostream>

int main(int argc, char **argv) {
    Standard_Transient s;
    Standard_Integer i = s.HashCode(1000);
    std::cout << i << std::endl;
    return 0;
}

when MMGT_OPT is set 0 or 2, and works fine if unset or set to 1.

Compilation fails in MSVS 2008

src\OpenGl\OpenGl_tgl_util.cxx(123) : error C2664: 'GetEnv' : cannot convert parameter 1 from 'const char *' to 'char *'
fixed it by changing GetEnv function signature to
char const * GetEnv ( char const * name )
and making several minor cascade changes

AlienImage (TKService) should not depend on X11

AlienImage_X11XWDAlienData.cxx and AlienImage_X11XWDFileHeader.cxx include X11/Xlib.h because they need X macros.

Maybe we can remove this dependency by defining the few macros needed. A first step is to include X11/X.h instead of X11/Xlib.h.

Meta-issue for OCE 0.7

This issue will be fixed when OCE 0.7.0 is released so that this milestone can get closed.

math_Memory.hxx is harmful

This include file aliases memmove to memcpy on Unix. Applications including this header file may be subject to undefined behavior if users call memmove because memory regions do overlap.
This is plain wrong, we must remove this file as soon as possible.

BRepOffsetAPI tests fails on OSX

From the branch review//BRepOffsetAPI-add-test, I have the following result:

$ pwd
[..]/oce/cmake-build/test/BRepOffsetAPI_test
$ ./BRepOffsetAPI_test
$ ./BRepOffsetAPI_test 
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from BRepOffsetAPITestSuite
[ RUN      ] BRepOffsetAPITestSuite.testEvolvedShape
unknown file: Failure
Unknown C++ exception thrown in the test body.
[  FAILED  ] BRepOffsetAPITestSuite.testEvolvedShape (407 ms)
[ RUN      ] BRepOffsetAPITestSuite.testOffsetBox
Killed

There is a kind of infinite loop in the testOffsetBox, and I have to kill the process in order to exit the program.
I suspect the recent commit relatied to gp_Mat to be the cause of this behavior.

Bunch of compiler warnings on OSX

The recent -Wextra-warnings addition raises many warnings on OSX-SL-64-gcc4.2.1.

See https://gist.github.com/1300913

There especially are many "unused parameter" warnings, certainly due to changes in the source code that were not propagated to function prototypes to avoid introducing API changes. However, there are many functions/methods that are not sync with OCC documentation.

Remove inc/OSD_Signals.hxx

enum OSD_Signals defined in this file is unused, and this is fortunate since signal numbers do not match Unix ones.
We should remove this file and replace OSD_Signals by int in src/OSD/OSD_signal_WNT.cxx and src/OSD/OSD_signal.cxx.

Meta-issue for OCE 0.3

This issue will be fixed when OCE 0.3.0 is released so that this milestone can get closed.

Segfault when meshing a Torus

See the source code to reproduce this bug at:
http://groups.google.com/group/oce-dev/browse_thread/thread/20b05eb496a7eb9e/dfa5786377563d10

This post was about OCCT 6.5. The output of the test program is a bit different with OCCT 6.5.1/OCE 0.6:
With the patch: https://gist.github.com/1258872
Without the patch: https://gist.github.com/1258842

Bug status with different versions:

  • OCC 6.5 without patch: Very large mesh and sefault at radius 17.
  • OCC 6.5 with patch: Good mesh size, no sefault
  • OCC 6.5.1 / OCE 0.6 without patch: The mesh size is small and constant. Segfault at radius 17.
  • OCC 6.5.1 / OCE 0.6 with patch: Good mesh size. Segfault at radius 17.

The mesh size problem has been fixed by OCCT 6.5.1, but the segfault has not. This bug has been register by OCC as OCC22445. (http://www.opencascade.org/org/forum/thread_20486). I guess it's still concidered as open as it's not in the OCCT 6.5.1 releases notes.

arithmetic for gp_Pnt

it would be nice to have arithmetic on gp_Pnt.
now to add or divide gp_Pnt I convert these to gp_Vec's.
though I don't see any harm in having arithmetic ops defined for gp_Pnt?

Repository clean-up proposal

Many files currently in the OCE git repos, WOK related, do not bring any value to the project (i.e. are "unuseful") since we decided to go on without WOK:

  • in each src/subfolder, the file named FILES can be removed
  • in each src/subfolders, *.cdl and *.edl files can be removed.

This would allow to keep only "added value" files.

Another suggestion is to merge /drv with /src folders, in order to have only /src left.

No longer need to define -DWNT when using OCE

Currently application which use OCE on windows need to define WNT. For example with cmake:
if(WIN32)
add_definitions(-DWNT)
endif()

It would be nice that this non standard define would be define in OCE .h. For example in oce-config.h or Standard_Macro.h:

if (defined(_MSC_VER) || defined(BORLANDC) || defined(MINGW32))

define WNT

endif

This is already assumed by OCE as seen in Standard_osd_ffi.c

if (defined(_MSC_VER) || defined(BORLANDC)) && !defined(WNT)

error "Wrong compiler options has been detected. Add /DWNT option for proper compilation!!!!!"

endif

oce-config.h should not be installed as is

Renaming generated header file config.h into oce-config.h is a step in the right direction, but this is not enough. An Autotools-based program PROG which uses OCE will print these warnings when compiling:

/path/to/oce/inc/oce-config.h:258:0: warning: "PACKAGE" redefined
config.h:45:0: note: this is the location of the previous definition
/path/to/oce/inc/oce-config.h:261:0: warning: "PACKAGE_BUGREPORT" redefined
config.h:48:0: note: this is the location of the previous definition
/path/to/oce/inc/oce-config.h:264:0: warning: "PACKAGE_NAME" redefined
config.h:51:0: note: this is the location of the previous definition
/path/to/oce/inc/oce-config.h:267:0: warning: "PACKAGE_STRING" redefined
config.h:54:0: note: this is the location of the previous definition
/path/to/oce/inc/oce-config.h:270:0: warning: "PACKAGE_TARNAME" redefined
config.h:57:0: note: this is the location of the previous definition
/path/to/oce/inc/oce-config.h:276:0: warning: "PACKAGE_VERSION" redefined
config.h:63:0: note: this is the location of the previous definition
/path/to/oce/inc/oce-config.h:319:0: warning: "VERSION" redefined
config.h:69:0: note: this is the location of the previous definition

This means that values set by PROG are overridden by those from oce-config.h, which is not nice.

Installed header files should not include config.h or oce-config.h, but another file which contains only the very few macros needed by those header files: HAVE_NO_DLL HAVE_LIMITS HAVE_LIMITS_H HAVE_GL2PS HAVE_FTGL_NEWER212 HAVE_IOSTREAM HAVE_IOSTREAM_H HAVE_IOMANIP HAVE_IOMANIP_H HAVE_FSTREAM_H HAVE_X11_EXTENSIONS_TRANSOLV_H (this list may not be exhaustive).
These macros should be prefixed by OCE_ to avoid name clash.

But there may be a major problem here, since oce-config.h is included by Standard_values.h, it is virtually included by every C++ file. When oce-config.h is modified to contain only the few macros mentioned above, it may be necessary to modify a lot of C++ source files to include the header file generated when running configure.

A better alternative is to clean up header files and remove unnecessary stuff, for instance Standard_values.h can be fully dropped (by assuming that a byte contains 8 bits), or conditions on HAVE_GL2PS can be removed from OpenGl_TextRender.hxx. If we can clean up all header files which currently depend on macros from oce-config.h, then it is possible to add guards in header files to include oce-config.h only when compiling OCE and not derived applications, and maintenance would be much easier.

Standard_MMgrFactory definition

I've been fixing cppcheck issues, and I suspect the Standard_MMgrFactory to be wrong. In the file src/Standard.cxx, the class Standard_MMgrFactory is defined with:

class Standard_MMgrFactory {
 public:
  Standard_MMgrFactory();
  ~Standard_MMgrFactory();
 public:
  Standard_MMgrRoot* myFMMgr;
};

I think that myFMMgr should be private rather than public. Don't you agree? If yes, I will commit the fix to the branch I'm currently working on and close this issue.

More tests needed

Any contribution is here welcome to increase the number of OCE tests.

Meta-issue for OCE 0.6

This issue will be fixed when OCE 0.6.0 is released so that this milestone can get closed.

add OCE to DYLD_LIBRARY_PATH [ perhaps osx specific? ]

/Library/OCE/0.5.0/env.sh is a really useful script.
However, you still need to set the DYLD_LIBRARY_PATH for the libs to be found.
The following line accomplishes this on OSX.
It would be useful to have all nessecities for loading OCE in a single shell script, this way you only have to add
source /Library/OCE/0.5.0/env.sh in your ~/.bash_profile and be on your way

# make sure that the lib can be loaded
platform=`uname`
if [ $platform = "Darwin" ];
    then export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$CASROOT/lib
fi;

Remove inc/TopOpeBRep_tools.hxx

The file inc/TopOpeBRep_tools.hxx should be removed. It is not used by any other oce hxx/cxx file.

Furthermore, it includes a header that does not exist: inc/TopOpeBRepDS_tools.hxx.

clang support

I noticed that in osx 10.7 python is built with LLVM. Is it worthwhile to test OCE support for this compiler?

Standard_Boolean should be "bool"

Actually is defined as "unsigned int"

Doesn't really make sense nowadays.
This would be a big breaking change, so the changes must be careful in particular in serialization classes

Set default Standard_MMgrFactory at build time

It's currently possible to select the Standard_MMgrFactory implementation at runtime by setting the MMGT_OPT environnement variable (see src/Standard/Standard.cxx).

MMGT_OPT must be set before OCE libs are loaded, so it make application packaging and/or deployment a bit more difficult.

There are at least 2 good reasons to use Standard_MMgrRaw instead of Standard_MMgrOpt:

  • Standard_MMgrRaw is faster than Standard_MMgrOpt on Linux and recent Windows
  • Standard_MMgrOpt is not thread safe.

So it would be nice that the default MMGT_OPT value could be set at build time.

QA with cppcheck

Commit: bc55d69
cppcheck version: 1.48
cppcheck commandline: cppcheck . -I inc/ -f >cppcheck.txt 2>cppcheck-err.txt

The potential errors are reported:
[inc/Standard.hxx:49]: (portability) Extra qualification 'Standard::' unnecessary and considered an error by many compilers. [inc/Standard.hxx:53]: (portability) Extra qualification 'Standard::' unnecessary and considered an error by many compilers. [inc/TCollection_DataMap.gxx:202]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 195 [inc/TCollection_DataMap.gxx:222]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 215 [inc/TCollection_IndexedDataMap.gxx:188]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 181 [inc/TCollection_IndexedDataMap.gxx:281]: (error) Possible null pointer dereference: p2 - otherwise it is redundant to check if p2 is null at line 276 [inc/TCollection_IndexedDataMap.gxx:302]: (error) Possible null pointer dereference: p2 - otherwise it is redundant to check if p2 is null at line 297 [inc/TCollection_IndexedDataMap.gxx:322]: (error) Possible null pointer dereference: p2 - otherwise it is redundant to check if p2 is null at line 317 [inc/TCollection_IndexedDataMap.gxx:361]: (error) Possible null pointer dereference: p1 - otherwise it is redundant to check if p1 is null at line 356 [inc/TCollection_IndexedDataMap.gxx:381]: (error) Possible null pointer dereference: p1 - otherwise it is redundant to check if p1 is null at line 376 [inc/PLib.lxx:11]: (error) Null pointer dereference [inc/PLib.lxx:16]: (error) Null pointer dereference [inc/TCollection_Array1.gxx:31]: (error) Memory leak: p [inc/BSplCLib.lxx:28]: (error) Null pointer dereference [inc/BSplCLib.lxx:38]: (error) Null pointer dereference [inc/BOPTColStd_CArray1.gxx:111]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 105 [inc/BOPTColStd_CArray1.gxx:113]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 105 [inc/TCollection_IndexedMap.gxx:188]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 181 [inc/TCollection_IndexedMap.gxx:280]: (error) Possible null pointer dereference: p2 - otherwise it is redundant to check if p2 is null at line 275 [inc/ApproxInt_Approx.gxx:103]: (error) Uninitialized variable: U [inc/ApproxInt_Approx.gxx:103]: (error) Uninitialized variable: V [inc/ApproxInt_Approx.gxx:104]: (error) Uninitialized variable: U [inc/ApproxInt_Approx.gxx:106]: (error) Uninitialized variable: V [inc/NCollection_Map.hxx:102]: (error) Null pointer dereference [inc/NCollection_DataMap.hxx:279]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 272 [inc/NCollection_DataMap.hxx:301]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 294 [inc/TCollection_DoubleMap.gxx:236]: (error) Possible null pointer dereference: p1 - otherwise it is redundant to check if p1 is null at line 231 [inc/TCollection_DoubleMap.gxx:256]: (error) Possible null pointer dereference: p2 - otherwise it is redundant to check if p2 is null at line 251 [inc/MAT_Mat.gxx:156]: (error) Memory leak: firstarea [inc/MAT_Mat.gxx:156]: (error) Memory leak: lastarea [inc/BSplSLib.lxx:89]: (error) Null pointer dereference [src/AppDef/AppDef_MyLineTool.cxx:129]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:176]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:201]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:213]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:224]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:256]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:278]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:290]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:303]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:325]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:347]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:383]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:394]: (error) Null pointer dereference [src/BRep/BRep_CurveRepresentation.cxx:407]: (error) Null pointer dereference [inc/Draw_PInterp.hxx:16]: (error) Null pointer dereference [src/BinMDF/BinMDF_TagSourceDriver.cxx:39]: (error) Uninitialized variable: aValue [src/BinMDataStd/BinMDataStd_IntPackedMapDriver.cxx:67]: (error) Uninitialized variable: aKey [src/BinMDataStd/BinMDataStd_IntegerDriver.cxx:42]: (error) Uninitialized variable: aValue [src/BinMDataStd/BinMDataStd_RealDriver.cxx:42]: (error) Uninitialized variable: aValue [src/BinMDataXtd/BinMDataXtd_GeometryDriver.cxx:42]: (error) Uninitialized variable: aType [src/BinMFunction/BinMFunction_FunctionDriver.cxx:53]: (error) Uninitialized variable: aValue [src/BinMNaming/BinMNaming_NamedShapeDriver.cxx:108]: (error) Uninitialized variable: aShapeID [src/BinMNaming/BinMNaming_NamedShapeDriver.cxx:163]: (error) Uninitialized variable: aVer [src/BinMNaming/BinMNaming_NamedShapeDriver.cxx:167]: (error) Uninitialized variable: aCharEvol [src/BinMNaming/BinMNaming_NamingDriver.cxx:143]: (error) Uninitialized variable: aValue [src/BinMNaming/BinMNaming_NamingDriver.cxx:190]: (error) Uninitialized variable: anIndx [src/BinMPrsStd/BinMPrsStd_AISPresentationDriver.cxx:46]: (error) Uninitialized variable: aValue [src/BinMPrsStd/BinMPrsStd_AISPresentationDriver.cxx:70]: (error) Uninitialized variable: aRValue [src/BinMPrsStd/BinMPrsStd_PositionDriver.cxx:45]: (error) Uninitialized variable: aValue [src/BinMXCAFDoc/BinMXCAFDoc_AreaDriver.cxx:36]: (error) Uninitialized variable: aValue [src/BinMXCAFDoc/BinMXCAFDoc_CentroidDriver.cxx:36]: (error) Uninitialized variable: x [src/BinMXCAFDoc/BinMXCAFDoc_CentroidDriver.cxx:36]: (error) Uninitialized variable: y [src/BinMXCAFDoc/BinMXCAFDoc_CentroidDriver.cxx:36]: (error) Uninitialized variable: z [src/BinMXCAFDoc/BinMXCAFDoc_ColorDriver.cxx:35]: (error) Uninitialized variable: R [src/BinMXCAFDoc/BinMXCAFDoc_ColorDriver.cxx:35]: (error) Uninitialized variable: G [src/BinMXCAFDoc/BinMXCAFDoc_ColorDriver.cxx:35]: (error) Uninitialized variable: B [src/BinMXCAFDoc/BinMXCAFDoc_VolumeDriver.cxx:35]: (error) Uninitialized variable: aVol [src/Bnd/Bnd_BoundSortBox.cxx:388]: (error) Possible null pointer dereference: Map - otherwise it is redundant to check if Map is null at line 438 [src/Bnd/Bnd_BoundSortBox.cxx:389]: (error) Possible null pointer dereference: Map - otherwise it is redundant to check if Map is null at line 438 [src/CDM/CDM_COutMessageDriver.cxx:37]: (error) Mismatching allocation and deallocation: anAsciiString [src/Draw/Draw.cxx:289]: (error) Memory leak: thedefault [src/DrawResources/DIFF.c:42]: (error) Resource leak: fp1 [src/DrawResources/DIFF.c:42]: (error) Resource leak: fp2 [src/Expr/Expr_BinaryExpression.cxx:69]: (error) Null pointer dereference [src/Expr/Expr_NumericValue.cxx:40]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve.cxx:326]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve.cxx:454]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve.cxx:522]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve.cxx:1000]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve.cxx:1321]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve.cxx:1323]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:123]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:160]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:201]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:245]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:269]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:416]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:446]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:478]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:511]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:543]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:772]: (error) Null pointer dereference [src/Geom/Geom_BSplineCurve_1.cxx:793]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface.cxx:466]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface.cxx:518]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface.cxx:1556]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface.cxx:1558]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:132]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:189]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:253]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:568]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:604]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:729]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:767]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:1206]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:1258]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:1918]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:1985]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:2063]: (error) Null pointer dereference [src/Geom/Geom_BSplineSurface_1.cxx:2146]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:150]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:153]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:383]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:385]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:387]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:544]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:567]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:593]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:618]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:647]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:897]: (error) Null pointer dereference [src/Geom/Geom_BezierCurve.cxx:899]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:594]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:597]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:620]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:623]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1000]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1002]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1004]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1006]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1466]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1490]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1535]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1558]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1605]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1630]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1667]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1703]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1797]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:1843]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:2037]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:2139]: (error) Null pointer dereference [src/Geom/Geom_BezierSurface.cxx:2141]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:321]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:324]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:448]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:452]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:516]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:519]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:1113]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:1115]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:1435]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve.cxx:1437]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:268]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:416]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:447]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:480]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:514]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:547]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:774]: (error) Null pointer dereference [src/Geom2d/Geom2d_BSplineCurve_1.cxx:794]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:152]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:155]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:373]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:375]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:377]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:550]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:573]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:597]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:622]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:647]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:815]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:913]: (error) Null pointer dereference [src/Geom2d/Geom2d_BezierCurve.cxx:915]: (error) Null pointer dereference [src/Graphic2d/Graphic2d_ImageFile.cxx:443]: (error) Memory leak: pheader [src/Graphic2d/Graphic2d_ImageFile.cxx:415]: (error) Data is allocated but not initialized: pheader [src/Graphic3d/Graphic3d_WNTGraphicDevice.cxx:88]: (error) Possible null pointer dereference: fp - otherwise it is redundant to check if fp is null at line 85 [src/HLRBRep/HLRBRep_InternalAlgo.cxx:918]: (error) Mismatching allocation and deallocation: Val [src/HLRBRep/HLRBRep_InternalAlgo.cxx:919]: (error) Mismatching allocation and deallocation: Size [src/HLRBRep/HLRBRep_InternalAlgo.cxx:920]: (error) Mismatching allocation and deallocation: Index [src/IGESFile/IGESFile_Read.cxx:172]: (error) Memory leak: nbWarn [src/IGESFile/IGESFile_Read.cxx:172]: (error) Memory leak: nbFail [src/IGESSelect/IGESSelect_SelectFromDrawing.cxx:44]: (error) Mismatching allocation and deallocation: nums [src/IGESSelect/IGESSelect_SelectFromSingleView.cxx:31]: (error) Mismatching allocation and deallocation: nums [src/IntPatch/IntPatch_LineConstructor.cxx:1062]: (error) Uninitialized variable: utst1 [src/IntPatch/IntPatch_LineConstructor.cxx:1062]: (error) Uninitialized variable: vtst1 [src/IntPatch/IntPatch_LineConstructor.cxx:1063]: (error) Uninitialized variable: utst1 [src/IntPatch/IntPatch_LineConstructor.cxx:1064]: (error) Uninitialized variable: vtst1 [src/IntTools/IntTools_TopolTool.cxx:119]: (error) Uninitialized variable: nbsu [src/IntTools/IntTools_TopolTool.cxx:152]: (error) Uninitialized variable: nbsu [src/MFT/MFT_FontManager.cxx:2289]: (error) Memory leak: pencoding [src/MeshTest/MeshTest.cxx:1209]: (error) instance of "BRepMesh_IncrementalMesh" object destroyed immediately [inc/NCollection_IndexedDataMap.hxx:298]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 290 [inc/NCollection_IndexedDataMap.hxx:372]: (error) Possible null pointer dereference: pNode2 - otherwise it is redundant to check if pNode2 is null at line 365 [inc/NCollection_IndexedDataMap.hxx:391]: (error) Possible null pointer dereference: pNode2 - otherwise it is redundant to check if pNode2 is null at line 384 [inc/NCollection_IndexedDataMap.hxx:414]: (error) Possible null pointer dereference: pNode2 - otherwise it is redundant to check if pNode2 is null at line 407 [inc/NCollection_IndexedDataMap.hxx:452]: (error) Possible null pointer dereference: pNode1 - otherwise it is redundant to check if pNode1 is null at line 445 [inc/NCollection_IndexedDataMap.hxx:471]: (error) Possible null pointer dereference: pNode1 - otherwise it is redundant to check if pNode1 is null at line 464 [src/Message/Message_Msg.cxx:160]: (error) Mismatching allocation and deallocation: sStringBuffer [src/Message/Message_PrinterOStream.cxx:125]: (error) Mismatching allocation and deallocation: astr [src/NIS/NIS_SurfaceDrawer.cxx:169]: (error) Array 'aValueCol[3]' index 3 out of bounds [src/NIS/NIS_SurfaceDrawer.cxx:188]: (error) Array 'aValueCol[3]' index 3 out of bounds [src/NIS/NIS_SurfaceDrawer.cxx:196]: (error) Array 'aValueCol[3]' index 3 out of bounds [src/OSD/OSD_FontMgr.cxx:128]: (error) Memory leak: windir_var [src/OSD/OSD_FontMgr.cxx:128]: (error) Memory leak: font_dir [src/OpenGl/OpenGl_ImageBox.cxx:329]: (error) Memory leak: abuf [src/OpenGl/OpenGl_TextRender.cxx:344]: (error) Memory leak: fontName [src/OpenGl/OpenGl_depthcue.cxx:124]: (error) Possible null pointer dereference: ws_dcues - otherwise it is redundant to check if ws_dcues is null at line 127 [src/OpenGl/OpenGl_filters.cxx:351]: (error) Memory leak: ptr [src/OpenGl/OpenGl_graduatedtrihedron.cxx:282]: (error) Memory leak: newWsIds [src/OpenGl/OpenGl_highlight.cxx:100]: (error) Possible null pointer dereference: ws_hlights - otherwise it is redundant to check if ws_hlights is null at line 101 [src/OpenGl/OpenGl_highlight.cxx:117]: (error) Possible null pointer dereference: ws_hlights - otherwise it is redundant to check if ws_hlights is null at line 120 [src/OpenGl/OpenGl_subrs.cxx:1021]: (error) Possible null pointer dereference: vtexturecoord - otherwise it is redundant to check if vtexturecoord is null at line 1008 [src/OpenGl/OpenGl_subrs.cxx:1022]: (error) Possible null pointer dereference: vtexturecoord - otherwise it is redundant to check if vtexturecoord is null at line 1008 [src/OpenGl/OpenGl_subrs.cxx:1148]: (error) Possible null pointer dereference: vtexturecoord - otherwise it is redundant to check if vtexturecoord is null at line 1135 [src/OpenGl/OpenGl_subrs.cxx:1149]: (error) Possible null pointer dereference: vtexturecoord - otherwise it is redundant to check if vtexturecoord is null at line 1135 [src/OpenGl/OpenGl_subrs.cxx:149]: (error) Mismatching allocation and deallocation: col [src/OpenGl/OpenGl_subrs.cxx:1042]: (error) Deallocating a deallocated pointer: vertices [src/OpenGl/OpenGl_subrs.cxx:1173]: (error) Deallocating a deallocated pointer: vertices [src/OpenGl/OpenGl_triedron.cxx:612]: (error) Mismatching allocation and deallocation: isPlaneActive [src/OpenGl/OpenGl_triedron.cxx:1129]: (error) Mismatching allocation and deallocation: isPlaneActive [src/Poly/Poly_CoherentTriangulation.cxx:578]: (error) instance of "Standard_ProgramError" object destroyed immediately [src/Poly/Poly_CoherentTriangulation.cxx:653]: (error) instance of "Standard_ProgramError" object destroyed immediately [inc/NCollection_IndexedMap.hxx:293]: (error) Possible null pointer dereference: p - otherwise it is redundant to check if p is null at line 285 [inc/NCollection_IndexedMap.hxx:366]: (error) Possible null pointer dereference: pNode2 - otherwise it is redundant to check if pNode2 is null at line 359 [inc/NCollection_IndexedMap.hxx:114]: (error) Null pointer dereference [src/Prs3d/Prs3d_TextAspect.cxx:97]: (error) Uninitialized variable: FontName [src/ShapeAnalysis/ShapeAnalysis_TransferParameters.cxx:56]: (error) Uninitialized variable: f2d [src/ShapeAnalysis/ShapeAnalysis_TransferParameters.cxx:57]: (error) Uninitialized variable: l2d [src/Standard/Standard.cxx:30]: (error) Memory leak: Standard_MMgrFactory::myFMMgr [src/StdSelect/StdSelect_BRepSelectionTool.cxx:682]: (error) instance of "BRepMesh_IncrementalMesh" object destroyed immediately [src/StepData/StepData_StepReaderData.cxx:1828]: (error) Memory leak: indm [src/TCollection/TCollection_ExtendedString.cxx:911]: (error) Possible null pointer dereference: separators - otherwise it is redundant to check if separators is null at line 888 [src/TestTopOpe/TestTopOpe_HDSCommands.cxx:197]: (error) instance of "Standard_Failure" object destroyed immediately [src/TestTopOpeDraw/TestTopOpeDraw_OtherCommands.cxx:216]: (error) Undefined behavior: variable is used as parameter and destination in s[n]printf(). [src/TestTopOpeDraw/TestTopOpeDraw_OtherCommands.cxx:217]: (error) Undefined behavior: variable is used as parameter and destination in s[n]printf(). [src/VrmlData/VrmlData_Group.cxx:278]: (error) Dangerous usage of 'buf' (strncpy doesn't always 0-terminate it) [src/VrmlData/VrmlData_Scene.cxx:1021]: (error) Dangerous usage of 'buf' (strncpy doesn't always 0-terminate it) [src/XCAFPrs/XCAFPrs_AISObject.cxx:96]: (error) Array 'X[2]' index 2 out of bounds [src/XCAFPrs/XCAFPrs_AISObject.cxx:96]: (error) Array 'Y[2]' index 2 out of bounds [src/XCAFPrs/XCAFPrs_AISObject.cxx:96]: (error) Array 'Z[2]' index 2 out of bounds [src/XmlMDataStd/XmlMDataStd_NamedDataDriver.cxx:246]: (error) Uninitialized variable: aCurElement [src/XmlMDataStd/XmlMDataStd_NamedDataDriver.cxx:318]: (error) Uninitialized variable: aCurElement [src/XmlMDataStd/XmlMDataStd_NamedDataDriver.cxx:390]: (error) Uninitialized variable: aCurElement [src/XmlMDataStd/XmlMDataStd_NamedDataDriver.cxx:467]: (error) Uninitialized variable: aCurElement [src/XmlMDataStd/XmlMDataStd_NamedDataDriver.cxx:573]: (error) Uninitialized variable: aCurElement [src/Xw/Xw_get_env.cxx:85]: (error) Memory leak: string [src/Xw/Xw_open_image.cxx:87]: (error) Memory leak: cdata [src/math/math_FunctionRoots.cxx:254]: (error) Memory leak: ptrval

Fatal Error RC1102 with MSVC8 64-bit

Hi all,

0.7.0-rc1 compiles failed with Visual Studio 2005 Win64 generator. I Had the following errors:

RC1102: internal error : too many arguments to RCPP

The msdn documentation on this error says it can be caused by too many includes (/I) or too many define symbols (/D).

Enable config.h in MSVC

At least some compilation/install options saved in config.h could be useful at compilation time (eg data directory names)
This will allow a more uniform behavoir between systems.

Unresolved symbols due to TKernel not declaring a dependency against libdl

I just tried to build a minimal test case out-of-tree, based on BRepPrimAPI_test. It fails to link:

Linking CXX executable BRepPrimAPI_test
/home/barbier/oce-dev/lib/libTKernel.so.1.0.0: undefined reference to `dlclose'
/home/barbier/oce-dev/lib/libTKernel.so.1.0.0: undefined reference to `dlsym'
/home/barbier/oce-dev/lib/libTKernel.so.1.0.0: undefined reference to `dlopen'
/home/barbier/oce-dev/lib/libTKernel.so.1.0.0: undefined reference to `dlerror'

It looks like TKernel does not declare a dependency against dl. My OCE-libraries-release.cmake installed file contains this snippet:

# Import target "TKernel" for configuration "Release"
SET_PROPERTY(TARGET TKernel APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
SET_TARGET_PROPERTIES(TKernel PROPERTIES
  IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE "-lpthread;-lm;rt"
  IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libTKernel.so.1.0.0"
  IMPORTED_SONAME_RELEASE "libTKernel.so.1"
  )

Everything works fine if -ldlis added, but I do not know why it is not autommmatically added.

making OCE available in ubuntu repositories

OCE has been doing very well in terms of providing binary releases.
However, how does this relate to projects where OCE is a dependency?
For projects like Free/HeeksCAD and PythonOCC, it would be wonderful to be able to apt-get OCE.
Is it worthwhile considering making OCE part of the ubuntu / 'nix ecosystem a milestone for 0.6?
Surely the success of OCE at some point will be measured in how well the distribution is propagated.

clang3 warnings report

clang3 warnings report from master (commit 7e87b4b)

                                    
In file included from /Users/thomas/Devel/oce/src/Poly/Poly_CoherentTriangulation.cxx:6:
In file included from /Users/thomas/Devel/oce/inc/Poly_CoherentTriangulation.hxx:14:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/Poly/Poly_CoherentTriangulation.cxx:25:29: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
Poly_CoherentTriangulation::Poly_CoherentTriangulation
                            ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/Poly/Poly_CoherentTriangulation.cxx:25:29: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
Poly_CoherentTriangulation::Poly_CoherentTriangulation
                            ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/Poly/Poly_CoherentTriangulation.cxx:25:29: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
Poly_CoherentTriangulation::Poly_CoherentTriangulation
                            ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/Poly/Poly_CoherentTriangulation.cxx:121:42: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
    NCollection_Vector vecNodeId;
                                         ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
4 warnings generated.
/PRODUCTS/flexbis-253-125/share/bison.simple:331:4: warning: implicit declaration of function 'ExprIntrperror' is invalid in C99 [-Wimplicit-function-declaration]
          yyerror("parser stack overflow");
          ^
/Users/thomas/Devel/oce/drv/ExprIntrp/ExprIntrp.tab.c:10:17: note: instantiated from:
#define yyerror ExprIntrperror
                ^
/PRODUCTS/flexbis-253-125/share/bison.simple:403:16: warning: implicit declaration of function 'ExprIntrplex' is invalid in C99 [-Wimplicit-function-declaration]
      yychar = YYLEX;
               ^
bison.simple:84:16: note: instantiated from:
#define YYLEX           yylex()
                        ^
/Users/thomas/Devel/oce/drv/ExprIntrp/ExprIntrp.tab.c:9:15: note: instantiated from:
#define yylex ExprIntrplex
              ^
2 warnings generated.
/Users/thomas/Devel/oce/drv/ExprIntrp/lex.ExprIntrp.c:2614:3: warning: implicit declaration of function 'read' is invalid in C99 [-Wimplicit-function-declaration]
                YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
                ^
/Users/thomas/Devel/oce/drv/ExprIntrp/lex.ExprIntrp.c:2153:17: note: instantiated from:
        if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
                       ^
1 warning generated.
/Users/thomas/Devel/oce/src/Geom/Geom_OffsetSurface.cxx:1622:16: warning: equality comparison with extraneous parentheses [-Wparentheses]
  if ((NStatus == CSLib_Defined)) // akm - only in singularities && !AlongU && !AlongV) 
       ~~~~~~~~^~~~~~~~~~~~~~~~
/Users/thomas/Devel/oce/src/Geom/Geom_OffsetSurface.cxx:1622:16: note: remove extraneous parentheses around the comparison to silence this warning
  if ((NStatus == CSLib_Defined)) // akm - only in singularities && !AlongU && !AlongV) 
      ~        ^               ~
/Users/thomas/Devel/oce/src/Geom/Geom_OffsetSurface.cxx:1622:16: note: use '=' to turn this equality comparison into an assignment
  if ((NStatus == CSLib_Defined)) // akm - only in singularities && !AlongU && !AlongV) 
               ^~
               =
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.cxx:6:
In file included from /Users/thomas/Devel/oce/drv/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.ixx:6:
In file included from /Users/thomas/Devel/oce/drv/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.jxx:32:
In file included from /Users/thomas/Devel/oce/inc/BinLDrivers_DocumentRetrievalDriver.hxx:35:
In file included from /Users/thomas/Devel/oce/inc/BinLDrivers_VectorOfDocumentSection.hxx:9:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.cxx:31:38: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
BinLDrivers_DocumentRetrievalDriver::BinLDrivers_DocumentRetrievalDriver ()
                                     ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/BinLDrivers/BinLDrivers_DocumentStorageDriver.cxx:6:
In file included from /Users/thomas/Devel/oce/drv/BinLDrivers/BinLDrivers_DocumentStorageDriver.ixx:6:
In file included from /Users/thomas/Devel/oce/drv/BinLDrivers/BinLDrivers_DocumentStorageDriver.jxx:29:
In file included from /Users/thomas/Devel/oce/inc/BinLDrivers_DocumentStorageDriver.hxx:44:
In file included from /Users/thomas/Devel/oce/inc/BinLDrivers_VectorOfDocumentSection.hxx:9:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/BinLDrivers/BinLDrivers_DocumentStorageDriver.cxx:34:36: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
BinLDrivers_DocumentStorageDriver::BinLDrivers_DocumentStorageDriver ()
                                   ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
/Users/thomas/Devel/oce/src/Xw/Xw_set_double_buffer.cxx:50:26: warning: equality comparison with extraneous parentheses [-Wparentheses]
    if( (SetDoubleBuffer == 'Y') ) { 
         ~~~~~~~~~~~~~~~~^~~~~~
/Users/thomas/Devel/oce/src/Xw/Xw_set_double_buffer.cxx:50:26: note: remove extraneous parentheses around the comparison to silence this warning
    if( (SetDoubleBuffer == 'Y') ) { 
        ~                ^     ~
/Users/thomas/Devel/oce/src/Xw/Xw_set_double_buffer.cxx:50:26: note: use '=' to turn this equality comparison into an assignment
    if( (SetDoubleBuffer == 'Y') ) { 
                         ^~
                         =
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/Extrema/Extrema_GenExtPS.cxx:9:
In file included from /Users/thomas/Devel/oce/drv/Extrema/Extrema_GenExtPS.ixx:6:
In file included from /Users/thomas/Devel/oce/drv/Extrema/Extrema_GenExtPS.jxx:29:
In file included from /Users/thomas/Devel/oce/inc/Extrema_GenExtPS.hxx:29:
In file included from /Users/thomas/Devel/oce/inc/Extrema_HUBTreeOfSphere.hxx:10:
In file included from /Users/thomas/Devel/oce/inc/NCollection_UBTreeFiller.hxx:10:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::ObjBnd>::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::ObjBnd>::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/inc/NCollection_UBTreeFiller.hxx:56:3: note: in instantiation of member function 'NCollection_Vector::ObjBnd>::NCollection_Vector' requested here
  NCollection_UBTreeFiller (UBTree& theTree,
  ^
/Users/thomas/Devel/oce/src/Extrema/Extrema_GenExtPS.cxx:340:32: note: in instantiation of member function 'NCollection_UBTreeFiller::NCollection_UBTreeFiller' requested here
  Extrema_UBTreeFillerOfSphere aFiller(*mySphereUBTree);
                               ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
/Users/thomas/Devel/oce/src/AdvApp2Var/AdvApp2Var_Iso.cxx:232:5: warning: expression result unused [-Wunused-value]
    (Standard_Real *) &HERRMOY->ChangeArray2()
    ^                 ~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
/Users/thomas/Devel/oce/src/GeomPlate/GeomPlate_PlateG0Criterion.cxx:77:5: warning: expression result unused [-Wunused-value]
    (Standard_Real *) &Curve.ChangeValue(1);
    ^                 ~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/BRepMesh/BRepMesh_CircleTool.cxx:6:
In file included from /Users/thomas/Devel/oce/drv/BRepMesh/BRepMesh_CircleTool.ixx:6:
In file included from /Users/thomas/Devel/oce/drv/BRepMesh/BRepMesh_CircleTool.jxx:8:
In file included from /Users/thomas/Devel/oce/inc/BRepMesh_CircleTool.hxx:23:
In file included from /Users/thomas/Devel/oce/inc/BRepMesh_CellFilter.hxx:10:
In file included from /Users/thomas/Devel/oce/inc/BRepMesh_CircleInspector.hxx:18:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/BRepMesh/BRepMesh_CircleTool.cxx:25:53: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
                                                    myInitCircle(nbComp)
                                                    ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
/Users/thomas/Devel/oce/src/Graphic2d/Graphic2d_Paragraph.cxx:539:27: warning: expression result unused [-Wunused-value]
  (myIsZoomable) ? myScale*aDrawer->Scale() : myScale;
                   ~~~~~~~^~~~~~~~~~~~~~~~~
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/ShapeAnalysis/ShapeAnalysis_FreeBounds.cxx:45:
In file included from /Users/thomas/Devel/oce/inc/NCollection_UBTreeFiller.hxx:10:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::ObjBnd>::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::ObjBnd>::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/inc/NCollection_UBTreeFiller.hxx:56:3: note: in instantiation of member function 'NCollection_Vector::ObjBnd>::NCollection_Vector' requested here
  NCollection_UBTreeFiller (UBTree& theTree,
  ^
/Users/thomas/Devel/oce/src/ShapeAnalysis/ShapeAnalysis_FreeBounds.cxx:197:56: note: in instantiation of member function 'NCollection_UBTreeFiller::NCollection_UBTreeFiller' requested here
  NCollection_UBTreeFiller  aTreeFiller(aBBTree);
                                                       ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
/Users/thomas/Devel/oce/src/TopOpeBRepTool/TopOpeBRepTool_makeTransition.cxx:257:35: warning: use of logical || with constant operand; switch to bitwise | or remove constant [-Wconstant-logical-operand]
  Standard_Boolean mk1 = isINifh1 || isON2ifss || isIN2ifss;
                                  ^  ~~~~~~~~~
/Users/thomas/Devel/oce/src/TopOpeBRepTool/TopOpeBRepTool_makeTransition.cxx:264:35: warning: use of logical || with constant operand; switch to bitwise | or remove constant [-Wconstant-logical-operand]
  Standard_Boolean mk2 = isINifh2 || isON2ifss || isOU2ifss;
                                  ^  ~~~~~~~~~
2 warnings generated.
In file included from /Users/thomas/Devel/oce/src/Interface/Interface_ParamList.cxx:6:
In file included from /Users/thomas/Devel/oce/drv/Interface/Interface_ParamList.ixx:6:
In file included from /Users/thomas/Devel/oce/drv/Interface/Interface_ParamList.jxx:14:
In file included from /Users/thomas/Devel/oce/inc/Interface_ParamList.hxx:20:
In file included from /Users/thomas/Devel/oce/inc/Interface_VectorOfFileParameter.hxx:11:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/Interface/Interface_ParamList.cxx:14:9: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
        myVector (theIncrement)
        ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:302:9: warning: expression result unused [-Wunused-value]
        vecnrm( data->fnormals[a].xyz );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:74:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:302:9: note: instantiated from:
        vecnrm( data->fnormals[a].xyz );
        ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:74:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:320:9: warning: expression result unused [-Wunused-value]
        vecnrm( data->vnormals[j].xyz );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:74:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:320:9: note: instantiated from:
        vecnrm( data->vnormals[j].xyz );
        ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_indexpolygons.cxx:74:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
2 warnings generated.
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:258:7: warning: expression result unused [-Wunused-value]
      vecnrm( data->fnormal.xyz );
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:58:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:258:7: note: instantiated from:
      vecnrm( data->fnormal.xyz );
      ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:58:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:276:9: warning: expression result unused [-Wunused-value]
        vecnrm( data->vnormals[j].xyz );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:58:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:276:9: note: instantiated from:
        vecnrm( data->vnormals[j].xyz );
        ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygon.cxx:58:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
2 warnings generated.
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:244:7: warning: expression result unused [-Wunused-value]
      vecnrm( data->fnormal.xyz );
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:45:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:244:7: note: instantiated from:
      vecnrm( data->fnormal.xyz );
      ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:45:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:267:9: warning: expression result unused [-Wunused-value]
        vecnrm( data->vnormals[j].xyz );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:45:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:267:9: note: instantiated from:
        vecnrm( data->vnormals[j].xyz );
        ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_polygonholes.cxx:45:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
2 warnings generated.
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:237:11: warning: expression result unused [-Wunused-value]
          vecnrm( data->fnormals[j].xyz );
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:63:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:237:11: note: instantiated from:
          vecnrm( data->fnormals[j].xyz );
          ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:63:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:264:11: warning: expression result unused [-Wunused-value]
          vecnrm( data->vnormals[j].xyz );
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:63:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:264:11: note: instantiated from:
          vecnrm( data->vnormals[j].xyz );
          ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_qstrip.cxx:63:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
2 warnings generated.
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:208:11: warning: expression result unused [-Wunused-value]
          vecnrm( data->fnormals[j].xyz );
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:67:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:208:11: note: instantiated from:
          vecnrm( data->fnormals[j].xyz );
          ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:67:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:241:11: warning: expression result unused [-Wunused-value]
          vecnrm( data->vnormals[j].xyz );
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:67:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:241:11: note: instantiated from:
          vecnrm( data->vnormals[j].xyz );
          ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_tmesh.cxx:67:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
2 warnings generated.
In file included from /Users/thomas/Devel/oce/src/NIS/NIS_Drawer.cxx:7:
In file included from /Users/thomas/Devel/oce/inc/NIS_View.hxx:14:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:181:41: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
      NCollection_BaseVector (theOther, FuncDataInit, FuncDataFree)
                                        ^
/Users/thomas/Devel/oce/inc/NIS_View.hxx:250:12: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  { return myDetected; }
           ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/NIS/NIS_DrawList.cxx:7:
In file included from /Users/thomas/Devel/oce/inc/NIS_View.hxx:14:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:181:41: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
      NCollection_BaseVector (theOther, FuncDataInit, FuncDataFree)
                                        ^
/Users/thomas/Devel/oce/inc/NIS_View.hxx:250:12: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  { return myDetected; }
           ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/NIS/NIS_InteractiveContext.cxx:6:
In file included from /Users/thomas/Devel/oce/inc/NIS_InteractiveContext.hxx:18:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:181:41: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
      NCollection_BaseVector (theOther, FuncDataInit, FuncDataFree)
                                        ^
/Users/thomas/Devel/oce/inc/NIS_View.hxx:250:12: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  { return myDetected; }
           ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/NIS/NIS_InteractiveContext.cxx:23:25: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
NIS_InteractiveContext::NIS_InteractiveContext ()
                        ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
2 warnings generated.
In file included from /Users/thomas/Devel/oce/src/NIS/NIS_View.cxx:6:
In file included from /Users/thomas/Devel/oce/inc/NIS_View.hxx:14:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:181:41: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
      NCollection_BaseVector (theOther, FuncDataInit, FuncDataFree)
                                        ^
/Users/thomas/Devel/oce/inc/NIS_View.hxx:250:12: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  { return myDetected; }
           ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:569:3: warning: expression result unused [-Wunused-value]
  vecnrm(n);  
  ^~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:82:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:569:3: note: instantiated from:
  vecnrm(n);  
  ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:82:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:572:3: warning: expression result unused [-Wunused-value]
  vecnrm(u);
  ^~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:82:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:572:3: note: instantiated from:
  vecnrm(u);
  ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:82:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:575:3: warning: expression result unused [-Wunused-value]
  vecnrm(v); /* redundant ? */
  ^~~~~~~~~
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:82:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:38: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                     ^
/Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:575:3: note: instantiated from:
  vecnrm(v); /* redundant ? */
  ^
In file included from /Users/thomas/Devel/oce/src/OpenGl/OpenGl_view.cxx:82:
/Users/thomas/Devel/oce/inc/OpenGl_telem_util.hxx:87:48: note: instantiated from:
#define  vecnrm(a)       { Tfloat d; vecnrmd(a,d); }
                                               ^
3 warnings generated.
/Users/thomas/Devel/oce/src/TNaming/TNaming_Localizer.cxx:247:69: warning: '&&' within '||' [-Wlogical-op-parentheses]
  if (TS == TopAbs_EDGE || TS == TopAbs_VERTEX || TS == TopAbs_FACE && TA >= In.ShapeType()) {
                                               ~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/Users/thomas/Devel/oce/src/TNaming/TNaming_Localizer.cxx:247:69: note: place parentheses around the '&&' expression to silence this warning
  if (TS == TopAbs_EDGE || TS == TopAbs_VERTEX || TS == TopAbs_FACE && TA >= In.ShapeType()) {
                                                                    ^
                                                  (                                        )
1 warning generated.
/Users/thomas/Devel/oce/src/VrmlData/VrmlData_Geometry.cxx:61:16: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
  if  (anIndex < 0 || anIndex >= myLength) {
       ~~~~~~~ ^ ~
In file included from /Users/thomas/Devel/oce/src/VrmlData/VrmlData_Geometry.cxx:23:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/VrmlData/VrmlData_Geometry.cxx:551:29: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  NCollection_Vector vecValues;
                            ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/VrmlData/VrmlData_Geometry.cxx:627:30: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  NCollection_Vector vecValues;
                             ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
3 warnings generated.
In file included from /Users/thomas/Devel/oce/src/VrmlData/VrmlData_Scene.cxx:28:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/VrmlData/VrmlData_Scene.cxx:778:52: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
      NCollection_Vector vecIndice;
                                                   ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:176:31: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
                              FuncDataInit, FuncDataFree) {}
                              ^
/Users/thomas/Devel/oce/src/VrmlData/VrmlData_Scene.cxx:779:52: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
      NCollection_Vector         vecInt;
                                                   ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
2 warnings generated.
/Users/thomas/Devel/oce/src/BRepOffset/BRepOffset_Inter2d.cxx:1280:57: warning: '&&' within '||' [-Wlogical-op-parentheses]
      if (C3d->IsKind(STANDARD_TYPE(Geom_BoundedCurve)) &&
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/Users/thomas/Devel/oce/src/BRepOffset/BRepOffset_Inter2d.cxx:1280:57: note: place parentheses around the '&&' expression to silence this warning
      if (C3d->IsKind(STANDARD_TYPE(Geom_BoundedCurve)) &&
                                                        ^
1 warning generated.
/Users/thomas/Devel/oce/src/IGESGeom/IGESGeom_ToolOffsetCurve.cxx:320:14: warning: '&&' within '||' [-Wlogical-op-parentheses]
  if (ot !=1 && //:l9 abv 15.01.99: CTS22023 and TEC0278: only if ot is function
      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/thomas/Devel/oce/src/IGESGeom/IGESGeom_ToolOffsetCurve.cxx:320:14: note: place parentheses around the '&&' expression to silence this warning
  if (ot !=1 && //:l9 abv 15.01.99: CTS22023 and TEC0278: only if ot is function
             ^
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/ViewerTest/ViewerTest_EventManager.cxx:9:
In file included from /Users/thomas/Devel/oce/inc/NIS_View.hxx:14:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:181:41: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
      NCollection_BaseVector (theOther, FuncDataInit, FuncDataFree)
                                        ^
/Users/thomas/Devel/oce/inc/NIS_View.hxx:250:12: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  { return myDetected; }
           ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.
In file included from /Users/thomas/Devel/oce/src/ViewerTest/ViewerTest_ViewerCommands.cxx:17:
In file included from /Users/thomas/Devel/oce/inc/ViewerTest.hxx:47:
In file included from /Users/thomas/Devel/oce/inc/NIS_InteractiveContext.hxx:18:
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: warning: destination for this 'memcpy' call is a pointer to dynamic class 'NCollection_Vector::MemBlock'; vtable pointer will be overwritten [-Wnon-pod-memaccess]
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
      ~~~~~~  ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:181:41: note: in instantiation of member function 'NCollection_Vector::FuncDataInit' requested here
      NCollection_BaseVector (theOther, FuncDataInit, FuncDataFree)
                                        ^
/Users/thomas/Devel/oce/inc/NIS_View.hxx:250:12: note: in instantiation of member function 'NCollection_Vector::NCollection_Vector' requested here
  { return myDetected; }
           ^
/Users/thomas/Devel/oce/inc/NCollection_Vector.hxx:290:15: note: explicitly cast the pointer to silence this warning
      memcpy (aData, aSource, aSize * sizeof(MemBlock));
              ^
              (void*)
1 warning generated.

"make package" fails

I get the following:
CPack Warning: [STGZ] Some Components defined but NO component group: Ignoring component group.
CPack Error: ERROR while packaging files: archive_read_disk_entry_from_file: Can't lstat local/inc/Graphic2d_SequenceOfPrimitives.hxx
CPack Error: Problem compressing the directory
CPack Error: Error when generating package: OCE
make: *** [package] Error 1

Runtime error on MacOSX

On my machine, the small test I uploaded to tp/ctest-experiments segfaults. The same code for the example and the oce library, compiled with autotools works fine. What is werid is that the CMake generated oce library perfectly works on tog's OSX machine. Anyway, since the same code fails with CMake and runs with autotools, since the compiler is the same (gcc-4.2.1), then I had a look at the flags/definitions to check the differences with both.

This is the log with autotools:

Making all in adm/make
Making all in TKernel
/bin/sh ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../inc           -I../../../inc -I../../../drv/FSD -I../../../src/FSD -I../../../drv/MMgt -I../../../src/MMgt -I../../../drv/OSD -I../../../src/OSD -I../../../drv/Plugin -I../../../src/Plugin -I../../../drv/Quantity -I../../../src/Quantity -I../../../drv/Resource -I../../../src/Resource -I../../../drv/SortTools -I../../../src/SortTools -I../../../drv/Standard -I../../../src/Standard -I../../../drv/StdFail -I../../../src/StdFail -I../../../drv/Storage -I../../../src/Storage -I../../../drv/TColStd -I../../../src/TColStd -I../../../drv/TCollection -I../../../src/TCollection -I../../../drv/TShort -I../../../src/TShort -I../../../drv/Units -I../../../src/Units -I../../../drv/UnitsAPI -I../../../src/UnitsAPI -I../../../drv/IncludeLibrary -I../../../src/IncludeLibrary -I../../../drv/Dico -I../../../src/Dico -I../../../drv/NCollection -I../../../src/NCollection -I../../../drv/Message -I../../../src/Message  -D_OCC64 -DNDEBUG  -DNo_Exception  -g -O2 -DCSFDB -DOCC_CONVERT_SIGNALS -O2 -MT Dico_DictionaryOfInteger_0.lo -MD -MP -MF .deps/Dico_DictionaryOfInteger_0.Tpo -c -o Dico_DictionaryOfInteger_0.lo `test -f '../../../drv/Dico/Dico_DictionaryOfInteger_0.cxx' || echo './'`../../../drv/Dico/Dico_DictionaryOfInteger_0.cxx

And the log with CMake, RelWithDebInfo:

[  0%] Building CXX object adm/cmake/TKernel/CMakeFiles/TKernel.dir/__/__/__/src/FSD/FSD_BinaryFile.cxx.o
cd /Users/thomas/Devel/oce/cmake-build/adm/cmake/TKernel && /usr/bin/c++   -DTKernel_EXPORTS -D_OCC64 -DHAVE_CONFIG_H -DCSFDB -DLIN -DOCC_CONVERT_SIGNALS -O2 -g -fPIC -I/Users/thomas/Devel/oce/cmake-build/build_inc -I/Users/thomas/Devel/oce/inc -I/Users/thomas/Devel/oce/src/FSD -I/Users/thomas/Devel/oce/drv/FSD -I/Users/thomas/Devel/oce/src/MMgt -I/Users/thomas/Devel/oce/drv/MMgt -I/Users/thomas/Devel/oce/src/OSD -I/Users/thomas/Devel/oce/drv/OSD -I/Users/thomas/Devel/oce/src/Plugin -I/Users/thomas/Devel/oce/drv/Plugin -I/Users/thomas/Devel/oce/src/Quantity -I/Users/thomas/Devel/oce/drv/Quantity -I/Users/thomas/Devel/oce/src/Resource -I/Users/thomas/Devel/oce/drv/Resource -I/Users/thomas/Devel/oce/src/SortTools -I/Users/thomas/Devel/oce/drv/SortTools -I/Users/thomas/Devel/oce/src/Standard -I/Users/thomas/Devel/oce/drv/Standard -I/Users/thomas/Devel/oce/src/StdFail -I/Users/thomas/Devel/oce/drv/StdFail -I/Users/thomas/Devel/oce/src/Storage -I/Users/thomas/Devel/oce/drv/Storage -I/Users/thomas/Devel/oce/src/TColStd -I/Users/thomas/Devel/oce/drv/TColStd -I/Users/thomas/Devel/oce/src/TCollection -I/Users/thomas/Devel/oce/drv/TCollection -I/Users/thomas/Devel/oce/src/TShort -I/Users/thomas/Devel/oce/drv/TShort -I/Users/thomas/Devel/oce/src/Units -I/Users/thomas/Devel/oce/drv/Units -I/Users/thomas/Devel/oce/src/UnitsAPI -I/Users/thomas/Devel/oce/drv/UnitsAPI -I/Users/thomas/Devel/oce/src/IncludeLibrary -I/Users/thomas/Devel/oce/drv/IncludeLibrary -I/Users/thomas/Devel/oce/src/Dico -I/Users/thomas/Devel/oce/drv/Dico -I/Users/thomas/Devel/oce/src/NCollection -I/Users/thomas/Devel/oce/drv/NCollection -I/Users/thomas/Devel/oce/src/Message -I/Users/thomas/Devel/oce/drv/Message   -o CMakeFiles/TKernel.dir/__/__/__/src/FSD/FSD_BinaryFile.cxx.o -c /Users/thomas/Devel/oce/src/FSD/FSD_BinaryFile.cxx

Just removing the -DLIN fixes the error.

A possible fix, among others is (CMakeList.txt):

IF(UNIX)
  IF(APPLE)
    ######### MacOSX ###########
    MESSAGE(STATUS "MacOSX platform detected")
    SET(PLATFORM Darwin)
  ELSE(APPLE)
    ######### Unix/Linux ###########
    MESSAGE(STATUS "Unix/Linux platform detected")
    SET(PLATFORM Unix)
  ENDIF(APPLE)
  - ADD_DEFINITIONS(-DHAVE_CONFIG_H -DCSFDB -DLIN -DOCC_CONVERT_SIGNALS)
  + ADD_DEFINITIONS(-DHAVE_CONFIG_H -DCSFDB -DOCC_CONVERT_SIGNALS)
ELSE(UNIX)

MacOSX compilation warnings

On OSX, compilation of oce generates a lot of warnings. Attached the stderr output.

OS version: Mac OS X 10.6.7
$gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5666.3~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)

$ make -j2 2>stderr_macosx.txt
$ cat stderr_macosx


../../../src/NCollection/NCollection_BaseAllocator.cxx: In static member function ‘static void NCollection_BaseAllocator::PrintMemUsageStatistics()’:
../../../src/NCollection/NCollection_BaseAllocator.cxx:128: warning: format ‘%12d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’
../../../src/NCollection/NCollection_BaseAllocator.cxx:128: warning: format ‘%12d’ expects type ‘int’, but argument 5 has type ‘Standard_Size’
../../../src/NCollection/NCollection_BaseAllocator.cxx:128: warning: format ‘%12d’ expects type ‘int’, but argument 6 has type ‘Standard_Size’
../../../src/NCollection/NCollection_BaseAllocator.cxx:133: warning: format ‘%12d’ expects type ‘int’, but argument 5 has type ‘Standard_Size’
../../../src/NCollection/NCollection_BaseAllocator.cxx:133: warning: format ‘%12d’ expects type ‘int’, but argument 6 has type ‘Standard_Size’
../../../src/NCollection/NCollection_HeapAllocator.cxx: In member function ‘virtual void* NCollection_HeapAllocator::Allocate(Standard_Size)’:
../../../src/NCollection/NCollection_HeapAllocator.cxx:28: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’
../../../src/Visual3d/Visual3d_TransientManager.cxx: In static member function ‘static Standard_Boolean Visual3d_TransientManager::BeginDraw(const Handle_Visual3d_View&, Standard_Boolean, Standard_Boolean)’:
../../../src/Visual3d/Visual3d_TransientManager.cxx:123: warning: taking address of temporary
../../../src/Visual3d/Visual3d_TransientManager.cxx:127: warning: taking address of temporary
../../../src/Visual3d/Visual3d_TransientManager.cxx: In static member function ‘static void Visual3d_TransientManager::ClearDraw(const Handle_Visual3d_View&, Standard_Boolean)’:
../../../src/Visual3d/Visual3d_TransientManager.cxx:192: warning: taking address of temporary
../../../src/Visual3d/Visual3d_TransientManager.cxx:194: warning: taking address of temporary
../../../src/Visual3d/Visual3d_TransientManager.cxx: In static member function ‘static Standard_Boolean Visual3d_TransientManager::BeginAddDraw(const Handle_Visual3d_View&)’:
../../../src/Visual3d/Visual3d_TransientManager.cxx:232: warning: taking address of temporary
../../../src/Visual3d/Visual3d_TransientManager.cxx:234: warning: taking address of temporary
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextRender.cxx:81: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_addnames.cxx: In function ‘TStatus AddNamesetDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_addnames.cxx:79: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_TextureBox.cxx: In function ‘void MyGenTextureEXT(TextureID)’:
../../../src/OpenGl/OpenGl_TextureBox.cxx:472: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_TextureBox.cxx: In function ‘void MyBindTextureEXT(TextureID, int)’:
../../../src/OpenGl/OpenGl_TextureBox.cxx:511: warning: comparison between ‘enum texStatus’ and ‘enum texDataStatus’
../../../src/OpenGl/OpenGl_TextureBox.cxx:521: warning: comparison between ‘enum texStatus’ and ‘enum texDataStatus’
../../../src/OpenGl/OpenGl_TextureBox.cxx:538: warning: comparison between ‘enum texStatus’ and ‘enum texDataStatus’
../../../src/OpenGl/OpenGl_bintcol.cxx: In function ‘TStatus BackInteriorColourDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_bintcol.cxx:73: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_attri.cxx: In function ‘TStatus TsmSetAttri(Tint, ...)’:
../../../src/OpenGl/OpenGl_attri.cxx:648: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_bsurfprop.cxx: In function ‘TStatus BackSurfaceAreaPropertiesDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_bsurfprop.cxx:69: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_charexpan.cxx: In function ‘TStatus CharacterExpansionFactorDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_charexpan.cxx:69: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_charspace.cxx: In function ‘TStatus CharacterSpacingDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_charspace.cxx:69: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_degmodel.cxx: In function ‘TStatus DegenerateModelDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_degmodel.cxx:52: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_degmodel.cxx: In function ‘TStatus DegenerateModelPrint(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_degmodel.cxx:66: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_degmodel.cxx:72: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_degmodel.cxx:78: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_degmodel.cxx:84: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_degmodel.cxx:90: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_degmodel.cxx:96: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_degmodel.cxx:100: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_degmodel.cxx:104: warning: format not a string literal and no format arguments
../../../src/OpenGl/OpenGl_edgecol.cxx: In function ‘TStatus EdgeColourDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_edgecol.cxx:74: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_edgewid.cxx: In function ‘TStatus EdgeWidthDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_edgewid.cxx:72: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_graduatedtrihedron.cxx: In function ‘TStatus call_graduatedtrihedron_get(int, CALL_DEF_GRADUATEDTRIHEDRON*)’:
../../../src/OpenGl/OpenGl_graduatedtrihedron.cxx:459: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_graduatedtrihedron.cxx:460: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_graduatedtrihedron.cxx:461: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_indexpolygons.cxx: In function ‘TStatus PolygonIndicesDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_indexpolygons.cxx:852: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_intcol.cxx: In function ‘TStatus InteriorColourDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_intcol.cxx:77: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_lightstate.cxx: In function ‘TStatus LightSrcStateDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_lightstate.cxx:105: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_localtran3.cxx: In function ‘TStatus LocalTran3Delete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_localtran3.cxx:80: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_mrkr.cxx: In function ‘TStatus MarkerDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_mrkr.cxx:169: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_mrkrcol.cxx: In function ‘TStatus PolymarkerColourDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_mrkrcol.cxx:77: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_mrkrset.cxx: In function ‘TStatus MarkerSetDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_mrkrset.cxx:194: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_mrkrsize.cxx: In function ‘TStatus PolymarkerSizeDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_mrkrsize.cxx:71: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_polygon.cxx: In function ‘TStatus PolygonDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_polygon.cxx:992: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_polygonholes.cxx: In function ‘TStatus PolygonHolesDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_polygonholes.cxx:653: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_polygonoffset.cxx: In function ‘TStatus PolygonOffsetDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_polygonoffset.cxx:77: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_polyl.cxx: In function ‘TStatus PolylineDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_polyl.cxx:239: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_polylcol.cxx: In function ‘TStatus PolylineColourDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_polylcol.cxx:75: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_polylwid.cxx: In function ‘TStatus PolylineWidthDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_polylwid.cxx:73: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_qstrip.cxx: In function ‘TStatus QuadrangleDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_qstrip.cxx:923: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_remnames.cxx: In function ‘TStatus RemoveNamesetDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_remnames.cxx:80: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_subrvis.cxx: In function ‘void call_subr_enable_polygon_offset()’:
../../../src/OpenGl/OpenGl_subrvis.cxx:153: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_subrvis.cxx:156: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_surfprop.cxx: In function ‘TStatus SurfaceAreaPropertiesDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_surfprop.cxx:75: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_text.cxx: In function ‘TStatus TextDisplay(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_text.cxx:248: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_text.cxx:358: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_text.cxx: In function ‘TStatus TextDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_text.cxx:374: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_textcol.cxx: In function ‘TStatus TextColourDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_textcol.cxx:115: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_textcolsubtitle.cxx: In function ‘TStatus TextColourSubTitleDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_textcolsubtitle.cxx:112: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_textheight.cxx: In function ‘TStatus TextHeightDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_textheight.cxx:122: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_tmesh.cxx: In function ‘TStatus TriangleMeshDelete(TSM_ELEM_DATA, Tint, CMN_KEY**)’:
../../../src/OpenGl/OpenGl_tmesh.cxx:786: warning: deleting ‘void*’ is undefined
../../../src/OpenGl/OpenGl_tox.cxx: In function ‘Tint call_tox_open_display()’:
../../../src/OpenGl/OpenGl_tox.cxx:75: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_tox.cxx: In function ‘Tint call_tox_set_display(void*)’:
../../../src/OpenGl/OpenGl_tox.cxx:96: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_txgl.cxx: In function ‘Window TxglCreateWindow(Display*, Window, Tint, Tint, Tint, Tint, Tint, Tfloat, Tfloat, Tfloat)’:
../../../src/OpenGl/OpenGl_txgl.cxx:202: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_txgl.cxx:205: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_txgl.cxx:298: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_txgl.cxx:301: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_txgl.cxx: In function ‘Window TxglSetWindow(Display*, Window, __GLXcontextRec*)’:
../../../src/OpenGl/OpenGl_txgl.cxx:546: warning: deprecated conversion from string constant to ‘char*’
../../../src/OpenGl/OpenGl_txgl.cxx:549: warning: deprecated conversion from string constant to ‘char*’
../../../src/VrmlData/VrmlData_Scene.cxx: In function ‘void dumpNode(Standard_OStream&, const Handle_VrmlData_Node&, const TCollection_AsciiString&)’:
../../../src/VrmlData/VrmlData_Scene.cxx:1117: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’
../../../src/VrmlData/VrmlData_Scene.cxx:1117: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’
../../../src/VrmlData/VrmlData_Scene.cxx:1126: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’
../../../src/VrmlData/VrmlData_Scene.cxx:1126: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’
../../../src/IFSelect/IFSelect_SessionPilot.cxx: In member function ‘IFSelect_ReturnStatus IFSelect_SessionPilot::ReadScript(const char*)’:
../../../src/IFSelect/IFSelect_SessionPilot.cxx:225: warning: format not a string literal and no format arguments
../../../src/BOPTest/BOPTest_LowCommands.cxx: In function ‘void PrintState(Draw_Interpretor&, const TopAbs_State&)’:
../../../src/BOPTest/BOPTest_LowCommands.cxx:719: warning: format not a string literal and no format arguments
../../../src/BOPTest/BOPTest_LowCommands.cxx:722: warning: format not a string literal and no format arguments
../../../src/BOPTest/BOPTest_LowCommands.cxx:725: warning: format not a string literal and no format arguments
../../../src/BOPTest/BOPTest_LowCommands.cxx:728: warning: format not a string literal and no format arguments
../../../src/BOPTest/BOPTest_LowCommands.cxx:731: warning: format not a string literal and no format arguments

Meta-issue for OCE 0.2

This issue will be fixed when OCE 0.2.0 is released so that this milestone can get closed.

Convex defined in X.h conflicts with OCE Convex function used in TopoDS_Shape.lxx

Here is the content of the bugocc2.cxx file:


#include<iomanip>

#include<ImageUtility_X11Display.hxx>
#include<Prs3d_ShapeTool.hxx>

int main()
{
    return 0;
}

Compiling the program under MacOSX/SL/64 with

$g++ -I/Library/OpenCASCADE/6.5.0/inc/ -DHAVE_CONFIG_H bugocc2.cxx

results in the following trace from stderr:

In file included from /Library/OpenCASCADE/6.5.0/inc/Prs3d_ShapeTool.hxx:17,
                 from bugocc2.cxx:4:
/Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.hxx:139: error: expected unqualified-id before numeric constant
/Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.hxx:142: error: expected unqualified-id before numeric constant
In file included from /Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.lxx:5,
                 from /Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.hxx:244,
                 from /Library/OpenCASCADE/6.5.0/inc/Prs3d_ShapeTool.hxx:17,
                 from bugocc2.cxx:4:
/Library/OpenCASCADE/6.5.0/inc/TopoDS_TShape.hxx:91: error: expected unqualified-id before numeric constant
/Library/OpenCASCADE/6.5.0/inc/TopoDS_TShape.hxx:93: error: expected unqualified-id before numeric constant
In file included from /Library/OpenCASCADE/6.5.0/inc/TopoDS_TShape.hxx:135,
                 from /Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.lxx:5,
                 from /Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.hxx:244,
                 from /Library/OpenCASCADE/6.5.0/inc/Prs3d_ShapeTool.hxx:17,
                 from bugocc2.cxx:4:
/Library/OpenCASCADE/6.5.0/inc/TopoDS_TShape.lxx:167: error: expected unqualified-id before numeric constant
/Library/OpenCASCADE/6.5.0/inc/TopoDS_TShape.lxx:177: error: expected unqualified-id before numeric constant
In file included from /Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.hxx:244,
                 from /Library/OpenCASCADE/6.5.0/inc/Prs3d_ShapeTool.hxx:17,
                 from bugocc2.cxx:4:
/Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.lxx:248: error: expected unqualified-id before numeric constant
/Library/OpenCASCADE/6.5.0/inc/TopoDS_Shape.lxx:258: error: expected unqualified-id before numeric constant

Related lines of TopoDS_Shape.lxx deal with the use of a Convex function.
Note that switching the lines 2 and 3 to:

#include<Prs3d_ShapeTool.hxx>
#include<ImageUtility_X11Display.hxx>

makes the program compiles without any problem.

This issue comes from the fact that 'Convex' is defined as an integer in X.h:

$cd /usr/X11R6/include/X11
$grep 'Convex' *
X.h:#define Convex          2   /* wholly convex */

Sorting hxx headers in order to get the program compile can be a mess if many headers are included. As a consequence, this should be fixed. A possible fix would be to #undef Convex whereever it is used. From the oce/inc folder, running:

$grep 'Convex' *lxx

results in the output:

$ grep 'Convex' *lxx
TopoDS_Shape.lxx://function : Convex
TopoDS_Shape.lxx:inline Standard_Boolean TopoDS_Shape::Convex () const
TopoDS_Shape.lxx:  return myTShape->Convex();
TopoDS_Shape.lxx://function : Convex
TopoDS_Shape.lxx:inline void TopoDS_Shape::Convex (const Standard_Boolean B)
TopoDS_Shape.lxx:  myTShape->Convex(B);
TopoDS_TShape.lxx:#define TopoDS_TShape_Flags_Convex     (1<<6)
TopoDS_TShape.lxx://function : Convex
TopoDS_TShape.lxx:inline Standard_Boolean TopoDS_TShape::Convex() const
TopoDS_TShape.lxx:  return ((myFlags & TopoDS_TShape_Flags_Convex) != 0);
TopoDS_TShape.lxx://function : Convex
TopoDS_TShape.lxx:inline void TopoDS_TShape::Convex(const Standard_Boolean M)
TopoDS_TShape.lxx:  if (M) myFlags |=  TopoDS_TShape_Flags_Convex;
TopoDS_TShape.lxx:  else   myFlags &= ~TopoDS_TShape_Flags_Convex;
TopoDS_TVertex.lxx:  Convex(Standard_True)

TopoDS_Shape, TopoDS_TShape and TopoDS_TVertex can be impacted by this bug.

Issue with BRepBlend include files

The following simple c++ program:
#include<BRepBlend_AppFunc.hxx>
#include<BRepBlend_BlendTool.hxx>

does not compile:

$ gcc -I/Library/OCE/0.6.0dev/inc essai.cpp
In file included from /Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.hxx:114,
                 from essai.cpp:11:
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx: In static member function ‘static Standard_Real BRepBlend_BlendTool::Tolerance(const Handle_Adaptor3d_HVertex&, const Handle_Adaptor2d_HCurve2d&)’:
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx:29: error: invalid use of incomplete type ‘struct Adaptor3d_HVertex’
/Library/OCE/0.6.0dev/inc/Handle_Adaptor3d_HVertex.hxx:23: error: forward declaration of ‘struct Adaptor3d_HVertex’
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx: In static member function ‘static Standard_Real BRepBlend_BlendTool::Parameter(const Handle_Adaptor3d_HVertex&, const Handle_Adaptor2d_HCurve2d&)’:
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx:35: error: invalid use of incomplete type ‘struct Adaptor3d_HVertex’
/Library/OCE/0.6.0dev/inc/Handle_Adaptor3d_HVertex.hxx:23: error: forward declaration of ‘struct Adaptor3d_HVertex’
macbook-pro-de-thomas-paviot:Devel thomas$ gcc -I/Library/OCE/0.6.0dev/inc  -DHAVE_CONFIG essai.cpp -o po
In file included from /Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.hxx:114,
                 from essai.cpp:2:
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx: In static member function ‘static Standard_Real BRepBlend_BlendTool::Tolerance(const Handle_Adaptor3d_HVertex&, const Handle_Adaptor2d_HCurve2d&)’:
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx:29: error: invalid use of incomplete type ‘struct Adaptor3d_HVertex’
/Library/OCE/0.6.0dev/inc/Handle_Adaptor3d_HVertex.hxx:23: error: forward declaration of ‘struct Adaptor3d_HVertex’
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx: In static member function ‘static Standard_Real BRepBlend_BlendTool::Parameter(const Handle_Adaptor3d_HVertex&, const Handle_Adaptor2d_HCurve2d&)’:
/Library/OCE/0.6.0dev/inc/BRepBlend_BlendTool.lxx:35: error: invalid use of incomplete type ‘struct Adaptor3d_HVertex’
/Library/OCE/0.6.0dev/inc/Handle_Adaptor3d_HVertex.hxx:23: error: forward declaration of ‘struct Adaptor3d_HVertex’

Graphic3d_GraphicDevice::ShrIsDefined may leak

The function takes a (const char *) pointer by reference to be used as "out" parameter. Sometimes it is allocated , sometimes it is returned by getenv, sometimes it is cast from a constant string.
When it is allocated, nobody destroys it, as the function is supposed to return a constant buffer.

Also the function must be optimized to use char * , const char * in the appropriate places.

Other similar functions exists when a string setting is read from environment.

The workaround is to introduce a static constant char * buffer intead of using malloc.

Compile error on win7 64bit

Hi there,

to compile with 64bit msvc 2008

define UndefinedHandleAddress ((Standard_Transient *)0xfefdfefdfefd0000llu)

had to be changed back to
#define UndefinedHandleAddress ((Standard_Transient *)0xfefdfefdfefd0000)
in
Handle_Standard_Persistent.hxx
Handle_Standard_Transient.hxx

everything else works like a charm.
great work!

Meta-issue for OCE 0.5

This issue will be fixed when OCE 0.5.0 is released so that this milestone can get closed.

Over refined B-spline mesh

Here are a geometry and a program that show the B-spline mesher is still buggy in OCCT 6.5.1. The BRep is a sphere trimmed by a square made of 120 TopoDS_Edge. The program is run with the B-spline mesher and without (thanks to the attached patch). In both cases I give the number of triangles for the sphere as a reference (the optimal mesh), and for the sphere converted to GeomAbs_BSplineSurface.

Without the patch (B-spline mesher):
$ ./a.out
Number of triangles for the sphere geometry: 886
Number of triangles for the nurbs geometry: 46948

With the patch (generic mesher):
$ ./a.out
Number of triangles for the sphere geometry: 886
Number of triangles for the nurbs geometry: 1676

This geometry is not a pathological case as over refined trimming are more than common in real world. I think a mesh 28 time too refined should be considered as a bug.

See the patch, source code, geometry and OCC bug at http://www.opencascade.org/org/forum/thread_22070/

Would it be possible to include the patch in OCE until it's fixed in OCCT ?

Path not found under OSX

Running DRAWEXE raises the following error:

$ ./DRAWEXE 
couldn't read file "/Library/OCE/0.6.0dev//src/DrawResources/DrawDefault": no such file or directory
% % pload ALL
Failed to load plugin: File /Library/OCE/0.6.0dev//src/DrawResources/DrawPlugin not found

The correct path should be (according to my installation)

/Library/OCE/0.6.0dev/share/oce-0.6.0-dev/src

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.