Build problems on HP-UX with HP C compiler

Hi all,

Ruby 1.6.8 and Ruby 1.8.0 (today’s snapshot)

$ uname -a
HP-UX hplkp258 B.11.00 A 9000/800 604369373

cpp.ansi: HP92453-01 B.11.11.04 HP C Preprocessor (ANSI)
ccom: HP92453-01 B.11.11.04 HP C Compiler
/usr/ccs/bin/ld: 92453-07 linker linker ld B.11.30 011005

I can’t get either 1.6.8 or 1.8 to build with the HP C compiler.

First, 1.6.8:

$ make
cc -g -I. -I. -c array.c

···

cc: “ruby.h”, line 569: error 1000: Unexpected symbol: “rb_class_of”.
cc: panic 2017: Cannot recover from earlier errors, terminating.
*** Error exit code 1

Now, 1.8:

$ make

I get warnings like this from several files

cc: “hash.c”, line 290: warning 604: Pointers are not assignment-compatible.
cc: “hash.c”, line 290: warning 563: Argument #3 is not the correct type.

and finally

cc -g -DYYMAXDEPTH=300 -I. -I. -c parse.c
cc: “parse.y”, line 4371: warning 527: Integral value implicitly
converted to pointer in assignment.
cc: “parse.y”, line 4374: error 1530: Undefined struct or union.
cc: “parse.y”, line 4376: error 1530: Undefined struct or union.
cc: “parse.y”, line 4376: warning 563: Argument #1 is not the correct type.
cc: “parse.y”, line 4378: error 1530: Undefined struct or union.
cc: “parse.y”, line 4378: error 1563: Expression in if must be scalar.
cc: “parse.y”, line 4387: error 1530: Undefined struct or union.
cc: “parse.y”, line 4389: error 1530: Undefined struct or union.
cc: “parse.y”, line 4389: error 1530: Undefined struct or union.
cc: “parse.y”, line 4389: error 1563: Expression in if must be scalar.
cc: “parse.y”, line 4391: error 1530: Undefined struct or union.
*** Error exit code 1

The config.log files are 35k (1.6.8) and 87k (1.8) so I didn’t include
them here. Available on request (please send email to djberge at qwest
dot com). I will post them individually if folks want, as a followup to
this message.

Any ideas?

Regards,

Dan

Daniel Berger djberge@qwest.com writes:

Ruby 1.6.8 and Ruby 1.8.0 (today’s snapshot)

$ uname -a
HP-UX hplkp258 B.11.00 A 9000/800 604369373

cpp.ansi: HP92453-01 B.11.11.04 HP C Preprocessor (ANSI)
ccom: HP92453-01 B.11.11.04 HP C Compiler
/usr/ccs/bin/ld: 92453-07 linker linker ld B.11.30 011005

I can’t get either 1.6.8 or 1.8 to build with the HP C compiler.

Hmm, I just tried building 1.6.8 as well as ruby-1.8.0-preview3, and I
had no problems:

$ uname -a
HP-UX raptor B.11.00 A 9000/785 2010802175 two-user license
$ what which cc
/usr/bin/cc:
LINT A.11.01.25171.GP CXREF A.11.01.25171.GP
HP92453-01 A.11.01.25171.GP HP C Compiler
$ Sep 8 2000 23:13:51 $

I haven’t used a special setup, just what I’ve been using before:

export CCOPTS=-I/opt/readline/include
export LDOPTS=-L/opt/readline/lib

CC=‘cc -Ae -s’
./configure --prefix=/opt/ruby --without-gcc --enable-shared

The results are:

ruby 1.6.8 (2002-12-24) [hppa2.0w-hpux11.00]
ruby 1.8.0 (2003-06-23) [hppa2.0w-hpux11.00]

So–if it works for me, I don’t see why it shouldn’t work for you :wink:

···


Michael Piotrowski, M.A. mxp@dynalabs.de
Public key at http://www.dynalabs.de/mxp/pubkey.txt

Michael Piotrowski wrote:

Daniel Berger djberge@qwest.com writes:

Ruby 1.6.8 and Ruby 1.8.0 (today’s snapshot)

$ uname -a
HP-UX hplkp258 B.11.00 A 9000/800 604369373

cpp.ansi: HP92453-01 B.11.11.04 HP C Preprocessor (ANSI)
ccom: HP92453-01 B.11.11.04 HP C Compiler
/usr/ccs/bin/ld: 92453-07 linker linker ld B.11.30 011005

I can’t get either 1.6.8 or 1.8 to build with the HP C compiler.

Hmm, I just tried building 1.6.8 as well as ruby-1.8.0-preview3, and I
had no problems:

$ uname -a
HP-UX raptor B.11.00 A 9000/785 2010802175 two-user license
$ what which cc
/usr/bin/cc:
LINT A.11.01.25171.GP CXREF A.11.01.25171.GP
HP92453-01 A.11.01.25171.GP HP C Compiler
$ Sep 8 2000 23:13:51 $

I haven’t used a special setup, just what I’ve been using before:

export CCOPTS=-I/opt/readline/include
export LDOPTS=-L/opt/readline/lib

CC=‘cc -Ae -s’
./configure --prefix=/opt/ruby --without-gcc --enable-shared

The results are:

ruby 1.6.8 (2002-12-24) [hppa2.0w-hpux11.00]
ruby 1.8.0 (2003-06-23) [hppa2.0w-hpux11.00]

So–if it works for me, I don’t see why it shouldn’t work for you :wink:

Thanks to Michael’s diligence, it was discovered that “#define inline”
was somehow left out of the config.h file. Once I added that, it built
successfully.

Thanks Michael!

Regards,

Dan