Hi, Thanks for your e-mail.
> You may want to look at our autoconf template for building modules > that we contributed as mentioned on opendx.org. Yes, we based our modules on your template. Thank you - it is very useful. The template works great for C modules. Our module, however, is written in C++, so we had to modify the template. > Also, you need to make sure that you export the symbols when > building the dxexec for AIX. I presume you mean the module, not dxexec. Yes, I tried a few things for exporting, all to no avail: "-bexpall", "-bexpfull", an export file (-bE:file_name) with only "DXEntry" and the module name, "m_ImportHDF5Field", and finally I made libtool generate an export file for me. Because OpenDX's dxexec is built on AIX without the "-brtl" option, dxexec was even unable to load our module that was built with "-BI:/path_to_opendx/lib/dxexec.exp". To build a module that dxexec is able to open, I had to slightly modify the dxexec.exp file (replace the first line from "#!" with "#!."). After I examined your template, my guess is that on AIX it will produce modules that dxexec cannot load. I have not tried this. > I remember once having a similar problem and it was because the -bE > was not included when linking. I have never built binaries for AIX > 5, but I have for 4.1.2, 4.2 and 4.3. Depending on how I compile our module, the module or dxexec crashes in various places. When "-bE" is not included, dxexec crashes on loading the module. Now, I found something in the IBM "AIX Linking and Loading Mechanisms" publication. There is this ominous paragraph: "On a final note, in the same way that a C++-aware tool must be used to build loadable modules contaning C++ code, it is required that any application that will take adavantage of C++-based modules should be built with the C++ compiler. Thus, final program construction should be accomplished with either the xlC or xlC_r command, depending upon whether thread support is necessary." Bottomline: if you work on AIX and want to use a C++ loadable module in OpenDX, then dxexec should be linked with a C++ command. To test the above idea, I built dxexec with xlC_r. Unfortunately, I must have done sth wrong, because it crashed before it entered "main". > If it is something that you just have to complete and have a little > bit of money set aside, we could probably help out further if you > purchase a tech support incident. Thank you for your offer. I was hired to further develop the modules and to port them to AIX, and so it is rather a delicate matter for me to ask my boss to hire someone else for just this task. Have you heard of anyone else who works on C++ loadable modules for AIX 5? Best, Irek
