Pelegant error: passed size is not equal to expected size for SDDS_DATASET structure

Moderators: cyao, soliday

Post Reply
duanz
Posts: 51
Joined: 30 May 2009, 01:50

Pelegant error: passed size is not equal to expected size for SDDS_DATASET structure

Post by duanz » 14 Aug 2024, 06:41

Dear all,

I've just compiled from source the latest elegant version 2023.4.0 & SDDS.5.6, on a cluster with almalinux 9, the GCC version is 11.4.1 20231218, and the MPICH version is mpich-4.2.1

elegant runs fine. But when I run a simple Pelegant example that computes the elegant example/parallel/DA with mpiexec -np 10 Pelegant parTrack2.ele, I got the following error information:

Error:
passed size is not equal to expected size for SDDS_DATASET structure
Passed size is 2680, library size is 2672

from all the 10 cores.

Does anyone has some clues how to solve this problem? Thanks!

Best,

Zhe

soliday
Posts: 403
Joined: 28 May 2008, 09:15

Re: Pelegant error: passed size is not equal to expected size for SDDS_DATASET structure

Post by soliday » 14 Aug 2024, 15:53

The error comes from the SDDS library. It is saying that the library was compiled with a different SDDS.h file than Pelegant was. The first thing I would do is to run "ldd Pelegant" to see if it is linking to a shared library SDDS1.so. It may be using an older version somehow. Check the timestamp on the SDDS1.so file to see it is the one you recently compiled. Personally, I compile our programs without building SDDS1 as a shared library and only a static library. You could do this by adding SHARED_LIBRARIES=NO to your extensions/configure/CONFIG file at the bottom. But if you do, then you will have to make sure that you clear out all the *.so files that you already built. They would be in extensions/lib/linux-x86_64/

You would then recompile everything.

--Bob

Post Reply