Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics
Open CASCADEShowroomGet it!Developer CornerSupport and ProductsAbout us
Technical overview
Areas of use
Advantages
FAQ
Screenshots
Shape factory
Shape gallery
Demonstrations
What's new
System requirements
Download Center
Public license
Documentation
Getting started
Forums
Open Source community
Training and e-learning
A-la Carte Support
Value-added software
Complementary Components
Customer Corner
Company Profile
Marketing Materials
Contact Us
News
Home / Developer Corner / Forums / Installation and building / code error detected bye openSUSE BuildService

code error detected bye openSUSE BuildService

code error detected bye openSUSE BuildService
Andrea 2008/10/06 13:48
hi, the openSUSE buildservice stop suse Factory rpm publishing because of that:


I: Expression compares a char* pointer with a string literal.
Usually a strcmp() was intended by the programmer
E: OpenCASCADE stringcompare ../../../src/TestTopOpeDraw/TestTopOpeDraw_OtherCommands.cxx: 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115

any ideas how can i fix it?

thanks
Andrea
Denis Barbier 2008/10/06 17:07
In lines 101-115 of ros/src/TestTopOpeDraw/TestTopOpeDraw_OtherCommands.cxx,
all occurrences of
if(a[iloc+1] == "colorName")
have to be replaced by
if(strcmp(a[iloc+1], "colorName") == 0)
Alternatively you can add --disable-draw configure flag to not build DRAWEXE.

Are those build logs publically available?
Andrea 2008/10/06 17:21
you need to register, but yes is publically available:

go there:

https://build.opensuse.org/package/show?package=OpenCascade&project=home%3Aanubisg1

and click on "build-log" f the suse version you whant to see (both i586 and x86_64)
Denis Barbier 2008/10/06 18:53
Waow, that's great, thanks for the hint!
Andrea 2008/10/09 14:49
hi, the error i wrote has been fixed, but i receive that one now:

I: Program is using implicit definitions of special functions.
these functions need to use their correct prototypes to allow
the lightweight buffer overflow checking to work.
- Implicit memory/string functions need #include <string.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *read* functions need #include <unistd.h>.
- Implicit *recv* functions need #include <sys/socket.h>.
E: OpenCASCADE implicit-fortify-decl ../../../drv/ExprIntrp/lex.ExprIntrp.c: 2618

where have i to exactly add that?

#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/socket.h>

?? thanks
Denis Barbier 2008/10/09 23:15
It looks like a false positive, ExprIntrp is seen as a special function because it contains
'print' characters ;-)
Here is a patch. After applying this patch, run these commands:

cd ros/src/ExprIntrp
bison -d -p ExprIntrp -o ExprIntrp.tab.c ExprIntrp.yacc
flex -L -8 -Cf -Cr -P ExprIntrp -o lex.ExprIntrp.c ExprIntrp.lex
mv ExprIntrp.tab.h ../../inc/
cp ExprIntrp.tab.c lex.ExprIntrp.c ../../drv/ExprIntrp/

I tried to reproduce the same options originally used, maybe there are better ways.

--- opencascade.orig/ros/src/ExprIntrp/ExprIntrp.yacc
+++ opencascade/ros/src/ExprIntrp/ExprIntrp.yacc
@@ -42,6 +42,10 @@
extern void ExprIntrp_VariableIdentifier();
extern void ExprIntrp_Productor();
extern void ExprIntrp_EndOfEqual();
+
+int yylex(void);
+void yyerror(char const *s);
+
%}

%token SUMOP MINUSOP DIVIDEOP EXPOP MULTOP PARENTHESIS BRACKET ENDPARENTHESIS ENDBRACKET VALUE IDENTIFIER COMMA DIFFERENTIAL DERIVATE DERIVKEY ASSIGNOP DEASSIGNKEY EQUALOP RELSEPARATOR CONSTKEY SUMKEY PRODKEY


Other implicit declarations are fixed by the following patch:

Index: opencascade/ros/src/OpenGl/OpenGl_tXfm.c
===================================================================
--- opencascade.orig/ros/src/OpenGl/OpenGl_tXfm.c
+++ opencascade/ros/src/OpenGl/OpenGl_tXfm.c
@@ -64,6 +64,7 @@
#include <X11/keysym.h>

#include <GL/glx.h>
+#include <GL/glu.h>

#include <OpenGl_tgl_all.h>
#include <OpenGl_tXfm.h>
@@ -79,6 +80,7 @@
#include <OpenGl_cmn_varargs.h>
#include <OpenGl_tsm.h>
#include <OpenGl_tgl_funcs.h>
+#include <OpenGl_telem_attri.h>
/*----------------------------------------------------------------------*/
/*
* Constantes
Index: opencascade/ros/src/OpenGl/OpenGl_telem_util.h
===================================================================
--- opencascade.orig/ros/src/OpenGl/OpenGl_telem_util.h
+++ opencascade/ros/src/OpenGl/OpenGl_telem_util.h
@@ -155,6 +155,9 @@
Tfloat *xr, Tfloat *yr);
extern TStatus TelUnProjectionRaster( Tint ws, Tint xr, Tint yr,
Tfloat *x, Tfloat *y, Tfloat *z);
+extern TStatus TelUnProjectionRasterWithRay( Tint ws, Tint xr, Tint yr,
+ Tfloat *x, Tfloat *y, Tfloat *z,
+ Tfloat *dx, Tfloat *dy, Tfloat *dz)
extern Tint TelBackBufferRestored(void);
extern void TelSetBackBufferRestored( Tint );
extern void TelEnable( Tint );
Andrea 2008/10/11 00:23
thanks a lot... once buildservice will be back online ( http://news.opensuse.org/2008/10/10/power-outage-in-area-where-most-opensuse-servers-are-located/ ) i'll test and report if any other error will be reported (hope not)
Andrea 2008/10/13 15:33
no other errors detected, thanks a lot
 
 
Latest news
  • Open CASCADE Technology 6.7.0 is available for download!
  • Open CASCADE Technology 6.6.0 is available for download!
  • Open CASCADE Technology 6.5.5 is available for download!

  • © OPEN CASCADE 2000 - 2014  |  Search  |  Contacts   |  Site map