My executable file's problem

For our software's new version, I rebuild the project on my Solaris 8 OS.But when I got the executable file, I can't run it. When inputting the "./filename", nothing was happied.I used the "file" command, I got the message: "ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped" as our last version executable file. I tried to dbx it, but when I put the command "run", another error message show: "t@1 (l@1) signal SEGV (no mapping at the fault address) in Standard_theForMapOfTypes::Init at 0x26ac9f0". I'm very puzzle now. Who can give me a suggestion, Thank you!

My project is writed by C/Fortran/C++ code.My cc version is 5.8, my CC version is 5.8 too, my f77 version is 8.2, my dbx version is 7.5. The biggest different between the new and old version is our new code use STL.

[840 byte] By [hupo1982a] at [2007-11-27 10:40:59]
# 1

Is Standard_theForMapOfTypes::Init method called from your code? Can you obtain stack trace from dbx at the moment of crash (with "where -l" command)?

MaximKartasheva at 2007-7-28 19:10:04 > top of Java-index,Development Tools,Solaris and Linux Development Tools...
# 2

No, we don't have the class named Standard_theForMapOfTypes in our code

hupo1982a at 2007-7-28 19:10:04 > top of Java-index,Development Tools,Solaris and Linux Development Tools...
# 3

I fixed it! The class named Standard_theForMapOfTypes is in a static link library which our project linked to it.I remove this library from our project , and everything is OK!

Thank you for your help!

hupo1982a at 2007-7-28 19:10:04 > top of Java-index,Development Tools,Solaris and Linux Development Tools...
# 4

Hi

In dbx, what does the "where" command tell you? Can you navigate the call stack to see meaningful code?

Otherwise, try this:

Run ldd on your application to get a list of all of the dynamic libraries that it uses.

Run

nm -C [filename] | grep Standard_theForMapOfTypes::Init | grep -v " U "

where filename is the app itself or the dynamic libraries that it uses. Repeat until you find the file where the function is defined.

Paul

Paul_Floyda at 2007-7-28 19:10:04 > top of Java-index,Development Tools,Solaris and Linux Development Tools...