Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
192 Views

ERROR: ld.so: object ''libVT.so' from LD_PRELOAD cannot be preloaded: ignored.

Jump to solution

Dear all,

I am using Intel Parallel Studio XE 2017.6 in order to trace a HYBRID OPENMP/MPI application.

I use:
```mpiexec.hydra -trace "libVT.so libmpi.so" python ....py args```
and although the application runs fine and an .stf file is created with reasonable results
the log file of my application's execution gives me the error:

ERROR: ld.so: object ''libVT.so' from LD_PRELOAD cannot be preloaded: ignored.

I would expect this error to be resolved by using :
export LD_PRELOAD=.../libVT.so

however it still persists.

In case where I remove "libVT.so libmpi.so" from the command above I get:

ERROR: ld.so: object ''libVT.so' from LD_PRELOAD cannot be preloaded: ignored.
python: symbol lookup error: /rdsgpfs/general/apps/intel/2017.6/itac/2017.4.034/intel64/slib/libVT.so: undefined symbol: PMPI_Initialized

and my application terminates without success.
Does that mean that even if it complains for faulty preloading, it still uses that? (I guess yes.)
Should I trust the results I get for the `succesfull` however `complaining` execution?

I will be more than happy to help with more info if needed.

Thank you in advance,
George Bisbas


 

0 Kudos

Accepted Solutions
Highlighted
Employee
192 Views

Hello George,

Jump to solution

Hello George,

If .stf file is created it means that ITAC worked just fine and was able to collect trace.

I would guess that together with `-trace "libVT.so libmpi.so"` you exported `LD_PRELOAD=.../libVT.so`. In order to collect trace you only need to use one of this options. 

So, I think  `-trace "libVT.so libmpi.so"` worked and  `LD_PRELOAD=.../libVT.so` did not (and that's why preload error is in logs).

You can fix this error like this `export LD_PRELOAD=libVT.so:libmpi.so` (also no need to provide full path to libs if you sourced itacvars.sh and mpivars.sh). libmpi.so is needed in LD_PRELOAD because you run python application.

Anyway, I recommend using `-trace "libVT.so libmpi.so"`, no need to set additional environment variables.

 

Best regards,

Marat

 

 

View solution in original post

0 Kudos
3 Replies
Highlighted
Beginner
192 Views

The same happens if I use a

Jump to solution

The same happens if I use a toy mpi-hello-world program so I guess it is not specific to my application.

0 Kudos
Highlighted
Employee
193 Views

Hello George,

Jump to solution

Hello George,

If .stf file is created it means that ITAC worked just fine and was able to collect trace.

I would guess that together with `-trace "libVT.so libmpi.so"` you exported `LD_PRELOAD=.../libVT.so`. In order to collect trace you only need to use one of this options. 

So, I think  `-trace "libVT.so libmpi.so"` worked and  `LD_PRELOAD=.../libVT.so` did not (and that's why preload error is in logs).

You can fix this error like this `export LD_PRELOAD=libVT.so:libmpi.so` (also no need to provide full path to libs if you sourced itacvars.sh and mpivars.sh). libmpi.so is needed in LD_PRELOAD because you run python application.

Anyway, I recommend using `-trace "libVT.so libmpi.so"`, no need to set additional environment variables.

 

Best regards,

Marat

 

 

View solution in original post

0 Kudos
Highlighted
Beginner
192 Views

Thank you very much for the

Jump to solution

Thank you very much for the help Marat.
Problem solved.
Best,
George Bisbas

0 Kudos