# Pcc: constant too big for cross-compiler

**URL:** <https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556>\
**Category:** Development\
**Created:** [October 7, 2007, 9:04am UTC](https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556 "2007-10-07T09:04:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [October 7, 2007, 9:04am UTC](https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556/1 "2007-10-07T09:04:35Z")

</div>

e$B@.@%$G$9!#e(B

pcc 0.9.8 for i386–netbsdelf e$B$Ge(B trunk  
e$B$r%3%s%Q%$%k$7$h$&$H$9$k$H!"e(B

pcc -g -O2 -fPIC -I. -I.ext/include/i386-netbsdelf3.1.1.  
-I…/trunk/include -I…/trunk -DRUBY\_EXPORT -c …/trunk/array.c  
…/trunk/include/ruby/ruby.h, line 686: constant too big for  
cross-compiler  
…/trunk/include/ruby/ruby.h, line 690: constant too big for  
cross-compiler  
\*\*\* Error code 1

Stop.

e$B$HE$i$l$k$N$G$9$,!"$3$l$O;EMM$H9M$($F$$$$$N$G$7$g$&$+!#e(B

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [October 7, 2007, 10:13am UTC](https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556/2 "2007-10-07T10:13:07Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
“NARUSE, Yui” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> e$B$HE$i$l$k$N$G$9$,!"$3$l$O;EMM$H9M$($F$$$$$N$G$7$g$&$+!#e(B  
> e$B$=$C$+!#e(Benum e$B$Oe(B int e$B$^$G$7$+J]\>Z$5$l$F$J$$$s$G$9$M!#e(B

e$B0J2\<$G$I$&$G$7$g$&$+!#e(B

# Index: include/ruby/ruby.h

— include/ruby/ruby.h (e$B%j%S%8%g%se(B 13647)  
+++ include/ruby/ruby.h (e$B:n6H%3%T!\<e(B)  
@@ -626,67 +626,65 @@

enum ruby\_value\_flags {  
RUBY\_FL\_MARK = (1\<\<5),  
-#define FL\_MARK RUBY\_FL\_MARK  
+#define FL\_MARK ((VALUE)RUBY\_FL\_MARK)  
RUBY\_FL\_RESERVED = (1\<\<6) /\* will be used in the future GC \*/,  
-#define FL\_RESERVED RUBY\_FL\_RESERVED  
+#define FL\_RESERVED ((VALUE)RUBY\_FL\_RESERVED)  
RUBY\_FL\_FINALIZE = (1\<\<7),  
-#define FL\_FINALIZE RUBY\_FL\_FINALIZE  
+#define FL\_FINALIZE ((VALUE)RUBY\_FL\_FINALIZE)  
RUBY\_FL\_TAINT = (1\<\<8),  
-#define FL\_TAINT RUBY\_FL\_TAINT  
+#define FL\_TAINT ((VALUE)RUBY\_FL\_TAINT)  
RUBY\_FL\_EXIVAR = (1\<\<9),  
-#define FL\_EXIVAR RUBY\_FL\_EXIVAR  
+#define FL\_EXIVAR ((VALUE)RUBY\_FL\_EXIVAR)  
RUBY\_FL\_FREEZE = (1\<\<10),  
-#define FL\_FREEZE RUBY\_FL\_FREEZE  
+#define FL\_FREEZE ((VALUE)RUBY\_FL\_FREEZE)  
RUBY\_FL\_SINGLETON = (1\<\<11),  
-#define FL\_SINGLETON RUBY\_FL\_SINGLETON  
+#define FL\_SINGLETON ((VALUE)RUBY\_FL\_SINGLETON)

```
 RUBY_FL_USHIFT = 11,

```

-#define FL\_USHIFT RUBY\_FL\_USHIFT  
+#define FL\_USHIFT ((VALUE)RUBY\_FL\_USHIFT)

```
 RUBY_FL_USER0 = (1<<(FL_USHIFT+0)),

```

-#define FL\_USER0 RUBY\_FL\_USER0  
+#define FL\_USER0 ((VALUE)RUBY\_FL\_USER0)  
RUBY\_FL\_USER1 = (1\<\<(FL\_USHIFT+1)),  
-#define FL\_USER1 RUBY\_FL\_USER1  
+#define FL\_USER1 ((VALUE)RUBY\_FL\_USER1)  
RUBY\_FL\_USER2 = (1\<\<(FL\_USHIFT+2)),  
-#define FL\_USER2 RUBY\_FL\_USER2  
+#define FL\_USER2 ((VALUE)RUBY\_FL\_USER2)  
RUBY\_FL\_USER3 = (1\<\<(FL\_USHIFT+3)),  
-#define FL\_USER3 RUBY\_FL\_USER3  
+#define FL\_USER3 ((VALUE)RUBY\_FL\_USER3)  
RUBY\_FL\_USER4 = (1\<\<(FL\_USHIFT+4)),  
-#define FL\_USER4 RUBY\_FL\_USER4  
+#define FL\_USER4 ((VALUE)RUBY\_FL\_USER4)  
RUBY\_FL\_USER5 = (1\<\<(FL\_USHIFT+5)),  
-#define FL\_USER5 RUBY\_FL\_USER5  
+#define FL\_USER5 ((VALUE)RUBY\_FL\_USER5)  
RUBY\_FL\_USER6 = (1\<\<(FL\_USHIFT+6)),  
-#define FL\_USER6 RUBY\_FL\_USER6  
+#define FL\_USER6 ((VALUE)RUBY\_FL\_USER6)  
RUBY\_FL\_USER7 = (1\<\<(FL\_USHIFT+7)),  
-#define FL\_USER7 RUBY\_FL\_USER7  
+#define FL\_USER7 ((VALUE)RUBY\_FL\_USER7)  
RUBY\_FL\_USER8 = (1\<\<(FL\_USHIFT+8)),  
-#define FL\_USER8 RUBY\_FL\_USER8  
+#define FL\_USER8 ((VALUE)RUBY\_FL\_USER8)  
RUBY\_FL\_USER9 = (1\<\<(FL\_USHIFT+9)),  
-#define FL\_USER9 RUBY\_FL\_USER9  
+#define FL\_USER9 ((VALUE)RUBY\_FL\_USER9)  
RUBY\_FL\_USER10 = (1\<\<(FL\_USHIFT+10)),  
-#define FL\_USER10 RUBY\_FL\_USER10  
+#define FL\_USER10 ((VALUE)RUBY\_FL\_USER10)  
RUBY\_FL\_USER11 = (1\<\<(FL\_USHIFT+11)),  
-#define FL\_USER11 RUBY\_FL\_USER11  
+#define FL\_USER11 ((VALUE)RUBY\_FL\_USER11)  
RUBY\_FL\_USER12 = (1\<\<(FL\_USHIFT+12)),  
-#define FL\_USER12 RUBY\_FL\_USER12  
+#define FL\_USER12 ((VALUE)RUBY\_FL\_USER12)  
RUBY\_FL\_USER13 = (1\<\<(FL\_USHIFT+13)),  
-#define FL\_USER13 RUBY\_FL\_USER13  
+#define FL\_USER13 ((VALUE)RUBY\_FL\_USER13)  
RUBY\_FL\_USER14 = (1\<\<(FL\_USHIFT+14)),  
-#define FL\_USER14 RUBY\_FL\_USER14  
+#define FL\_USER14 ((VALUE)RUBY\_FL\_USER14)  
RUBY\_FL\_USER15 = (1\<\<(FL\_USHIFT+15)),  
-#define FL\_USER15 RUBY\_FL\_USER15  
+#define FL\_USER15 ((VALUE)RUBY\_FL\_USER15)  
RUBY\_FL\_USER16 = (1\<\<(FL\_USHIFT+16)),  
-#define FL\_USER16 RUBY\_FL\_USER16  
+#define FL\_USER16 ((VALUE)RUBY\_FL\_USER16)  
RUBY\_FL\_USER17 = (1\<\<(FL\_USHIFT+17)),  
-#define FL\_USER17 RUBY\_FL\_USER17  
+#define FL\_USER17 ((VALUE)RUBY\_FL\_USER17)  
RUBY\_FL\_USER18 = (1\<\<(FL\_USHIFT+18)),  
-#define FL\_USER18 RUBY\_FL\_USER18  
+#define FL\_USER18 ((VALUE)RUBY\_FL\_USER18)  
RUBY\_FL\_USER19 = (1\<\<(FL\_USHIFT+19)),  
-#define FL\_USER19 RUBY\_FL\_USER19  
+#define FL\_USER19 ((VALUE)RUBY\_FL\_USER19)  
RUBY\_FL\_USER20 = (1\<\<(FL\_USHIFT+20)),  
-#define FL\_USER20 RUBY\_FL\_USER20

- RUBY\_FL\_DUMMY = ~(VALUE)0 \>\> 1 /\* make sizeof(enum  
ruby\_value\_flags)
- 

```
                                      equal to sizeof(VALUE). */

```

+#define FL\_USER20 ((VALUE)RUBY\_FL\_USER20)  
};

#define SPECIAL\_CONST\_P(x) (IMMEDIATE\_P(x) || !RTEST(x))

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [October 7, 2007, 11:30am UTC](https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556/3 "2007-10-07T11:30:34Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
“NARUSE, Yui” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> e$B$.$j$.$j$G%(%i!\<$,=P$^$9$M!#e(B

e$B$L$%!#$G$Oe(B enum e$B$8$c$J$/$Fe(B const  
e$B$K$9$k$H$$$&$3$H$G0J2\<$J$ie(B  
e$B$I$&$G$7$g$&$+!#e(B

# Index: include/ruby/ruby.h

— include/ruby/ruby.h (e$B%j%S%8%g%se(B 13647)  
+++ include/ruby/ruby.h (e$B:n6H%3%T!\<e(B)  
@@ -624,71 +624,40 @@  
#define RFILE(obj) (R\_CAST(RFile)(obj))  
#define RVALUES(obj) (R\_CAST(RValues)(obj))

-enum ruby\_value\_flags {

- RUBY\_FL\_MARK = (1\<\<5),  
-#define FL\_MARK RUBY\_FL\_MARK

- RUBY\_FL\_RESERVED = (1\<\<6) /\* will be used in the future GC \*/,  
-#define FL\_RESERVED RUBY\_FL\_RESERVED

- RUBY\_FL\_FINALIZE = (1\<\<7),  
-#define FL\_FINALIZE RUBY\_FL\_FINALIZE

- RUBY\_FL\_TAINT = (1\<\<8),  
-#define FL\_TAINT RUBY\_FL\_TAINT

- RUBY\_FL\_EXIVAR = (1\<\<9),  
-#define FL\_EXIVAR RUBY\_FL\_EXIVAR

- RUBY\_FL\_FREEZE = (1\<\<10),  
-#define FL\_FREEZE RUBY\_FL\_FREEZE

- RUBY\_FL\_SINGLETON = (1\<\<11),  
-#define FL\_SINGLETON RUBY\_FL\_SINGLETON  
+#define FL\_MARK ((VALUE)(1\<\<5))

- RUBY\_FL\_USHIFT = 11,  
-#define FL\_USHIFT RUBY\_FL\_USHIFT  
+/\* will be used in the future GC \*/  
+#define FL\_RESERVED ((VALUE)(1\<\<6))

- RUBY\_FL\_USER0 = (1\<\<(FL\_USHIFT+0)),  
-#define FL\_USER0 RUBY\_FL\_USER0

- RUBY\_FL\_USER1 = (1\<\<(FL\_USHIFT+1)),  
-#define FL\_USER1 RUBY\_FL\_USER1

- RUBY\_FL\_USER2 = (1\<\<(FL\_USHIFT+2)),  
-#define FL\_USER2 RUBY\_FL\_USER2

- RUBY\_FL\_USER3 = (1\<\<(FL\_USHIFT+3)),  
-#define FL\_USER3 RUBY\_FL\_USER3

- RUBY\_FL\_USER4 = (1\<\<(FL\_USHIFT+4)),  
-#define FL\_USER4 RUBY\_FL\_USER4

- RUBY\_FL\_USER5 = (1\<\<(FL\_USHIFT+5)),  
-#define FL\_USER5 RUBY\_FL\_USER5

- RUBY\_FL\_USER6 = (1\<\<(FL\_USHIFT+6)),  
-#define FL\_USER6 RUBY\_FL\_USER6

- RUBY\_FL\_USER7 = (1\<\<(FL\_USHIFT+7)),  
-#define FL\_USER7 RUBY\_FL\_USER7

- RUBY\_FL\_USER8 = (1\<\<(FL\_USHIFT+8)),  
-#define FL\_USER8 RUBY\_FL\_USER8

- RUBY\_FL\_USER9 = (1\<\<(FL\_USHIFT+9)),  
-#define FL\_USER9 RUBY\_FL\_USER9

- RUBY\_FL\_USER10 = (1\<\<(FL\_USHIFT+10)),  
-#define FL\_USER10 RUBY\_FL\_USER10

- RUBY\_FL\_USER11 = (1\<\<(FL\_USHIFT+11)),  
-#define FL\_USER11 RUBY\_FL\_USER11

- RUBY\_FL\_USER12 = (1\<\<(FL\_USHIFT+12)),  
-#define FL\_USER12 RUBY\_FL\_USER12

- RUBY\_FL\_USER13 = (1\<\<(FL\_USHIFT+13)),  
-#define FL\_USER13 RUBY\_FL\_USER13

- RUBY\_FL\_USER14 = (1\<\<(FL\_USHIFT+14)),  
-#define FL\_USER14 RUBY\_FL\_USER14

- RUBY\_FL\_USER15 = (1\<\<(FL\_USHIFT+15)),  
-#define FL\_USER15 RUBY\_FL\_USER15

- RUBY\_FL\_USER16 = (1\<\<(FL\_USHIFT+16)),  
-#define FL\_USER16 RUBY\_FL\_USER16

- RUBY\_FL\_USER17 = (1\<\<(FL\_USHIFT+17)),  
-#define FL\_USER17 RUBY\_FL\_USER17

- RUBY\_FL\_USER18 = (1\<\<(FL\_USHIFT+18)),  
-#define FL\_USER18 RUBY\_FL\_USER18

- RUBY\_FL\_USER19 = (1\<\<(FL\_USHIFT+19)),  
-#define FL\_USER19 RUBY\_FL\_USER19

- RUBY\_FL\_USER20 = (1\<\<(FL\_USHIFT+20)),  
-#define FL\_USER20 RUBY\_FL\_USER20

- RUBY\_FL\_DUMMY = ~(VALUE)0 \>\> 1 /\* make sizeof(enum  
ruby\_value\_flags)

- 

```
                                      equal to sizeof(VALUE). */

```

-};  
+#define FL\_FINALIZE ((VALUE)(1\<\<7))  
+#define FL\_TAINT ((VALUE)(1\<\<8))  
+#define FL\_EXIVAR ((VALUE)(1\<\<9))  
+#define FL\_FREEZE ((VALUE)(1\<\<10))  
+#define FL\_SINGLETON ((VALUE)(1\<\<11))

+#define FL\_USHIFT 11  
+#define FL\_USER0 ((VALUE)(1\<\<(FL\_USHIFT+0)))  
+#define FL\_USER1 ((VALUE)(1\<\<(FL\_USHIFT+1)))  
+#define FL\_USER2 ((VALUE)(1\<\<(FL\_USHIFT+2)))  
+#define FL\_USER3 ((VALUE)(1\<\<(FL\_USHIFT+3)))  
+#define FL\_USER4 ((VALUE)(1\<\<(FL\_USHIFT+4)))  
+#define FL\_USER5 ((VALUE)(1\<\<(FL\_USHIFT+5)))  
+#define FL\_USER6 ((VALUE)(1\<\<(FL\_USHIFT+6)))  
+#define FL\_USER7 ((VALUE)(1\<\<(FL\_USHIFT+7)))  
+#define FL\_USER8 ((VALUE)(1\<\<(FL\_USHIFT+8)))  
+#define FL\_USER9 ((VALUE)(1\<\<(FL\_USHIFT+9)))  
+#define FL\_USER10 ((VALUE)(1\<\<(FL\_USHIFT+10)))  
+#define FL\_USER11 ((VALUE)(1\<\<(FL\_USHIFT+11)))  
+#define FL\_USER12 ((VALUE)(1\<\<(FL\_USHIFT+12)))  
+#define FL\_USER13 ((VALUE)(1\<\<(FL\_USHIFT+13)))  
+#define FL\_USER14 ((VALUE)(1\<\<(FL\_USHIFT+14)))  
+#define FL\_USER15 ((VALUE)(1\<\<(FL\_USHIFT+15)))  
+#define FL\_USER16 ((VALUE)(1\<\<(FL\_USHIFT+16)))  
+#define FL\_USER17 ((VALUE)(1\<\<(FL\_USHIFT+17)))  
+#define FL\_USER18 ((VALUE)(1\<\<(FL\_USHIFT+18)))  
+#define FL\_USER19 ((VALUE)(1\<\<(FL\_USHIFT+19)))  
+#define FL\_USER20 ((VALUE)(1\<\<(FL\_USHIFT+20)))  
+  
#define SPECIAL\_CONST\_P(x) (IMMEDIATE\_P(x) || !RTEST(x))

# #define FL\_ABLE(x) (!SPECIAL\_CONST\_P(x) && BUILTIN\_TYPE(x) != T\_NODE) Index: ruby.c

— ruby.c (e$B%j%S%8%g%se(B 13647)  
+++ ruby.c (e$B:n6H%3%T!\<e(B)  
@@ -58,11 +58,40 @@  
static const union {  
enum ruby\_special\_consts special\_consts;  
enum ruby\_value\_type value\_type;

- enum ruby\_value\_flags value\_flags;  
enum node\_type node\_type;  
enum ruby\_node\_flags node\_flags;  
} dummy\_gdb\_enums;

+const VALUE RUBY\_FL\_MARK = FL\_MARK;  
+const VALUE RUBY\_FL\_RESERVED = FL\_RESERVED;  
+const VALUE RUBY\_FL\_FINALIZE = FL\_FINALIZE;  
+const VALUE RUBY\_FL\_TAINT = FL\_TAINT;  
+const VALUE RUBY\_FL\_EXIVAR = FL\_EXIVAR;  
+const VALUE RUBY\_FL\_FREEZE = FL\_FREEZE;  
+const VALUE RUBY\_FL\_SINGLETON = FL\_SINGLETON;  
+const VALUE RUBY\_FL\_USER0 = FL\_USER0;  
+const VALUE RUBY\_FL\_USER1 = FL\_USER1;  
+const VALUE RUBY\_FL\_USER2 = FL\_USER2;  
+const VALUE RUBY\_FL\_USER3 = FL\_USER3;  
+const VALUE RUBY\_FL\_USER4 = FL\_USER4;  
+const VALUE RUBY\_FL\_USER5 = FL\_USER5;  
+const VALUE RUBY\_FL\_USER6 = FL\_USER6;  
+const VALUE RUBY\_FL\_USER7 = FL\_USER7;  
+const VALUE RUBY\_FL\_USER8 = FL\_USER8;  
+const VALUE RUBY\_FL\_USER9 = FL\_USER9;  
+const VALUE RUBY\_FL\_USER10 = FL\_USER10;  
+const VALUE RUBY\_FL\_USER11 = FL\_USER11;  
+const VALUE RUBY\_FL\_USER12 = FL\_USER12;  
+const VALUE RUBY\_FL\_USER13 = FL\_USER13;  
+const VALUE RUBY\_FL\_USER14 = FL\_USER14;  
+const VALUE RUBY\_FL\_USER15 = FL\_USER15;  
+const VALUE RUBY\_FL\_USER16 = FL\_USER16;  
+const VALUE RUBY\_FL\_USER17 = FL\_USER17;  
+const VALUE RUBY\_FL\_USER18 = FL\_USER18;  
+const VALUE RUBY\_FL\_USER19 = FL\_USER19;  
+const VALUE RUBY\_FL\_USER20 = FL\_USER20;  
+const int RUBY\_FL\_USHIFT = FL\_USHIFT;  
+  
#ifndef HAVE\_STDLIB\_H  
char \*getenv();  
#endif

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [October 7, 2007, 11:55am UTC](https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556/4 "2007-10-07T11:55:13Z")

</div>

e$B@.@%$G$9!#e(B

Tanaka A. wrote:

> In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
> “NARUSE, Yui” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:
> 
> > e$B$.$j$.$j$G%(%i!\<$,=P$^$9$M!#e(B
> 
> e$B$L$%!#$G$Oe(B enum e$B$8$c$J$/$Fe(B const e$B$K$9$k$H$$$&$3$H$G0J2\<$J$ie(B  
> e$B$I$&$G$7$g$&$+!#e(B

e$B$\*$)!“DL$k$h$&$K$J$j$^$7$?!”$"$j$,$H$&$4$6$$$^$9!#e(B  
e$BJL$N$H$3$m$G$3$1$k$h$&$K$J$C$?$N$G$=$l$O$^$?2~$a$F!#e(B

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [October 7, 2007, 3:27pm UTC](https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556/5 "2007-10-07T15:27:39Z")

</div>

e$B@.@%$G$9!#e(B

NARUSE, Yui wrote:

> e$BJL$N$H$3$m$G$3$1$k$h$&$K$J$C$?$N$G$=$l$O$^$?2~$a$F!#e(B

e$B$C$H!";W$C$?$iK\BN$OF0$/$h$&$K$J$C$?$N$G%a%b$^$G$K!#e(B  
…/trunk/configure --program-suffix=19p && make CC=pcc CFLAGS="-g -O2  
-D’\_\_builtin\_next\_arg(last)=((char \*)(&last) + \_\_va\_size(last))’"

e$B$G%3%s%Q%$%k$G$-$^$7$?e(B

e$B$J$\*!"e(B–enable-shared e$B$r$D$1$k$H:G8e$N:G8e$Ge(B  
making ruby19p  
pcc -g -O2 -D’\_\_builtin\_next\_arg(last)=((char \*)(&last) +  
\_\_va\_size(last))’ -L. -Wl,-export-dynamic main.o -Wl,-R  
-Wl,/usr/local/lib -L/usr/local/lib -lruby19p -lpthread -lcrypt -lm -o  
ruby19p  
ld: warning: type and size of dynamic symbol `ruby_run_node' are not defined ld: warning: type and size of dynamic symbol`ruby\_sysinit’ are not  
defined  
ld: warning: type and size of dynamic symbol `ruby_init_stack' are not defined ld: warning: type and size of dynamic symbol`ruby\_init’ are not defined  
ld: warning: type and size of dynamic symbol `ruby\_options’ are not  
defined  
e$B$H%j%s%+$,E$j=P$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [October 7, 2007, 11:00am UTC](https://www.ruby-forum.com/t/pcc-constant-too-big-for-cross-compiler/116556/6 "2007-10-07T11:00:03Z")

</div>

e$B@.@%$G$9!#e(B

Tanaka A. wrote:

> > Stop.
> > 
> > e$B$HE$i$l$k$N$G$9$,!"$3$l$O;EMM$H9M$($F$$$$$N$G$7$g$&$+!#e(B
> 
> e$B$=$C$+!#e(Benum e$B$Oe(B int e$B$^$G$7$+J]\>Z$5$l$F$J$$$s$G$9$M!#e(B
> 
> e$B0J2\<$G$I$&$G$7$g$&$+!#e(B

e$BAGAa$$JV?.$"$j$,$H$&$4$6$$$^$9!#e(B  
e$B$.$j$.$j$G%(%i!\<$,=P$^$9$M!#e(B

pcc -g -I. -I.ext/include/i386-netbsdelf3.1.1. -I…/trunk/include  
-I…/trunk -DRUBY\_EXPORT -c …/trunk/array.c  
…/trunk/include/ruby/ruby.h, line 686: constant too big for  
cross-compiler  
\*\*\* Error code 1

Stop.  
make: stopped in /home/naruse/src/ruby/pcc-trunk

686e$B9TL$Ne(B  
RUBY\_FL\_USER20 = (1\<\<(FL\_USHIFT+20)),  
e$B$,e(B2147483648e$B$@$+$ie(B1e$B%\*!\<%P!\<$H$$$&$3$H$G$7$g$&$+!#e(B
