unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#10518: Failing compile of guile-2.0.3.157-1bd9a on Solaris 9 Sparc
@ 2012-01-15 21:53 Dagobert Michelsen
  2012-02-03 13:11 ` Andy Wingo
  0 siblings, 1 reply; 2+ messages in thread
From: Dagobert Michelsen @ 2012-01-15 21:53 UTC (permalink / raw)
  To: 10518

Hi,

I am currently trying to compile the "call-for-testers" guile-2.0.3.157-1bd9a on
Solaris 9 Sparc with Sun Studio 12 and get a compilation error:

>   CC     libguile_2.0_la-bytevectors.lo
>   CC     libguile_2.0_la-chars.lo
>   CC     libguile_2.0_la-control.lo
> "control.c", line 267: directive not honored in macro argument list
> "control.c", line 280: directive not honored in macro argument list
> "control.c", line 287: EOF in argument list of macro: SCM_SNARF_INIT
> "control.c", line 287: EOF in argument list of macro: SCM_SNARF_INIT
> "control.c", line 114: syntax error before or at: =
> "control.c", line 114: warning: old-style declaration or incorrect type for: SCM_SNARF_INIT
> "control.c", line 114: syntax error before or at: sizeof
> "control.c", line 114: warning: undefined or missing type for: sizeof
> "control.c", line 114: warning: old-style declaration or incorrect type for: memcpy
> "control.c", line 114: identifier redeclared: memcpy
>         current : function() returning int
>         previous: function(pointer to void, pointer to const void, unsigned int) returning pointer to void : "/usr/include/iso/string_iso.h", line 61
> "control.c", line 114: warning: syntax error:  empty declaration
> "control.c", line 114: non-constant initializer: op "NAME"
> "control.c", line 114: non-constant initializer: op "NAME"
> "control.c", line 114: syntax error before or at: =
> "control.c", line 114: warning: old-style declaration or incorrect type for: SCM_SNARF_INIT
> "control.c", line 114: syntax error before or at: sizeof
> "control.c", line 114: warning: undefined or missing type for: sizeof
> "control.c", line 114: warning: old-style declaration or incorrect type for: memcpy
> "control.c", line 114: identifier redefined: memcpy
>         current : function() returning int
>         previous: function() returning int : "control.c", line 114
> "control.c", line 114: warning: syntax error:  empty declaration
> "control.c", line 287: syntax error before or at: <EOF>
> cc: acomp failed for control.c
> gmake[3]: *** [libguile_2.0_la-control.lo] Error 1
> gmake[3]: Leaving directory `/home/dam/mgar/pkg/guile/trunk/work/solaris9-sparc/build-isa-sparcv8/guile-2.0.3.157-1bd9a/libguile'
> gmake[2]: *** [all] Error 2
> gmake[2]: Leaving directory `/home/dam/mgar/pkg/guile/trunk/work/solaris9-sparc/build-isa-sparcv8/guile-2.0.3.157-1bd9a/libguile'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/home/dam/mgar/pkg/guile/trunk/work/solaris9-sparc/build-isa-sparcv8/guile-2.0.3.157-1bd9a'
> gmake: *** [all] Error 2
> gmake: Leaving directory `/home/dam/mgar/pkg/guile/trunk/work/solaris9-sparc/build-isa-sparcv8/guile-2.0.3.157-1bd9a'

The generated code in line 114 looks like this:

>  static scm_t_uint8 * cont_objcode__bytecode ; SCM_SNARF_INIT ( cont_objcode__cells = scm_malloc_pointerless ( sizeof ( cont_objcode__cells__unaligned ) ; memcpy ( cont_objcode__cells , cont_objcode__cells__unaligned , sizeof ( cont_objcode__cells__unaligned ) ) ; ) static scm_t_cell * cont_objcode__cells = 0 ; static const scm_t_cell cont_objcode__cells__unaligned [ ] = { { ( ( SCM ) ( ( 53 | ( ( 3 ) << 8 ) | ( 0 << 16 ) ) ) ) , ( ( SCM ) ( cont_objcode__bytecode ) ) } , { ( ( SCM ) ( ( ( ( ( ( 0 ) ) << 8 ) + scm_tc8_flag ) ) ) ) , ( ( SCM ) ( 0 ) ) } } ; static const SCM cont_objcode = ( ( SCM ) ( cont_objcode__cells ) ) ; SCM_SNARF_INIT ( cont_objcode__bytecode = scm_malloc_pointerless ( sizeof ( cont_objcode__bytecode__unaligned ) ; memcpy ( cont_objcode__bytecode , cont_objcode__bytecode__unaligned , sizeof ( cont_objcode__bytecode__unaligned ) ) ; ) static scm_t_uint8 * cont_objcode__bytecode = 0 ; static const scm_t_uint8 cont_objcode__bytecode__unaligned [ ] = {
> 
>    0 , 0 , 0 , 8 , 0 , 0 , 0 , 19 + 8 ,
> 
>     scm_op_object_ref , 0 ,
>     scm_op_object_ref , 1 ,
>     scm_op_partial_cont_call ,
>     scm_op_nop , scm_op_nop , scm_op_nop ,
> 
> 
> 
> # 126
>    0 , 0 , 0 , 19 , 0 , 0 , 0 , 0 ,
>     scm_op_make_eol ,
>     scm_op_make_eol ,
>     scm_op_make_int8 , 0 , scm_op_make_int8 , 5 ,
>     scm_op_make_int8_0 ,
>     scm_op_make_int8_0 ,
>     scm_op_make_true ,
>     scm_op_list , 0 , 5 ,
>     scm_op_list , 0 , 1 ,
>     scm_op_list , 0 , 3 ,
>     scm_op_return
> 
> };

Unfortunately I don't see whats wrong here, maybe you can give me an insight?
If necessary I can provide more information or an account on the buildfarm.


Best regards

  -- Dago


-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896






^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#10518: Failing compile of guile-2.0.3.157-1bd9a on Solaris 9 Sparc
  2012-01-15 21:53 bug#10518: Failing compile of guile-2.0.3.157-1bd9a on Solaris 9 Sparc Dagobert Michelsen
@ 2012-02-03 13:11 ` Andy Wingo
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Wingo @ 2012-02-03 13:11 UTC (permalink / raw)
  To: Dagobert Michelsen; +Cc: 10518-done

On Sun 15 Jan 2012 22:53, Dagobert Michelsen <dam@opencsw.org> writes:

> I am currently trying to compile the "call-for-testers" guile-2.0.3.157-1bd9a on
> Solaris 9 Sparc with Sun Studio 12 and get a compilation error:

Thanks for giving it a try!  It's a bit embarassing that this didn't
work, but I did track down the issue today.

Some parts of Guile want byte arrays aligned on 8-byte boundaries.  We
use __attribute__((aligned(8))) on GCC to do that.  Probably your
compiler has something similar; it would be great if you could
contribute a patch to libguile/__scm.h to define SCM_ALIGNED there.

We do have a fallback that involves mallocing a buffer, and copying the
unaligned buffer into the malloc'd buffer.  That code was not working in
a couple of cases.  I think I have fixed it; at least, I tried it out
locally, and it worked for me.

Thanks for the report,

Andy
-- 
http://wingolog.org/





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-02-03 13:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-15 21:53 bug#10518: Failing compile of guile-2.0.3.157-1bd9a on Solaris 9 Sparc Dagobert Michelsen
2012-02-03 13:11 ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).