libtool 2.4 changed lt__PROGRAM__LTX_preloaded_symbols definition to extern LT_DLSYM_CONST lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[]; but there is no easy way to find its version to fix it properly, so it's a temporary hack to make at least libprelude compile. Index: libprelude-1.0.0/src/include/prelude-plugin.h =================================================================== --- libprelude-1.0.0.orig/src/include/prelude-plugin.h 2010-11-06 21:30:18.000000000 +0300 +++ libprelude-1.0.0/src/include/prelude-plugin.h 2010-11-06 21:30:47.000000000 +0300 @@ -61,9 +61,8 @@ */ #ifdef PRELUDE_APPLICATION_USE_LIBTOOL2 # define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols -#endif - extern const void *lt_preloaded_symbols[]; +#endif #define PRELUDE_PLUGIN_SET_PRELOADED_SYMBOLS() \ prelude_plugin_set_preloaded_symbols(lt_preloaded_symbols)