Hi,

today I tried to track down the error which I reported for
my small program (running on Solaris 10 Sparc).

tyr hello_1 121 mpiexec -np 2 a.out 
Process 1 of 2 running on tyr.informatik.hs-fulda.de
Process 0 of 2 running on tyr.informatik.hs-fulda.de
Now 1 slave tasks are sending greetings.
ld.so.1: a.out: fatal: relocation error:
  file /usr/local/openmpi-1.8.2_64_cc/lib64/openmpi/mca_pml_ob1.so:
  symbol alloca: referenced symbol not found
...


"alloca" is available.

tyr hello_1 122 more x.c 
#include <stdio.h>
#include <stdlib.h>
#include <alloca.h>

int main (void)
{
  int *alloca_buffer;
  alloca_buffer = (int *) alloca (sizeof (int));
  *alloca_buffer = 1234;
  printf ("value: %d\n", *alloca_buffer);
  return EXIT_SUCCESS;
}
tyr hello_1 123 cc x.c 
tyr hello_1 124 a.out
value: 1234
tyr hello_1 125 


I get the following output if I run my original program in "dbx".

...
RTC: Running program...
Write to unallocated (wua) on thread 1:
Attempting to write 1 byte at address 0xffffffff79f04000
t@1 (l@1) stopped in _readdir at 0xffffffff56574da0
0xffffffff56574da0: _readdir+0x0064:    call     
_PROCEDURE_LINKAGE_TABLE_+0x2380 [PLT] ! 0xffffffff56742a80
Current function is find_dyn_components
  397                       if (0 != lt_dlforeachfile(dir, save_filename, 
NULL)) 
{
(dbx) 


Hopefully the above output helps to fix the error. Can I provide
anything else? Thank you very much for any help in advance.


Kind regards

Siegmar

Reply via email to