Hello Richard, * Richard B. Kreckel wrote on Mon, Dec 17, 2007 at 09:09:21AM CET:
I don't see how your patch can work. With -fPIC, we'll have to write _GLOBAL__I_foo.cc, alright, but without -fPIC, we'll have to stick to _GLOBAL__I_func. Your patch defines the macro CL_GLOBAL_CONSTRUCTOR_SUFFIX(module) but does not distinguish between these two cases. So, if you ./configure --enable-shared --enable-static, as is the default, either the shared or the static library will not work. Somehow, we must distinguish between the two cases, and I don't see how it can be done without some #if defined(PIC) sections.
You are of course right on the spot on this one. I did not think of the non-PIC case. Guess it's back to the drawing board.
Can you try ./configure --disable-shared && make check, please?
Will do, and redo the patch. Cheers, Ralf