Hi, > I then tried to make loadable modules, but when compiling I get the error: > > user.o(.text+0x26): In function `DXEntry': > : undefined reference to `DXAddModule' > > I can't find DXAddModule in any of the libraries included with DX. > This is with a binary download version (rpm) of DX.
The "DXAddModule" symbol is provided for your module by "dxexec", the program that loads your module, and not by the OpenDX libraries. The "DXAddModule" is not documented in the programmer's guide of OpenDX. You need to build a shared library that provides two C functions: - DXEntry, - m_MyModule. Under Linux you do it this way: g++ --shared -o YourModule <list of object files and libraries> You can use gcc instead of g++. For example, we do it this way: g++ --shared -o ImportHDF5Field ImportHDF5Field.o -Wl,-rpath,/home/research/ijs/local/hdf5/lib -L/home/research/ijs/local/hdf5/lib ../dxh5base/libdxh5base.a -lhdf5_cpp -lhdf5 -Wl,-rpath,/usr/lib -lm Notice that you do not link with any of the OpenDX libraries, because linking with OpenDX symbols happens at runtime. Best, Irek
