goo build fails on ubuntu 6.06

View: New views
4 Messages — Rating Filter:   Alert me  

goo build fails on ubuntu 6.06

by Eduardo Cavazos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

6.06 comes with gcc 4.0. Does goo have issues with 4.0?

I tried 0.153 and 0.155.

Luckily, there's an ubuntu package for goo so I can use that. But I also
wanted to build my own.

Here's the error:

/scratch/goo-0_153-any-dev$ make
make[1]: Entering directory `/scratch/goo-0_153-any-dev/c'
(cd g2c; make)
make[2]: Entering directory `/scratch/goo-0_153-any-dev/c/g2c'
gcc -I..  -g -O2 -DDEFAULT_GOO_ROOT=\"/opt/goo-0.153/lib/goo/\" -c -o
goo/boot.o goo/boot.c
goo/boot.c: In function ‘YPallocate_stack’:
goo/boot.c:986: error: invalid lvalue in assignment
goo/boot.c: At top level:
goo/boot.c:673: warning: ‘YPib’ declared inline after being called
goo/boot.c:673: warning: previous declaration of ‘YPib’ was here
goo/boot.c: In function ‘YPcons_args’:
goo/boot.c:6761: error: invalid lvalue in assignment
goo/boot.c: In function ‘YPfun_val_check_type’:
goo/boot.c:6961: error: invalid lvalue in assignment
goo/boot.c: In function ‘YPcheck_type’:
goo/boot.c:7061: error: invalid lvalue in assignment
goo/boot.c: In function ‘YPstack_check’:
goo/boot.c:7134: error: invalid lvalue in assignment
goo/boot.c: In function ‘YPPcheck_call_types’:
goo/boot.c:7202: error: invalid lvalue in assignment
make[2]: *** [goo/boot.o] Error 1
make[2]: Leaving directory `/scratch/goo-0_153-any-dev/c/g2c'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/scratch/goo-0_153-any-dev/c'
make: *** [all] Error 1
/scratch/goo-0_153-any-dev$

_______________________________________________
Googoogaga mailing list
Googoogaga@...
https://lists.csail.mit.edu/mailman/listinfo/googoogaga

Re: goo build fails on ubuntu 6.06

by Chris Double :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 3/11/07, Eduardo Cavazos <wayo.cavazos@...> wrote:
> Luckily, there's an ubuntu package for goo so I can use that. But I also
> wanted to build my own.

You'll need to be able to build your own I suspect to use the
compilation mode that spawns the C compiler to compile definitions
entered at the REPL. Does that work for you? I can't recall the exact
command to activate it, or if it is the default, but it's described in
the readme. ,help might help.

Nice to see some life in the goo list :)

Chris.
--
http://www.bluishcoder.co.nz

_______________________________________________
Googoogaga mailing list
Googoogaga@...
https://lists.csail.mit.edu/mailman/listinfo/googoogaga

Re: goo build fails on ubuntu 6.06

by Eduardo Cavazos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hmmm.

So the compile fails on the file 'c/g2c/goo/boot.c'. There are 6 offending
lines; 4 of them are the same and the other 2 are also the same:

989:   // (P)YPdef_regs();
6764:  // (P)YPdef_regs();
6964:  // (P)YPset_regs(regs_);
7064:  // (P)YPset_regs(regs_);
7137:  // (P)YPset_regs(regs_);
7205:  // (P)YPset_regs(regs_);

That's output from grep so those are the line numbers. The comments I added.
After commenting out the lines, the build completes.

The resulting goo exits with a segmentation fault.

Ed

_______________________________________________
Googoogaga mailing list
Googoogaga@...
https://lists.csail.mit.edu/mailman/listinfo/googoogaga

Re: goo build fails on ubuntu 6.06

by Eduardo Cavazos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sunday 11 March 2007 04:26, you wrote:
> So the compile fails on the file 'c/g2c/goo/boot.c'. There are 6 offending
> lines; 4 of them are the same and the other 2 are also the same:
>
> 989:   // (P)YPdef_regs();
> 6764:  // (P)YPdef_regs();
> 6964:  // (P)YPset_regs(regs_);
> 7064:  // (P)YPset_regs(regs_);
> 7137:  // (P)YPset_regs(regs_);
> 7205:  // (P)YPset_regs(regs_);

The YPdef_regs and YPset_regs macros are defined in c/grt.h:

#define YPdef_regs()  regs = REGSREF()
#define YPset_regs(x) regs = (REGS)(x)

I expanded the calls to those macros manually in the 6 lines mentioned above
and goo built successfully. For example, instead of this on line 989:

        (P)YPdef_regs();

I just have:

        regs = REGSREF();

Ed

_______________________________________________
Googoogaga mailing list
Googoogaga@...
https://lists.csail.mit.edu/mailman/listinfo/googoogaga
LightInTheBox - Buy quality products at wholesale price