Help - Problem compiling OpenSees 2.2.2 in Ubuntu 10.04 LTS

For developers writing C++, Fortran, Java, code who have questions or comments to make.

Moderators: silvia, selimgunay, Moderators

aneeman
Posts: 90
Joined: Thu Jan 12, 2006 1:13 pm
Contact:

Re: Help - Problem compiling OpenSees 2.2.2 in Ubuntu 10.04

Post by aneeman »

below is what my tcl install looks like (it gets installed in /usr/lib and /usr/include)
You could make sure that it is installed there and that the permissions look ok.

More hints
try

make libs

does that run successfully to completion? If so it is definately a linking error.


alisanee@cole:/usr/lib$ ls -al *tcl8.4*
-rw-r--r-- 1 root root 1500474 2009-11-06 07:17 libtcl8.4.a
lrwxrwxrwx 1 root root 14 2011-04-18 13:45 libtcl8.4.so -> libtcl8.4.so.0
-rw-r--r-- 1 root root 809456 2009-11-06 07:17 libtcl8.4.so.0

alisanee@cole:/usr/include$ ls -al *tcl8.4*
total 444
drwxr-xr-x 4 root root 4096 2011-04-18 13:45 .
drwxr-xr-x 87 root root 16384 2011-04-22 12:32 ..
-rw-r--r-- 1 root root 165478 2009-11-06 07:16 tclDecls.h
-rw-r--r-- 1 root root 85077 2009-11-06 07:16 tcl.h
-rw-r--r-- 1 root root 6266 2009-11-06 07:16 tclPlatDecls.h
drwxr-xr-x 5 root root 4096 2011-04-18 13:45 tcl-private
-rw-r--r-- 1 root root 90179 2009-11-06 07:34 tkDecls.h
-rw-r--r-- 1 root root 56805 2009-11-06 07:34 tk.h
-rw-r--r-- 1 root root 10202 2009-11-06 07:34 tkPlatDecls.h
drwxr-xr-x 5 root root 4096 2011-04-18 13:45 tk-private
aneeman
Posts: 90
Joined: Thu Jan 12, 2006 1:13 pm
Contact:

Re: Help - Problem compiling OpenSees 2.2.2 in Ubuntu 10.04

Post by aneeman »

Hi,

to test, try running

make libs

If that is unsuccessful then you are still not able to access the tcl header files.

Here's where mine are found:

alisanee@cole:/usr/include$ ls *tcl8.4*
tclDecls.h tclPlatDecls.h tkDecls.h tkPlatDecls.h
tcl.h tcl-private tk.h tk-private

If you can successfully run

make libs

but not

make

it means that you are not able to access the tcl libraries.

Here's my Makefile.def path declaration:

TCL_LIBRARY = /usr/lib/libtcl8.4.a

and the contents of /usr/lib

alisanee@cole:/usr/lib$ ls *tcl8.4*
libtcl8.4.a libtcl8.4.so libtcl8.4.so.0

tcl8.4:
tclConfig.sh

hope this helps!
hsafti
Posts: 68
Joined: Thu Apr 22, 2010 5:38 am
Location: Braunschweig

Re: Help - Problem compiling OpenSees 2.2.2 in Ubuntu 10.04

Post by hsafti »

Thanks a lot for your reply ..... I found tcl.h to be in
/usr/include/tcl8.4

so I changed the TCL_INCLUDES to:

TCL_INCLUDES = -I/usr/local/tcl/include -I/usr/local/tk/include -I/usr/liblibtcl8.4.a -I/usr/include/tcl8.4

