[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion 1.8.x on Solaris 10 x86

From: Philip Martin <philip_at_codematters.co.uk>
Date: Thu, 03 Aug 2017 22:37:47 +0100

Ian Mordey <ian.mordey_at_wandisco.com> writes:

> Not that I can spot:
> gutils.h
> G_INLINE_FUNC gint g_bit_nth_lsf (gulong mask,
> gint nth_bit);
> G_INLINE_FUNC gint g_bit_nth_msf (gulong mask,
> gint nth_bit);
> G_INLINE_FUNC guint g_bit_storage (gulong number);
> gstring.h
> #ifdef G_CAN_INLINE
> static inline GString*
> g_string_append_c_inline (GString *gstring,
> gchar c)
> {
> gmessages.h
> #define g_error(...) g_log (G_LOG_DOMAIN, \
> __VA_ARGS__)
> #define g_message(...) g_log (G_LOG_DOMAIN, \
> __VA_ARGS__)
> #define g_critical(...) g_log (G_LOG_DOMAIN, \
> __VA_ARGS__)
> #define g_warning(...) g_log (G_LOG_DOMAIN, \
> __VA_ARGS__)
> #elif defined(G_HAVE_GNUC_VARARGS)r
>> Another option is to run the compile command manually but change '-c' to
>> '-E', remove '-o subversion/libsvn_auth_gnome_keyring/gnome_keyring.o',
>> and redirect stdout to a file. That gives us the preprocessed source
>> with all the includes resolved (probably quite a big file).
> It is quite big! Here you go:
> https://pastebin.com/HhvEZFRq

The problem is that the header files do not appear to work with the
compiler option -std=c90. The problems: G_INLINE_FUNC is expanding to
"static inline", G_CAN_INLINE is allowing "static inline" and
G_HAVE_ISO_VARARGS is allowing ... in macros. None of those are
supported with -std=c90.

Also, the compiler error messages are poor.

I think the 1.9 build that works also passes -std=c90, it certainly does
on my machine here. If I am correct then the glib headers have compiler
feature detection but it is broken for the 1.8 build. I don't know what
would break it, but if you can work out what is different between 1.8
and 1.9 I would be interested, maybe we can fix it.

It would be good to work out why -std=c90 is broken but you can probably
fix the build by forcing -std=c99. Either build using:

   make EXTRA_CFLAGS=-std=c99

or configure using

   CFLAGS=-std=c99 ./configure ...

Received on 2017-08-03 23:37:59 CEST

This is an archived mail posted to the Subversion Dev mailing list.