On Mon, 2011-05-02 at 13:01 -0400, Mishou Michael wrote:
I found http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22286 and disabled optimization with -O0 in CFLAGS/CPPFLAGS, still getting the same exact error.
I found this which seems to address the problem: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21613. Seems to only be an issue when using -fPIC with GCC 3.4 (I'm using 3.4.6). I have to use -fPIC to use the TLS references (I think). I'm not sure where to go from here, I don't fully understand the workaround in bug 21613 listing (at the bottom), I guess I could move to a newer version of GCC? I'm not sure how much I'll break doing that, but it's worth a shot I suppose.
Before touching the toolchain (which I don't recommend while porting ivykis to various platforms and failed miserably), we've patched ivykis to work on systems the __thread is not available. I'm not sure if Gergely has prepared the patched ivykis or the upstream one. (we were exchanging patches with upstream, but not everything was integrated yet). The proper version is here: http://git.balabit.hu/?p=bazsi/ivykis.git;a=summary which is equivalent to: git://git.balabit.hu/bazsi/ivykis.git But if you don't have git, you can grab a tarball from the gitweb interface, e.g: http://git.balabit.hu/?p=bazsi/ivykis.git;a=snapshot;h=1d9e413f31e09a2c82128... If you still cannot get it to compile, it'd be helpful if you could include the config.log / config.status files in the syslog-ng root directory, that should contain lib/ivykis checks too. The most interesting part is whether it finds support for __thread variables. Now as I think if it, it probably does, and that's the cause of the error, since your compiler doesn't really support it (because of the error), but is able to compile a simple test program. You could try to edit lib/ivykis/lib/iv_thr.h and add: #undef HAVE_TLS #define HAVE_TLS 0 after the config.h header is included. -- Bazsi