Hi there, I'm using a program that has some compiled-in Root functions (such as booking and filling histograms, interfacing to trees -- or rather : chains, and integration of histograms). No graphics output is done and I do not invoke the interpreter itself (i.e., I never call TApplication or TRint). My assumption is now that I'm dealing with only compiled functions, and that there is no hidden usage of the interpreter. If so, I do not need the header files and libraries associated with cint. Correct ? The program is linked with "-static -lRoot -ldl" I cannot use a dynamically linked executable, as the target platform (indeed a cluster, as this is an MPI application) doesn't have the correct C-libraries installed. I work and compile on a SuSE 8.2 system and run the programs on a Red Hat 7.2 cluster. I cannot compile my programs on a cluster machine, as only g++ with a version > 3.2 seems to be able to handle my application. So I need a static executable. If I start my program, each instance of the MPI application emits the error : Error: cannot open /opt/root/share/root/cint/MAKEINFO !!! There are examples of MAKEINFO files under /opt/root/share/root/cint/platform/ !!! Please refer to these examples and create for your platform dlopen error: /tmp/iJtfkg_cintNM: invalid ELF header Load Error: Failed to load Dynamic link library /tmp/iJtfkg_cintNM as if cint was started somewhere (which it isn't explicitly). What's going on here ? And how can I stop cint from being used when I only want to fill a histogram from a tree and integrate the histogram ? The program doesn't exit, though, and henceforth emits the correct results coming from the integration of the histograms (checked on the system I compiled the application on, which has root/cint below /opt/root -- no error message on that machine). What are the effects of this error ? On a related note : I recently asked a question regarding the integration of root/cint as an extension language into another application. This works like a charm. There is however a similar problem to those mentioned above. When the interpreter starts it tries to load various dynamic libraries. If my application was compiled on a machine with incompatible symbols (again this problem arises when using SuSE 8.2 for compilation and Red Hat 7.2 for execution) I get errors when the dynamic libraries are loaded. I guess there is nothing I can do about that. In any case : I really love this tool. Root is great - thanks a lot !!! Kind Regards / Mit freundlichen Grüßen, Rüdiger Berlich -- Institut fuer Experimentalphysik I Ruhr-Universitaet Bochum Tel. +49 (0)7247 825678 ruediger@berlich.de
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET