Hi,
I am trying to compile OpenSees on a HP Workstation C3000, Unix V11. I have updated the makefile.def, however, the following errors appear during the compile process:
Error 212: "TclDatabaseCommands.cpp", line 77 # Argument type 'int (void *,Tcl_Interp *,int,char **)' does not match expected parameter
type 'int (*)(void *,Tcl_Interp *,int,const char **)'.
Tcl_CreateCommand(interp, "save", save,
^^^^
Error 212: "TclDatabaseCommands.cpp", line 79 # Argument type 'int (void *,Tcl_Interp *,int,char **)' does not match expected parameter
type 'int (*)(void *,Tcl_Interp *,int,const char **)'.
Tcl_CreateCommand(interp, "restore", restore,
^^^^^^^
Does anybody know what I am doing wrong?
I have installed ActiveTcl8.4.7.
Thank you very much for your input,
Christoph
Compiling OpenSees 1.6 HPC3000 UX11
Moderators: silvia, selimgunay, Moderators
Compiling OpenSees 1.6 HPC3000 UX11.10
Hi,
thanks a lot. I added the flag and I could move one step forward. However, now several other errors and warnings occur during the compile process:
1. in the file "f2c.h" (OpenSees/SRC/matrix/f2c.h I had to remove the lines 291-293 and 295-297:
#ifndef _KAI
extern double erf(double) throw();
#endif
#ifndef _KAI
extern double erfc(double) throw();
#endif
because there was a conflict with the definitions of "extern double erf" and "extern double erfc(double)" given in "math.h". After I removed these line I was able to continue with the compilation, however, I have no idea how this effects the program.
2. many warning such as
Warning 652: "/root/OpenSees/SRC/material/nD/ElasticIsotropicAxiSymm.h", line 46 # Virtual function "NDMaterial
*ElasticIsotropicMaterial::getCopy(const char *)" is hidden by "NDMaterial *ElasticIsotropicAxiSymm::getCopy()"; did you forget to override it?
class ElasticIsotropicAxiSymm : public ElasticIsotropicMaterial
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
appear.
3. The compilation process stopped when the following error messages occured:
TclModelBuilderNDMaterialCommand.cpp -o TclModelBuilderNDMaterialCommand.o
Error 399: "/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 248 # Cannot use the :: operator with incomplete class EPState
["/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 44].
const EPState & EPState::operator=(const EPState &rhs ); //Overloading assignme
^^^^^^^^^
Error 187: "/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 248 # Referenced object 'operator =' is not a member of class EPState
["/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 44].
const EPState & EPState::operator=(const EPState &rhs ); //Overloading assignment
^
Error 399: "/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 248 # Cannot use the :: operator with incomplete class EPState
["/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 44].
const EPState & EPState::operator=(const EPState &rhs ); //Overloading assignment
^
4. when I try to recompile the program warnings such as
Unknown target Steel2.o, try: make help
appear before the errors described in 3 stop the compilation process.
I am grateful for any advice and help.
Regards,
Christoph
thanks a lot. I added the flag and I could move one step forward. However, now several other errors and warnings occur during the compile process:
1. in the file "f2c.h" (OpenSees/SRC/matrix/f2c.h I had to remove the lines 291-293 and 295-297:
#ifndef _KAI
extern double erf(double) throw();
#endif
#ifndef _KAI
extern double erfc(double) throw();
#endif
because there was a conflict with the definitions of "extern double erf" and "extern double erfc(double)" given in "math.h". After I removed these line I was able to continue with the compilation, however, I have no idea how this effects the program.
2. many warning such as
Warning 652: "/root/OpenSees/SRC/material/nD/ElasticIsotropicAxiSymm.h", line 46 # Virtual function "NDMaterial
*ElasticIsotropicMaterial::getCopy(const char *)" is hidden by "NDMaterial *ElasticIsotropicAxiSymm::getCopy()"; did you forget to override it?
class ElasticIsotropicAxiSymm : public ElasticIsotropicMaterial
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
appear.
3. The compilation process stopped when the following error messages occured:
TclModelBuilderNDMaterialCommand.cpp -o TclModelBuilderNDMaterialCommand.o
Error 399: "/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 248 # Cannot use the :: operator with incomplete class EPState
["/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 44].
const EPState & EPState::operator=(const EPState &rhs ); //Overloading assignme
^^^^^^^^^
Error 187: "/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 248 # Referenced object 'operator =' is not a member of class EPState
["/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 44].
const EPState & EPState::operator=(const EPState &rhs ); //Overloading assignment
^
Error 399: "/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 248 # Cannot use the :: operator with incomplete class EPState
["/root/OpenSees/SRC/material/nD/Template3Dep/EPState.h", line 44].
const EPState & EPState::operator=(const EPState &rhs ); //Overloading assignment
^
4. when I try to recompile the program warnings such as
Unknown target Steel2.o, try: make help
appear before the errors described in 3 stop the compilation process.
I am grateful for any advice and help.
Regards,
Christoph
1. the compiler you are using might be the KAI compiler or one similar in which case this function is defined in math.h .. so you are fine.
2. you can ignore these warning messages.
3. i have updated the EPSState.h file in the repository, not quite sure why they defined the overload operation the way the did. hopefully it will compile now!
4. probably due to the fact that it didn't get through the compilation, so not all .o files were created.
2. you can ignore these warning messages.
3. i have updated the EPSState.h file in the repository, not quite sure why they defined the overload operation the way the did. hopefully it will compile now!
4. probably due to the fact that it didn't get through the compilation, so not all .o files were created.