Running on AIX
Moderators: silvia, selimgunay, Moderators
Running on AIX
Hi
I am looking to run Opensees on a high performance computer that runs on Aix 5.3. I have been in contact with the person who runs the computer, and was wondering if it was possible to compile OpenSees for this operating system. The compiler that is available is xlc.
Also what are the parallel computing possibilities for OpenSees
Thanks
Liam
I am looking to run Opensees on a high performance computer that runs on Aix 5.3. I have been in contact with the person who runs the computer, and was wondering if it was possible to compile OpenSees for this operating system. The compiler that is available is xlc.
Also what are the parallel computing possibilities for OpenSees
Thanks
Liam
Errors in compilation
Hi
I get the following errors when trying to compile on aix system using xlc
"TclDatabaseCommands.cpp", line 90.39: 1540-0256 (S) A parameter of type
"extern "C" int (*)(void *, Tcl_Interp *, int, const char **)" cannot be
initialized with an expression of type "int (ClientData, Tcl_Interp *,
int, char **)".
"TclDatabaseCommands.cpp", line 90.39: 1540-1205 (I) The error occurred
while converting to parameter 3 of "Tcl_CreateCommand(Tcl_Interp *,
const char *, extern "C" int (*)(void *, Tcl_Interp *, int, const char
**), ClientData, extern "C" void (*)(void *))".
"TclDatabaseCommands.cpp", line 92.42: 1540-0256 (S) A parameter of type
"extern "C" int (*)(void *, Tcl_Interp *, int, const char **)" cannot be
initialized with an expression of type "int (ClientData, Tcl_Interp *,
int, char **)".
"TclDatabaseCommands.cpp", line 92.42: 1540-1205 (I) The error occurred
while converting to parameter 3 of "Tcl_CreateCommand(Tcl_Interp *,
const char *, extern "C" int (*)(void *, Tcl_Interp *, int, const char
**), ClientData, extern "C" void (*)(void *))".
make[1]: *** [TclDatabaseCommands.o] Error 1
make[1]: Leaving directory `/people/lim/OpenSees/SRC/database'
make: *** [all] Error 2
make: The error code from the last command is 2.
Could you give me any insight as to where these errors are coming from
Thanks
Liam
I get the following errors when trying to compile on aix system using xlc
"TclDatabaseCommands.cpp", line 90.39: 1540-0256 (S) A parameter of type
"extern "C" int (*)(void *, Tcl_Interp *, int, const char **)" cannot be
initialized with an expression of type "int (ClientData, Tcl_Interp *,
int, char **)".
"TclDatabaseCommands.cpp", line 90.39: 1540-1205 (I) The error occurred
while converting to parameter 3 of "Tcl_CreateCommand(Tcl_Interp *,
const char *, extern "C" int (*)(void *, Tcl_Interp *, int, const char
**), ClientData, extern "C" void (*)(void *))".
"TclDatabaseCommands.cpp", line 92.42: 1540-0256 (S) A parameter of type
"extern "C" int (*)(void *, Tcl_Interp *, int, const char **)" cannot be
initialized with an expression of type "int (ClientData, Tcl_Interp *,
int, char **)".
"TclDatabaseCommands.cpp", line 92.42: 1540-1205 (I) The error occurred
while converting to parameter 3 of "Tcl_CreateCommand(Tcl_Interp *,
const char *, extern "C" int (*)(void *, Tcl_Interp *, int, const char
**), ClientData, extern "C" void (*)(void *))".
make[1]: *** [TclDatabaseCommands.o] Error 1
make[1]: Leaving directory `/people/lim/OpenSees/SRC/database'
make: *** [all] Error 2
make: The error code from the last command is 2.
Could you give me any insight as to where these errors are coming from
Thanks
Liam
Compiling on aix
Hi Frank
We were just building the libraries before and the fix you gave allows these to be built ok. But when we try to build opensees we get the following error
[lim@hpc]> /usr/local/bin/make OpenSees
Building OpenSees Program ..
make[1]: Entering directory `/people/lim/OpenSees/SRC/tcl'
make[1]: Nothing to be done for `tcl'.
make[1]: Leaving directory `/people/lim/OpenSees/SRC/tcl'
make[1]: Entering directory `/people/lim/OpenSees/SRC/modelbuilder/tcl'
make[2]: Entering directory `/people/lim/OpenSees/SRC/tcl'
make[2]: Nothing to be done for `tcl'.
make[2]: Leaving directory `/people/lim/OpenSees/SRC/tcl'
ld: 0711-317 ERROR: Undefined symbol: beam2d03::getDamp()
ld: 0711-317 ERROR: Undefined symbol: beam2d03::getMass()
ld: 0711-317 ERROR: Undefined symbol: .hard_1__
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
make[1]: *** [tcl] Error 8
make[1]: Leaving directory `/people/lim/OpenSees/SRC/modelbuilder/tcl'
make: *** [tcl] Error 2
Looking at the code in beam2d03 , i think the beam2d03.h has references
to getDamp and getMass.
This is as far as we can work out
Any suggestions for this
thanks again
liam
We were just building the libraries before and the fix you gave allows these to be built ok. But when we try to build opensees we get the following error
[lim@hpc]> /usr/local/bin/make OpenSees
Building OpenSees Program ..
make[1]: Entering directory `/people/lim/OpenSees/SRC/tcl'
make[1]: Nothing to be done for `tcl'.
make[1]: Leaving directory `/people/lim/OpenSees/SRC/tcl'
make[1]: Entering directory `/people/lim/OpenSees/SRC/modelbuilder/tcl'
make[2]: Entering directory `/people/lim/OpenSees/SRC/tcl'
make[2]: Nothing to be done for `tcl'.
make[2]: Leaving directory `/people/lim/OpenSees/SRC/tcl'
ld: 0711-317 ERROR: Undefined symbol: beam2d03::getDamp()
ld: 0711-317 ERROR: Undefined symbol: beam2d03::getMass()
ld: 0711-317 ERROR: Undefined symbol: .hard_1__
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
make[1]: *** [tcl] Error 8
make[1]: Leaving directory `/people/lim/OpenSees/SRC/modelbuilder/tcl'
make: *** [tcl] Error 2
Looking at the code in beam2d03 , i think the beam2d03.h has references
to getDamp and getMass.
This is as far as we can work out
Any suggestions for this
thanks again
liam
i have checked in a fix for the beam2d03 into the cvs repository .. as for trhe hard that's a compiler thing .. you can either remove the material (there is another Hardening material that is used anyway; this one is not documented!) .. to remove it make the invokeSubroutine method
in /OpenSees/SRC/material/uniaxial/FedeasMaterial.cpp look like the rest of those fedeas materials.
#ifdef _WIN32
hard_1__(data, hstv, &hstv[numHstv], &epsilonP, &sigmaP, &dEpsilon,
&sigma, &tangent, &ist);
#else
opserr << "FedeasMaterial::invokeSubroutine -- Bond1 subroutine not yet linked\n";
#endif
if you want to keep it fo to the fedeas subdirectory and look at the Hard1.o file to see what name it gave to the fortran procedure .. then go back to above file and make the name the same .. it's either the number of underscores or make it all caps depending on the fortran compiler.
in /OpenSees/SRC/material/uniaxial/FedeasMaterial.cpp look like the rest of those fedeas materials.
#ifdef _WIN32
hard_1__(data, hstv, &hstv[numHstv], &epsilonP, &sigmaP, &dEpsilon,
&sigma, &tangent, &ist);
#else
opserr << "FedeasMaterial::invokeSubroutine -- Bond1 subroutine not yet linked\n";
#endif
if you want to keep it fo to the fedeas subdirectory and look at the Hard1.o file to see what name it gave to the fortran procedure .. then go back to above file and make the name the same .. it's either the number of underscores or make it all caps depending on the fortran compiler.
Hi
The version of OpenSees has been compiled ok for version 1.6.2.c. Thanks for your help.
I have another question. I have run a model using an old version of OpenSees on Windows (version 1.6.0 that was compiled by boris) and it runs ok. If i run the same model on the version i have compiled for aix the following error is given:
Can't expand MemType 0: jcol 2519
WARNING SuperLU::solve(void)- Error 6.47212e+07 returned in factorization dgstrf()
WARNING KrylovNewton::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor 1
OpenSees > analyze failed, returned: -3 error flag
I have no idea why this is occuring and was wondering if you could give me some help with this
Liam
The version of OpenSees has been compiled ok for version 1.6.2.c. Thanks for your help.
I have another question. I have run a model using an old version of OpenSees on Windows (version 1.6.0 that was compiled by boris) and it runs ok. If i run the same model on the version i have compiled for aix the following error is given:
Can't expand MemType 0: jcol 2519
WARNING SuperLU::solve(void)- Error 6.47212e+07 returned in factorization dgstrf()
WARNING KrylovNewton::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor 1
OpenSees > analyze failed, returned: -3 error flag
I have no idea why this is occuring and was wondering if you could give me some help with this
Liam