make fails on master

Alex Aycinena alex.aycinena at gmail.com
Sun Jun 14 21:44:01 EDT 2015


John,

On Sun, Jun 7, 2015 at 1:34 PM, John Ralls <jralls at ceridwen.us> wrote:

>
> > On Jun 7, 2015, at 12:38 PM, Derek Atkins <derek at ihtfp.com> wrote:
> >
> >
> > On Sun, June 7, 2015 3:02 pm, John Ralls wrote:
> >
> >> Alex,
> >>
> >> Turns out that for some flavors of GCC -std=gnu99 is required for strdup
> >> to be provided. I’d made the default c99, which in those cases doesn’t
> >> support it, hence the error.
> >>
> >> Fixed and pushed.
> >
> > Why are we using strdup() and not g_strdup()?
>
> Oversight? It’s used in several places. The earliest I found was a5d4c7cf
> from 2004.
>
> Regards,
> John Ralls
>
>
I upgraded My Fedora 20 machine to Fedora 22, which came out a few weeks
ago, and got the same problem again. In order to make sure it was not my
new build environment, I cloned a new gnucash, checked out maint, and was
able to make, make-clean, and make-install OK. So the new F22 build
environment is OK. But when I checked out master on the new clone and wiped
out my build directory and tried make again, I got the same error, as
follows:

/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c: In
function 'gfec_catcher':
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:60:25:
error: implicit declaration of function 'strdup'
[-Werror=implicit-function-declaration]
         *(char**)data = strdup("Guile error: Too many recursions in error
catch handler.");
                         ^
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:60:23:
error: assignment makes pointer from integer without a cast
[-Werror=int-conversion]
         *(char**)data = strdup("Guile error: Too many recursions in error
catch handler.");
                       ^
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:79:13:
warning: 'scm_internal_stack_catch' is deprecated
[-Wdeprecated-declarations]
             scm_internal_stack_catch(SCM_BOOL_T,
             ^
In file included from /usr/include/guile/2.0/libguile.h:126:0,
                 from
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.h:12,
                 from
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:13:
/usr/include/guile/2.0/libguile/deprecated.h:648:45: note: declared here
 SCM_DEPRECATED SCM scm_internal_stack_catch (SCM tag,
                                             ^
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:99:23:
error: assignment makes pointer from integer without a cast
[-Werror=int-conversion]
         *(char**)data = strdup("Error running guile function.");
                       ^
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:103:23:
error: assignment makes pointer from integer without a cast
[-Werror=int-conversion]
         *(char**)data = strdup(msg);
                       ^
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c: In
function 'gfec_eval_string':
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:135:5:
warning: 'scm_internal_stack_catch' is deprecated
[-Wdeprecated-declarations]
     result = scm_internal_stack_catch(SCM_BOOL_T,
     ^
In file included from /usr/include/guile/2.0/libguile.h:126:0,
                 from
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.h:12,
                 from
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:13:
/usr/include/guile/2.0/libguile/deprecated.h:648:45: note: declared here
 SCM_DEPRECATED SCM scm_internal_stack_catch (SCM tag,
                                             ^
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c: In
function 'gfec_apply':
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:203:5:
warning: 'scm_internal_stack_catch' is deprecated
[-Wdeprecated-declarations]
     result = scm_internal_stack_catch(SCM_BOOL_T,
     ^
In file included from /usr/include/guile/2.0/libguile.h:126:0,
                 from
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.h:12,
                 from
/home/gnucash-dev/gitcheckouts/gnucash-new/src/app-utils/gfec.c:13:
/usr/include/guile/2.0/libguile/deprecated.h:648:45: note: declared here
 SCM_DEPRECATED SCM scm_internal_stack_catch (SCM tag,
                                             ^
cc1: all warnings being treated as errors
Makefile:860: recipe for target 'gfec.lo' failed
make[4]: *** [gfec.lo] Error 1
make[4]: Leaving directory
'/home/gnucash-dev/gitcheckouts/gnucash-new-build/src/app-utils'

So your last fix seems to have worked for F20 & F21 but not for F22. Is
there any further information I can provide you?

Best regards,

Alex


More information about the gnucash-devel mailing list