Ruby on HP-UX

Discussion in 'Ruby' started by Tim Nordloh, Mar 21, 2006.

  1. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_7571_27494188.1142974070555
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    I have read a couple of posts regarding compiling Ruby on HP-UX 11i, and
    I'm hoping for a little more insight on the exact requirements of doing tha=
    t
    type of install. Basically, the posts I have read haven't been
    understandable by someone like me. an earlier post referred to "disable
    ipv6 and wide-getaddrinfo so it uses Ruby's built-in getaddrinfo()
    instead." I have no idea how to do that, I'd love an example command or
    something. I am hoping that I can create a step-by-step procedure for
    installation on any HP-UX server, for people like me, where the high-level
    instructions are not helpful. Without further ado, here is where I've
    managed to get so far.

    1. Download the 1.8.4 tar.gz file
    2. run ./configure
    3. run gmake (not make)
    4. run gmake all
    at this point, I got the following error:
    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    ld -b -E -L"../../.." -o ../../../.ext/hppa2.0w-hpux11.11/digest/md5.sl
    md5init.o md5ossl.o -lcrypto -ldld -lcrypt -lm -lc
    ld: Can't find library: "crypto"
    gmake[1]: *** [../../../.ext/hppa2.0w- hpux11.11/digest/md5.sl] Error 1
    gmake[1]: Leaving directory `/home/tnordloh/ruby/ruby-1.8.4/ext/digest/md5'
    gmake: *** [all] Error 1
    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    so, I decided to play with the ext/Setup file mentioned in the README. By
    uncommenting 'option nodynamic' I'm able to get a clean gmake, and then
    'gmake all', and I have a supposedly working ruby install (at least irb
    functions, and a very basic script works). The 'ri' command didn't work
    though, so on to that....

    so now, I want documentation, which seems to be available by running gmake
    install-all
    this fails after running for quite some time with the following error:
    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    zlib.c:
    mcccccccccccccccccc........................................................=
    ...........................
    Generating RI...
    /home/tnordloh/ruby/ruby-1.8.4/lib/yaml.rb:87: uninitialized constant
    YAML::Syck::Resolver (NameError)
    from /home/tnordloh/ruby/ruby-1.8.4/lib/rdoc/ri/ri_descriptions.rb:=
    1
    from /home/tnordloh/ruby/ruby-1.8.4/lib/rdoc/ri/ri_reader.rb:1
    from /home/tnordloh/ruby/ruby-1.8.4/lib/rdoc/generators/ri_generato=
    r.rb:46

    from /home/tnordloh/ruby/ruby-1.8.4/lib/rdoc/rdoc.rb:250:in
    `document'
    from ./bin/rdoc:63
    gmake: *** [do-install-doc] Error 1

    My Ruby-expert friend believes this is because I'm missing some C headers.
    Any Ruby install gurus have an idea of what I should try here, or what I'm
    missing?

    ------=_Part_7571_27494188.1142974070555--
    Tim Nordloh, Mar 21, 2006
    #1
    1. Advertising

  2. On Mar 21, 2006, at 2:48 PM, Tim Nordloh wrote:

    > 4. run gmake all


    Did you mean gmake install-all here?

    > My Ruby-expert friend


    <laughs> I know that refers to me, but boy are you confused. ;)
    What I know about the Ruby compile process is limited to: "Works
    great on Moc OS X!" :D

    > believes this is because I'm missing some C headers.


    Actually, I believe Ruby failed to install its C extensions. In a
    private message, Tim shared the contents of his extension directory:

    # ls /usr/local/lib/ruby/1.8/hppa2.0w-hpux11.11/
    bigdecimal.sl defines.h intern.h regex.h util.h
    config.h digest missing.h ruby.h version.h
    crypto.h digest.sl node.h rubyio.h
    curses.sl dln.h rbconfig.rb rubysig.h
    dbm.sl env.h re.h st.h

    Compare that with my healthy install:

    $ ls /usr/local/lib/ruby/1.8/powerpc-darwin8.3.0/
    bigdecimal.bundle iconv.bundle rubysig.h
    config.h intern.h sdbm.bundle
    curses.bundle io socket.bundle
    dbm.bundle missing.h st.h
    defines.h nkf.bundle stringio.bundle
    digest node.h strscan.bundle
    digest.bundle openssl.bundle syck.bundle
    dl.bundle pty.bundle syslog.bundle
    dl.h racc tcltklib.bundle
    dlconfig.h rbconfig.rb tkutil.bundle
    dln.h re.h util.h
    enumerator.bundle readline.bundle version.h
    env.h regex.h zlib.bundle
    etc.bundle ruby.h
    fcntl.bundle rubyio.h

    I had him try a few tests. Pure Ruby standard libraries seem to be
    just fine, but, as you can see, the C extensions are missing.

    James Edward Gray II
    James Edward Gray II, Mar 21, 2006
    #2
    1. Advertising

  3. James Edward Gray II wrote:
    > but, as you can see, the C extensions are missing.


    Yah.. isn't that the rub. In general, the extension build system leaves
    a bit to be desired.

    Though, if it can find all it needs to build an extension, it should
    build it. A few things to try..

    * Try editing ext/Setup
    * Try adding --with-readline-dir=... --with-openssl-dir=..., to your
    /configure

    HTH,
    Steve
    Stephen Waits, Mar 21, 2006
    #3
  4. On Wed, Mar 22, 2006 at 06:33:50AM +0900, James Edward Gray II wrote:
    > On Mar 21, 2006, at 2:48 PM, Tim Nordloh wrote:
    > I had him try a few tests. Pure Ruby standard libraries seem to be
    > just fine, but, as you can see, the C extensions are missing.


    That's what he asked for, by disabling shared libs:

    >>so, I decided to play with the ext/Setup file mentioned in the README. By
    >>uncommenting 'option nodynamic' I'm able to get a clean gmake, and then

    ==============================
    >>'gmake all', and I have a supposedly working ruby install (at least irb
    >>functions, and a very basic script works).


    He could either uncomment the desired extensions in ext/Setup so they're linked
    statically, or skip digest/* (and probably other extensions) to get a clean
    build, without disabling dynamic modules altogether.

    --
    Mauricio Fernandez - http://eigenclass.org - singular Ruby
    Mauricio Fernandez, Mar 21, 2006
    #4
  5. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_357_3026888.1142977869175
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    in what way should I edit /ext/setup? Is there a readme on my options?

    Also, I'm assuming the --with-openssl-dir parameter needs to be the
    'include' directory? Here's what I tried, and the result.

    $ ./configure --with-openssl-dir=3D/usr/local/include/openssl
    /configure[88]: conf576.sh: Cannot create the specified file.
    /configure[89]: conf576.sh: Cannot create the specified file.
    chmod: can't access conf576.sh
    /configure[201]: conf576.file: Cannot create the specified file.
    /configure[996]: config.log: Cannot create the specified file.




    On 3/21/06, Stephen Waits <> wrote:
    >
    > James Edward Gray II wrote:
    > > but, as you can see, the C extensions are missing.

    >
    > Yah.. isn't that the rub. In general, the extension build system leaves
    > a bit to be desired.
    >
    > Though, if it can find all it needs to build an extension, it should
    > build it. A few things to try..
    >
    > * Try editing ext/Setup
    > * Try adding --with-readline-dir=3D... --with-openssl-dir=3D..., to your
    > ./configure
    >
    > HTH,
    > Steve
    >
    >
    >
    >


    ------=_Part_357_3026888.1142977869175--
    Tim Nordloh, Mar 21, 2006
    #5
  6. On Mar 21, 2006, at 3:51 PM, Mauricio Fernandez wrote:

    > On Wed, Mar 22, 2006 at 06:33:50AM +0900, James Edward Gray II wrote:
    >> On Mar 21, 2006, at 2:48 PM, Tim Nordloh wrote:
    >> I had him try a few tests. Pure Ruby standard libraries seem to be
    >> just fine, but, as you can see, the C extensions are missing.

    >
    > That's what he asked for, by disabling shared libs:
    >
    >>> so, I decided to play with the ext/Setup file mentioned in the
    >>> README. By
    >>> uncommenting 'option nodynamic' I'm able to get a clean gmake,
    >>> and then

    > ==============================
    >>> 'gmake all', and I have a supposedly working ruby install (at
    >>> least irb
    >>> functions, and a very basic script works).

    >
    > He could either uncomment the desired extensions in ext/Setup so
    > they're linked
    > statically, or skip digest/* (and probably other extensions) to get
    > a clean
    > build, without disabling dynamic modules altogether.


    Any idea why digest threw a fit?

    James Edward Gray II
    James Edward Gray II, Mar 21, 2006
    #6
  7. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_669_23911725.1142978795874
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    Looking into it, I might be able to download a newer version, if it's
    something I have control over. I'll let you know ASAP

    >
    > Any idea why digest threw a fit?
    >
    > James Edward Gray II
    >
    >


    ------=_Part_669_23911725.1142978795874--
    Tim Nordloh, Mar 21, 2006
    #7
  8. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_1245_25143547.1142981272586
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    ok, I uncommented entries in the ext/Setup file one-by-one, and here's what
    I ended up with:

    root@atcito01 [/home/tnordloh/ruby/ruby-1.8.4]
    # cat ext/Setup
    #option nodynamic

    #Win32API
    bigdecimal
    curses
    dbm
    #digest
    digest/md5
    digest/rmd160
    digest/sha1
    digest/sha2
    #dl
    #enumerator
    #etc
    #fcntl
    #gdbm
    iconv
    #io/wait
    #nkf
    #pty
    openssl
    #racc/cparse
    #readline
    #sdbm
    #socket
    #stringio
    #strscan
    #syck
    #syslog
    #tcltklib
    #tk
    #win32ole
    zlib

    I'm back to 'gmake' at this point and it fails at the ruby compile like
    so...

    making ruby
    gmake[1]: Entering directory `/home/tnordloh/ruby/ruby-1.8.4'
    gcc -g -O2 -DRUBY_EXPORT -DYYMAXDEPTH=3D300 -I. -I. -oext/extinit.o -c
    ext/extinit.c
    gcc -g -O2 -DRUBY_EXPORT -DYYMAXDEPTH=3D300 -Wl,-E -L.
    -L"/usr/local/include/openssl/lib" -E main.o ext/extinit.o
    ext/bigdecimal/bigdecimal.a ext/curses/curses.a ext/dbm/dbm.a
    ext/digest/md5/md5.a ext/digest/rmd160/rmd160.a ext/digest/sha1/sha1.a
    ext/digest/sha2/sha2.a ext/iconv/iconv.a ext/openssl/openssl.a
    ext/zlib/zlib.a -lruby-static -ldld -lcrypt -lm -lcur_colr -ltermcap -lssl
    -lcrypto -liconv -lnsl -lz -o ruby
    gcc: -E: linker input file unused because linking not done
    gcc: main.o: linker input file unused because linking not done
    gcc: ext/extinit.o: linker input file unused because linking not done
    gcc: ext/bigdecimal/bigdecimal.a: linker input file unused because linking
    not done
    gcc: ext/curses/curses.a: linker input file unused because linking not done
    gcc: ext/dbm/dbm.a: linker input file unused because linking not done
    gcc: ext/digest/md5/md5.a: linker input file unused because linking not don=
    e
    gcc: ext/digest/rmd160/rmd160.a: linker input file unused because linking
    not done
    gcc: ext/digest/sha1/sha1.a: linker input file unused because linking not
    done
    gcc: ext/digest/sha2/sha2.a: linker input file unused because linking not
    done
    gcc: ext/iconv/iconv.a: linker input file unused because linking not done
    gcc: ext/openssl/openssl.a: linker input file unused because linking not
    done
    gcc: ext/zlib/zlib.a: linker input file unused because linking not done
    gcc: -lruby-static: linker input file unused because linking not done
    gcc: -ldld: linker input file unused because linking not done
    gcc: -lcrypt: linker input file unused because linking not done
    gcc: -lm: linker input file unused because linking not done
    gcc: -lcur_colr: linker input file unused because linking not done
    gcc: -ltermcap: linker input file unused because linking not done
    gcc: -lssl: linker input file unused because linking not done
    gcc: -lcrypto: linker input file unused because linking not done
    gcc: -liconv: linker input file unused because linking not done
    gcc: -lnsl: linker input file unused because linking not done
    gcc: -lz: linker input file unused because linking not done
    gmake[1]: Leaving directory `/home/tnordloh/ruby/ruby-1.8.4'

    And that really loses me. It looks a lot like the 'gcc' command got
    garbled. Any idea what to make of that? I don't see an explicit 'failed'
    message, but did it run right? I can't tell.
    One thing is for sure, ri still isn't working:

    root@atcito01 [/home/tnordloh/ruby/ruby-1.8.4]
    # ri Array
    /usr/local/lib/ruby/1.8/yaml.rb:87: uninitialized constant
    YAML::Syck::Resolver (NameError)
    from /usr/local/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:1
    from /usr/local/lib/ruby/1.8/rdoc/ri/ri_reader.rb:1
    from /usr/local/lib/ruby/1.8/rdoc/ri/ri_driver.rb:5
    from /usr/local/bin/ri:43




    On 3/21/06, Tim Nordloh <> wrote:

    > Looking into it, I might be able to download a newer version, if it's
    > something I have control over. I'll let you know ASAP
    >
    > >
    > > Any idea why digest threw a fit?
    > >
    > > James Edward Gray II
    > >
    > >

    >
    >


    ------=_Part_1245_25143547.1142981272586--
    Tim Nordloh, Mar 21, 2006
    #8
  9. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_585_25985389.1143040010478
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    These first couple of lines look like a malformed gcc command to me. Anyon=
    e
    have an idea of what the line should read?





    gcc -g -O2 -DRUBY_EXPORT -DYYMAXDEPTH=3D300 -Wl,-E -L.

    -L"/usr/local/include/openssl/lib" -E main.o ext/extinit.o
    ext/bigdecimal/bigdecimal.a ext/curses/curses.a ext/dbm/dbm.a
    ext/digest/md5/md5.a ext/digest/rmd160/rmd160.a ext/digest/sha1/sha1.a
    ext/digest/sha2/sha2.a ext/iconv/iconv.a ext/openssl/openssl.a
    ext/zlib/zlib.a -lruby-static -ldld -lcrypt -lm -lcur_colr -ltermcap -lssl
    -lcrypto -liconv -lnsl -lz -o ruby

    gcc: -E: linker input file unused because linking not done

    ------=_Part_585_25985389.1143040010478--
    Tim Nordloh, Mar 22, 2006
    #9
  10. On Thu, Mar 23, 2006 at 12:07:30AM +0900, Tim Nordloh wrote:
    > These first couple of lines look like a malformed gcc command to me. Anyone
    > have an idea of what the line should read?
    >
    > gcc -g -O2 -DRUBY_EXPORT -DYYMAXDEPTH=300 -Wl,-E -L.
    > -L"/usr/local/include/openssl/lib" -E main.o ext/extinit.o

    ====
    Could you try without this?

    > ext/bigdecimal/bigdecimal.a ext/curses/curses.a ext/dbm/dbm.a
    > ext/digest/md5/md5.a ext/digest/rmd160/rmd160.a ext/digest/sha1/sha1.a
    > ext/digest/sha2/sha2.a ext/iconv/iconv.a ext/openssl/openssl.a
    > ext/zlib/zlib.a -lruby-static -ldld -lcrypt -lm -lcur_colr -ltermcap -lssl
    > -lcrypto -liconv -lnsl -lz -o ruby


    BTW, you might have to add digest (which digest/md5 and friends depend on)
    and syck (in order to get ri to work) to the extension list.

    --
    Mauricio Fernandez - http://eigenclass.org - singular Ruby
    Mauricio Fernandez, Mar 22, 2006
    #10
  11. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_2827_19261585.1143049403032
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    Ok, I hand-modified it and ended up with this....
    gcc -g -O2 -DRUBY_EXPORT -DYYMAXDEPTH=3D300 -Wl,-E -L.
    main.oext/extinit.o ext/bigdecimal/bigdecimal.a \
    > ext/curses/curses.a ext/dbm/dbm.a ext/digest/md5/md5.a

    ext/digest/rmd160/rmd160.a ext/digest/sha1/sha1.a \
    > ext/digest/sha2/sha2.a ext/iconv/iconv.a ext/openssl/openssl.a

    ext/zlib/zlib.a -lruby-static -ldld -lcrypt \
    > -lm -lcur_colr -ltermcap -lssl -lcrypto -liconv -lnsl -lz -o ruby


    which seemed to run successfully.

    So, I went through and removed all references to the
    "/usr/local/include/openssl/lib" from all MakeFiles. I still got an error,
    so I ended up removing the "EXTLDFLAGS" entry (which contained the extra -E
    which was causing the compile failure. I was then able to successfully run
    the 'gmake' routine, as well as 'gmake all'.

    Thanks, this is the closest I've managed to get, but all that work

    "gmake install-all" appeared to successfully run, but I continue to get the
    same error when I attempt to run ri:
    root@atcito01 [/home/tnordloh/ruby/ruby-1.8.4]
    # ri File
    /usr/local/lib/ruby/1.8/yaml.rb:87: uninitialized constant
    YAML::Syck::Resolver (NameError)
    from /usr/local/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:1
    from /usr/local/lib/ruby/1.8/rdoc/ri/ri_reader.rb:1
    from /usr/local/lib/ruby/1.8/rdoc/ri/ri_driver.rb:5
    from /usr/local/bin/ri:43

    So what is the problem?

    On 3/22/06, Mauricio Fernandez <> wrote:
    >
    > On Thu, Mar 23, 2006 at 12:07:30AM +0900, Tim Nordloh wrote:
    > > These first couple of lines look like a malformed gcc command to

    > me. Anyone
    > > have an idea of what the line should read?
    > >
    > > gcc -g -O2 -DRUBY_EXPORT -DYYMAXDEPTH=3D300 -Wl,-E -L.
    > > -L"/usr/local/include/openssl/lib" -E main.o ext/extinit.o

    > =3D=3D=3D=3D
    > Could you try without this?
    >
    > > ext/bigdecimal/bigdecimal.a ext/curses/curses.a ext/dbm/dbm.a
    > > ext/digest/md5/md5.a ext/digest/rmd160/rmd160.a ext/digest/sha1/sha1.a
    > > ext/digest/sha2/sha2.a ext/iconv/iconv.a ext/openssl/openssl.a
    > > ext/zlib/zlib.a -lruby-static -ldld -lcrypt -lm -lcur_colr -ltermcap

    > -lssl
    > > -lcrypto -liconv -lnsl -lz -o ruby

    >
    > BTW, you might have to add digest (which digest/md5 and friends depend on=

    )
    > and syck (in order to get ri to work) to the extension list.
    >
    > --
    > Mauricio Fernandez - http://eigenclass.org - singular Ruby
    >
    >


    ------=_Part_2827_19261585.1143049403032--
    Tim Nordloh, Mar 22, 2006
    #11
  12. Tim Nordloh

    MenTaLguY Guest

    I really think this approach of removing things until it compiles is a mi=
    stake; if you did eventually get something that built, you'd just end up =
    with a build of Ruby that most likely won't run any useful Ruby scripts.

    Your main issue is one of how the libraries Ruby depends on were built or=
    installed -- you definitely do want to build them yourself, if you're cu=
    rrently trying to use prepackaged versions. Part of the what's going on =
    is missing header files, but I have no idea what else is going on. If yo=
    u build the libraries yourself with the default options (to the degree po=
    ssible), they're a known quantity.

    I actually created a /usr/local/ruby where I installed fresh builds of al=
    l the required libraries. Note that doing so will required compiling eve=
    rything with e.g. -Wl,+b -Wl,/usr/local/ruby/lib though...

    Also, see my notes in the earlier post:
    http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/fdb97=
    e11bcf2be54/d1dc4df9c0a875b8#d1dc4df9c0a875b8

    I have to ask, though -- do you really need to do this on _HP-UX_?

    For me, it was almost more pain than it was worth -- not because of adjus=
    tments required to Ruby itself, but because of quirks of the platform and=
    the gymnastics required to build the libraries Ruby depends on in just t=
    he right way to make the dynamic linker happy.

    -mental
    MenTaLguY, Mar 22, 2006
    #12
  13. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_6261_9099241.1143063959861
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    Well, my basic Ruby scripts run ok for my basic needs, and no -- I don't
    'need' to run Ruby on HP-UX. I'm the System Admin: I'll just label it as a
    'non HP-UX compliant product' and tell any developer that wants to use it t=
    o
    use Perl for their interpreted language needs :)

    I'll just wait until some bright-eyed kid gets a version on the HP Software
    porting archive.

    Thanks all, for the attempts....


    On 3/22/06, MenTaLguY <> wrote:
    >
    > I really think this approach of removing things until it compiles is a
    > mistake; if you did eventually get something that built, you'd just end u=

    p
    > with a build of Ruby that most likely won't run any useful Ruby scripts.
    >
    > Your main issue is one of how the libraries Ruby depends on were built or
    > installed -- you definitely do want to build them yourself, if you're
    > currently trying to use prepackaged versions. Part of the what's going o=

    n
    > is missing header files, but I have no idea what else is going on. If yo=

    u
    > build the libraries yourself with the default options (to the degree
    > possible), they're a known quantity.
    >
    > I actually created a /usr/local/ruby where I installed fresh builds of al=

    l
    > the required libraries. Note that doing so will required compiling
    > everything with e.g. -Wl,+b -Wl,/usr/local/ruby/lib though...
    >
    > Also, see my notes in the earlier post:
    >
    > http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/fdb97e=

    11bcf2be54/d1dc4df9c0a875b8#d1dc4df9c0a875b8
    >
    > I have to ask, though -- do you really need to do this on _HP-UX_?
    >
    > For me, it was almost more pain than it was worth -- not because of
    > adjustments required to Ruby itself, but because of quirks of the platfor=

    m
    > and the gymnastics required to build the libraries Ruby depends on in jus=

    t
    > the right way to make the dynamic linker happy.
    >
    > -mental
    >
    >
    >
    >


    ------=_Part_6261_9099241.1143063959861--
    Tim Nordloh, Mar 22, 2006
    #13
  14. Tim Nordloh

    MenTaLguY Guest

    On Thu, 23 Mar 2006 06:46:28 +0900, "Tim Nordloh" <> wr=
    ote:
    > I'll just wait until some bright-eyed kid gets a version on the HP
    > Software porting archive.


    I guess that really means getting correctly built versions of all the rel=
    event libraries on the porting archive first.

    Once that were done, building Ruby proper is trivial aside from the usual=
    HP-UX porting tricks like short-circuiting the autoconf test to ignore H=
    P-UX's incompletely implemented getaddrinfo().

    Does anyone else on the list care enough for me to pursue this?

    -mental
    MenTaLguY, Mar 22, 2006
    #14
  15. On 22 Mar 2006, at 22:34, MenTaLguY wrote:

    > On Thu, 23 Mar 2006 06:46:28 +0900, "Tim Nordloh"
    > <> wrote:
    >> I'll just wait until some bright-eyed kid gets a version on the HP
    >> Software porting archive.

    >
    > I guess that really means getting correctly built versions of all
    > the relevent libraries on the porting archive first.
    >
    > Once that were done, building Ruby proper is trivial aside from the
    > usual HP-UX porting tricks like short-circuiting the autoconf test
    > to ignore HP-UX's incompletely implemented getaddrinfo().
    >
    > Does anyone else on the list care enough for me to pursue this?


    I desperately need a version of Ruby that works on HPUX, and I've
    really got very little idea of how to go about getting it to work :
    ( - I'm from the happy world of opening my iBook, and "oooh, it's pre-
    installed!", all this needing to download things, tinker with them,
    and build them, is totally alien!

    :) If you can get it to work, and you live in London, I'm happy to
    pay in beer :)
    Benjohn Barnes, Mar 22, 2006
    #15
  16. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_8483_15826766.1143079471534
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    MenTaLGuY,
    I'd love to get Ruby working on HP-UX, but more importantly I would like to
    generate a series of steps that can be easily duplicated to install Ruby on
    HP-UX anywhere. Of course, this is mostly to benefit me, so it's very easy
    to convince me to stop bugging the entire Ruby community about it :). As I
    mentioned in my original post, the directions out there right now are just
    too high-level for me.

    I'm willing to help out in whatever way possible in getting a procedure set
    up.

    If this helps, In the final analysis, I was getting the same failure on all
    libraries except one. I couldn't link 'crypto' on most, and 'iconv' on the
    odd one. I was able to verify this by purging references to 'crypto' in th=
    e
    makefiles, at which point everything except iconv successfully linked. Giv=
    e
    me a hint as to what library I need for this. I actually see crypto.h in
    the /usr/local/etc/openssl directory, is there another version I need?

    For some reason I still get SYCK errors at this point which, I assume,
    means that one of the libraries needs something I messed up by removing
    crypto linking and not dynamically linking iconv.

    If you have something else for me to try, I'll be glad to.

    ------=_Part_8483_15826766.1143079471534--
    Tim Nordloh, Mar 23, 2006
    #16
  17. On Mar 22, 2006, at 8:05 PM, Tim Nordloh wrote:

    > I'd love to get Ruby working on HP-UX, but more importantly I would
    > like to
    > generate a series of steps that can be easily duplicated to install
    > Ruby on
    > HP-UX anywhere.


    What I believe MenTaLguY was trying to say is that you would need to
    sit down and do a bunch of compiling to get it going.

    Those C extensions link against other libraries on the system. For
    some reason, this isn't working out for your build process. It could
    be because you don't have the needed library installed, or just that
    your package-manager installs aren't recognized, possibly because of
    missing header files.

    By pulling those libraries down yourself and building them from
    source, you can probably get around at least a large portion of
    this. However, that's not likely to boil down to a simple series of
    steps.

    James Edward Gray II
    James Edward Gray II, Mar 23, 2006
    #17
  18. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_9135_10616429.1143083590929
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    At this point, I'm not asking for a lot, just a hint would help, such as,
    what library is crypto in (openssl I guess???? I'm attempting to compile
    that now, so hopefully my guess is right), and what library is iconv in?
    And which one is likely the hangup for YAML+SYCK?

    I'm trying my best to not waste anyone's time, and for every response I've
    spent at least an hour checking, rechecking deleting and reinstalling from
    scratch (honing the mysterious procedure), and I have made several
    discoveries on the way. I thank everyone for advice so far and understand
    if you all want to give up. After all, I'm not exactly paying anyone for
    their time. That's kind of why I keep talking about creating a lower-level
    procedure for an HP-UX install, so that the Ruby community will at least be
    able to gain some benefit at the end of this thread.


    On 3/22/06, James Edward Gray II <> wrote:
    >
    > On Mar 22, 2006, at 8:05 PM, Tim Nordloh wrote:
    >
    > > I'd love to get Ruby working on HP-UX, but more importantly I would
    > > like to
    > > generate a series of steps that can be easily duplicated to install
    > > Ruby on
    > > HP-UX anywhere.

    >
    > What I believe MenTaLguY was trying to say is that you would need to
    > sit down and do a bunch of compiling to get it going.
    >
    > Those C extensions link against other libraries on the system. For
    > some reason, this isn't working out for your build process. It could
    > be because you don't have the needed library installed, or just that
    > your package-manager installs aren't recognized, possibly because of
    > missing header files.
    >
    > By pulling those libraries down yourself and building them from
    > source, you can probably get around at least a large portion of
    > this. However, that's not likely to boil down to a simple series of
    > steps.
    >
    > James Edward Gray II
    >
    >
    >


    ------=_Part_9135_10616429.1143083590929--
    Tim Nordloh, Mar 23, 2006
    #18
  19. Tim Nordloh

    MenTaLguY Guest

    libcrypto is provided by openssl, yes

    iconv _should_ be provided by your OS's libc, but as I recall HP-UX's is
    present but broken (HP has a distressing habit of implementing things
    just enough to pass a naive configure test). You can get a portable
    iconv replacement for Ruby to use here:

    http://www.gnu.org/software/libiconv/

    If I remember correctly, the list of essential libraries is something
    like (in no particular order):

    - zlib
    - libgdbm
    - libiconv
    - ncurses
    - readline
    - openssl

    I think there's one more I'm forgetting, but I can't find my notes just
    now. It'll be pretty obvious if you're still missing one, though.

    Make sure that these are all available as either shared libraries, or
    (failing that) that they were at least built as position-independent
    code. Otherwise the HP-UX dynamic linker will choke at runtime because
    it can't relocate the static objects HP's linker blindly imports into
    shared libraries.

    See my old post that I linked to for more details and other tweaks that
    need to be made to specific libraries for HP-UX.

    -mental
    MenTaLguY, Mar 23, 2006
    #19
  20. Tim Nordloh

    Tim Nordloh Guest

    ------=_Part_9928_979708.1143088563998
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    I'll work on at least openssl, since it is the squeaky wheel at the moment.
    I'm having issues with it's makefile at the moment. Incidentally, why are
    you refering to libcrypto, when the error is related to crypto? Is crypto
    somehow contained in the libcrypto file? I ask because I have a '
    libcrypto.sl' file on my system, but no 'crypto.sl', so I sense the
    difference may be important to me in some way. I'll paste the error below,
    so you don't have to refer back to my original message to the forum...

    gmake[1]: Entering directory `/home/tnordloh/ruby/ruby-1.8.4/ext/digest/md5=
    '
    ld -b -E -L"../../.." -o ../../../.ext/hppa2.0w-hpux11.11/digest/md5.sl
    md5init.o md5ossl.o -lcrypto -ldld -lcrypt -lm -lc
    *ld: Can't find library: "crypto"*
    gmake[1]: *** [../../../.ext/hppa2.0w-hpux11.11/digest/md5.sl] Error 1
    gmake[1]: Leaving directory `/home/tnordloh/ruby/ruby-1.8.4/ext/digest/md5'
    gmake: *** [all] Error 1


    I did read your original message, and I apologize for not understanding it.
    It's too high-level for me. For example, when you talk about "disable ipv6
    and wide-getaddrinfo so it uses Ruby's built-in getaddrinfo() instead" I as=
    k
    the question "how?" I don't believe I have IPv6 enabled, so maybe I'm good
    on this step.


    On 3/22/06, MenTaLguY <> wrote:
    >
    > libcrypto is provided by openssl, yes
    >
    > iconv _should_ be provided by your OS's libc, but as I recall HP-UX's is
    > present but broken (HP has a distressing habit of implementing things
    > just enough to pass a naive configure test). You can get a portable
    > iconv replacement for Ruby to use here:
    >
    > http://www.gnu.org/software/libiconv/
    >
    > If I remember correctly, the list of essential libraries is something
    > like (in no particular order):
    >
    > - zlib
    > - libgdbm
    > - libiconv
    > - ncurses
    > - readline
    > - openssl
    >
    > I think there's one more I'm forgetting, but I can't find my notes just
    > now. It'll be pretty obvious if you're still missing one, though.
    >
    > Make sure that these are all available as either shared libraries


    how do I make sure of this?
    or
    (failing that) that they were at least built as position-independent
    code. Otherwise the HP-UX dynamic linker will choke at runtime because
    it can't relocate the static objects HP's linker blindly imports into
    shared libraries.

    See my old post that I linked to for more details and other tweaks that
    need to be made to specific libraries for HP-UX.

    -mental

    ------=_Part_9928_979708.1143088563998--
    Tim Nordloh, Mar 23, 2006
    #20
    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. Replies:
    0
    Views:
    201
  2. anne001
    Replies:
    1
    Views:
    364
  3. Phrogz
    Replies:
    4
    Views:
    215
    Austin Ziegler
    Sep 6, 2006
  4. roschler
    Replies:
    0
    Views:
    171
    roschler
    Oct 16, 2006
  5. Nicholas
    Replies:
    3
    Views:
    370
    Ryan Davis
    Jan 28, 2007
Loading...

Share This Page