Hello, I've just seen the message from the day before: http://sourceforge.net/p/enlightenment/mailman/message/34492801/ Which includes this patch:
--- a/src/lib/ecore_fb/ecore_fb_private.h +++ b/src/lib/ecore_fb/ecore_fb_private.h @@ -33,6 +33,20 @@ #include <Ecore_Fb.h> +#ifdef EAPI +# undef EAPI +#endif + +#ifdef __GNUC__ +# if __GNUC__ >= 4 +# define EAPI __attribute__ ((visibility("default"))) +# else +# define EAPI +# endif +#else +# define EAPI +#endif + /* ecore_fb_li.c */ struct _Ecore_Fb_Input_Device { @@ -92,4 +106,7 @@ #define TS_GET_CAL 0x8014660a #endif +#undef EAPI +#define EAPI + #endif And it indeed fixes the problem. The problem is that ecore_fb_private.h relies on the EAPI macro defined at Ecore_Fb.h, but Ecore_Fb.h first defines the macro, then uses it and finally undefines it again. By undefine I mean re-defines it as empty. I don't know the reason of this "define, use, undefine" sequence placed in all and every single file that exports a public symbol, why is it not defined just once in a top-level include? And also, why is the EAPI macro defined for prototypes and not definitions? These questions are just curiosity. So, all in all, could this patch be applied? Thanks, Vicente. ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel