Failure trying to build Ruby 1.8.6 on HP-UX 11

Discussion in 'Ruby' started by Daniel Berger, Aug 21, 2007.

  1. Hi all,

    djberge@td191> uname -a
    HP-UX td191 B.11.31 U 9000/800 3397116299 unlimited-user license

    djberge@td191> what `which cc`
    /usr/bin/cc:
    $Revision: 92453-07 linker linker crt0.o B.11.53 060807 $
    LINT B.11.X.36086-36089-36092.GP CXREF B.11.X.
    36086-36089-36092.GP
    HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
    $ PATCH/11.00:pHCO_27774 Oct 3 2002 09:45:59 $

    djberge@td191> echo $CC
    cc -Ae -s

    When I try to build Ruby 1.8.6 I get this:

    cc -Ae -s -DRUBY_EXPORT -DYYMAXDEPTH=300 -I. -I. -c parse.c
    cc: "parse.y", line 4446: warning 527: Integral value implicitly
    converted to pointer in assignment.
    cc: "parse.y", line 4449: error 1530: Undefined struct or union.
    cc: "parse.y", line 4451: error 1530: Undefined struct or union.
    cc: "parse.y", line 4451: warning 563: Argument #1 is not the correct
    type.
    cc: "parse.y", line 4452: error 1530: Undefined struct or union.
    cc: "parse.y", line 4454: error 1530: Undefined struct or union.
    cc: "parse.y", line 4454: error 1563: Expression in if must be scalar.
    cc: "parse.y", line 4464: error 1530: Undefined struct or union.
    cc: "parse.y", line 4466: error 1530: Undefined struct or union.
    cc: "parse.y", line 4466: error 1530: Undefined struct or union.
    cc: "parse.y", line 4466: error 1563: Expression in if must be scalar.
    cc: "parse.y", line 4468: error 1530: Undefined struct or union.
    *** Error exit code 1

    I see from older posts (including one of my own) that others have had
    this problem. The old solution of sticking "#define inline" in
    config.h did not work, though.

    Any ideas?

    BTW, you can get access to HP-UX (and OpenVMS, Linux, Windows 2003
    Server and FreeBSD 6.2) via the HP testdrive program at http://www.testdrive.hp.com
    (which is what I'm using in an attempt to get some platform info for
    rubygems).

    Regards,

    Dan
     
    Daniel Berger, Aug 21, 2007
    #1
    1. Advertising

  2. Daniel Berger

    Guest

    I am guessing that cc doesn't integrate directoy with yacc/flex/bison/
    etc. parse.y isn't C code.
     
    , Aug 21, 2007
    #2
    1. Advertising

  3. Daniel Berger

    MenTaLguY Guest

    If I rememeber correctly from my own attempts to build Ruby on
    HP-UX, one of the issues is that HP's make is broken and
    incorrectly thinks parse.y is out of date, trying to regenerate it
    with HP's yacc, which is also broken.

    Things generally get much better if you use the GNU toolchain (make,
    bison, gcc) rather than HP's. But note that you'll still need to
    disable IPv6 support or else the socket library won't actually work
    (because HP's IPv6 support is broken).

    Also, make sure that the linker patches are up-to-date, or you may
    run into linker issues down the road.

    -mental
     
    MenTaLguY, Aug 21, 2007
    #3
  4. On Aug 21, 12:46 pm, Daniel Berger <> wrote:
    > Hi all,
    >
    > djberge@td191> uname -a
    > HP-UX td191 B.11.31 U 9000/800 3397116299 unlimited-user license
    >
    > djberge@td191> what `which cc`
    > /usr/bin/cc:
    > $Revision: 92453-07 linker linker crt0.o B.11.53 060807 $
    > LINT B.11.X.36086-36089-36092.GP CXREF B.11.X.
    > 36086-36089-36092.GP
    > HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
    > $ PATCH/11.00:pHCO_27774 Oct 3 2002 09:45:59 $
    >
    > djberge@td191> echo $CC
    > cc -Ae -s
    >
    > When I try to build Ruby 1.8.6 I get this:


    <snip>

    Ok, the problem went away when I installed gperf. The only other
    quirks I noticed is that you have to run make twice - the first one
    fails, but then the second works - and that ext/curses may cause the
    build to fail. I simply removed ext/curses altogether, but I think
    older posts have better soltuions.

    Regards,

    Dan
     
    Daniel Berger, Aug 21, 2007
    #4
  5. MenTaLguY wrote:
    > If I rememeber correctly from my own attempts to build Ruby on
    > HP-UX, one of the issues is that HP's make is broken and
    > incorrectly thinks parse.y is out of date, trying to regenerate it
    > with HP's yacc, which is also broken.


    There's definitely something odd going on, but I managed to build and
    install gperf, which solved it.

    > Things generally get much better if you use the GNU toolchain (make,
    > bison, gcc) rather than HP's. But note that you'll still need to
    > disable IPv6 support or else the socket library won't actually work
    > (because HP's IPv6 support is broken).


    Yes, I can't say I'm too impressed with the HP-UX libraries or
    toolchain. Unfortunately, we do have a couple of HP-UX machines at work,
    so I still like to support it when I can.

    > Also, make sure that the linker patches are up-to-date, or you may
    > run into linker issues down the road.


    I hit one already trying to build zlib. :(

    Thanks,

    Dan
     
    Daniel Berger, Aug 22, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ilias Lazaridis
    Replies:
    0
    Views:
    593
    Ilias Lazaridis
    Feb 1, 2005
  2. Manas Dadarkar

    Ruby 1.8.4 build failure on AIX 5.3

    Manas Dadarkar, Feb 4, 2007, in forum: Ruby
    Replies:
    0
    Views:
    131
    Manas Dadarkar
    Feb 4, 2007
  3. Daniel Berger

    ruby-ldap 0.9.7 build failure

    Daniel Berger, Oct 23, 2007, in forum: Ruby
    Replies:
    0
    Views:
    111
    Daniel Berger
    Oct 23, 2007
  4. Daniel Berger
    Replies:
    0
    Views:
    93
    Daniel Berger
    Nov 18, 2007
  5. Shekar Ls
    Replies:
    0
    Views:
    98
    Shekar Ls
    Nov 11, 2009
Loading...

Share This Page