so I have some code that uses dlopen
for loading libraries, and I want it to work on a bluegene system, but I don't have a bluegene to test things on, and I've never directly worked with one. Does bluegene support ltdl.h
, or does it use something else? if so, what does it use?
Asked
Active
Viewed 153 times
6

Sam Miller
- 23,808
- 4
- 67
- 87

Sam
- 63
- 2
-
Even if it has `dlopen()` you would need run-time testing to ensure your code works as expected anyway. – Maxim Egorushkin Jan 14 '11 at 16:29
-
well, there are people who would be abe to test it relatively quickly for me, but I'm not "sitting in front of one" so to speak, so I can't just muck around and try things and see if they run. I'm not just going to write something and deploy it without doing any testing haha – Sam Jan 14 '11 at 16:32
-
1@Sam BlueGene/L or BlueGene/P? Also +1 for a BlueGene question. – Sam Miller Jan 14 '11 at 16:52
-
BlueGene/L, would the answer be different for /P? – Sam Jan 14 '11 at 16:56
-
@Sam: you need to be able to at least cross-compile for it. – Maxim Egorushkin Jan 14 '11 at 17:01
-
I guess I should have elaborated a bit. The code in question supports all major platforms, plus bluegene/L. We have a testing setup in place to ensure that everything actually works. I haven't actually started doing any work with dynamic loading, and if the answer to this question is "no", I'm just going to abandon this line of development and solve my problem another way. – Sam Jan 14 '11 at 17:09
-
@Sam the BG/P software stack is very different than BG/L, see [my answer](http://stackoverflow.com/questions/4693300/do-bluegene-systems-support-ltdl-or-any-other-kind-of-dlopen-support/4693807#4693807) – Sam Miller Jan 14 '11 at 17:09
1 Answers
4
BlueGene/L does not support dynamic linking or loading of libraries. This is explained in the redbook in chapter 5.
Although Blue Gene/L uses the IBM XL compilers, there are differences with respect to all other IBM servers. In particular, in the case of the IBM pSeries Linux programming model, some of the differences from Linux PPC64 are:
- No stdin
- No asynchronous I/O
- No dynamic linking
- No demand paging/swap
- Virtual address space is mapped 1-on-1 with physical memory
- No read-only memory
- Due to CNK design decision – No SIGSEGV writing to a const char *p
Dynamic libraries are supported on BlueGene/P.

Sam Miller
- 23,808
- 4
- 67
- 87