and Hurah .... A different error :(

After a good deal of compile time, a couple of warnings appear then the process terminates with the message:

/home/numubuntu/OpenSees/SRC/modelbuilder/tcl/TclModelBuilder.cpp: In function ‘int TclCommand_Package(void*, Tcl_Interp*, int, const char**)’:
/home/numubuntu/OpenSees/SRC/modelbuilder/tcl/TclModelBuilder.cpp:3498: warning: unused variable ‘result’
/home/numubuntu/OpenSees/SRC/modelbuilder/tcl/TclModelBuilder.cpp:3488: warning: unused variable ‘funcName’
commands.cpp: In function ‘int OPS_SourceCmd(void*, Tcl_Interp*, int, Tcl_Obj* const*)’:
commands.cpp:924: error: ‘Tcl_FSEvalFileEx’ was not declared in this scope
commands.cpp: In function ‘int sensitivityAlgorithm(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:998: warning: unused variable ‘withRespectToRVs’
commands.cpp: In function ‘int specifySOE(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:2594: warning: unused variable ‘result’
commands.cpp: In function ‘int specifyIntegrator(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:3778: warning: deprecated conversion from string constant to ‘char*’
commands.cpp:3868: warning: deprecated conversion from string constant to ‘char*’
commands.cpp:4945: warning: unused variable ‘result’
commands.cpp: In function ‘int eigenAnalysis(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:5380: warning: unused variable ‘npRow’
commands.cpp:5381: warning: unused variable ‘npCol’
commands.cpp: In function ‘int removeObject(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:5696: warning: unused variable ‘nodTag’
commands.cpp: In function ‘int sensNodeDisp(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:6367: warning: deprecated conversion from string constant to ‘char*’
commands.cpp: In function ‘int sensNodeVel(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:6416: warning: deprecated conversion from string constant to ‘char*’
commands.cpp: In function ‘int sensNodeAccel(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:6465: warning: deprecated conversion from string constant to ‘char*’
commands.cpp: In function ‘int sensSectionForce(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:6514: warning: deprecated conversion from string constant to ‘char*’
commands.cpp:6571: warning: deprecated conversion from string constant to ‘char*’
commands.cpp: In function ‘int sectionForce(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:6595: warning: deprecated conversion from string constant to ‘char*’
commands.cpp:6639: warning: deprecated conversion from string constant to ‘char*’
commands.cpp: In function ‘int sectionDeformation(void*, Tcl_Interp*, int, const char**)’:
commands.cpp:6663: warning: deprecated conversion from string constant to ‘char*’
commands.cpp:6707: warning: deprecated conversion from string constant to ‘char*’
commands.cpp: At global scope:
commands.cpp:2241: warning: ‘theExternalAlgorithmCommands’ defined but not used
make[2]: *** [commands.o] Error 1
make[2]: Leaving directory `/home/numubuntu/OpenSees/SRC/tcl'
make[1]: *** [tk] Error 2
make[1]: Leaving directory `/home/numubuntu/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
Hisham El Safti
hsafti
Posts: 68
Joined: Thu Apr 22, 2010 5:38 am
Location: Braunschweig

Re: Help - Problem compiling OpenSees 2.2.2 in Ubuntu 10.04

Post by hsafti »

Dear all,

I managed to edit the Makefile.def and got the same error as in the first post. I managed to successfully build OpenSees by tagging line #94 of the AMDnumberer.cpp as a comment.

I wish to know how to include the AMD library in the DIRS variable (as Prof. ja_abell stated earlier in this post). Because I have:

DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(AMDdir) \
$(SUPERLUdir) $(ARPACKdir) $(UMFPACKdir) $(SRCdir) $(METISdir)

Or else how is it possible to solve this problem:

/home/jose/lib/libOpenSees.a(AMDNumberer.o): In function `AMD::number(Graph&, int)':
AMDNumberer.cpp:(.text+0x191): undefined reference to `amd_order'
collect2: ld returned 1 exit status
make[1]: *** [tcl] Error 1
make[1]: Leaving directory `/home/jose/OpenSEES/SRC/modelbuilder/tcl'
make: *** [all] Error 2

I would, also, highly appreciate tips on building the parallel version.

Best regards,
Hisham El Safti
Hisham El Safti
Post Reply