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

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

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

 

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

Best Reply

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

 

 

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

Leave a Comment

Please sign in to add a comment. Not a member? Join today