Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: JRuby 1.5
    • Fix Version/s: JRuby 1.5
    • Component/s: None
    • Labels:
      None
    • Number of attachments :
      5

      Description

      The current release of jffi bundled with JRuby has binaries for Darwin (all arches), i386-Linux, x86_64-Linux, i386-Windows, x86_64-Windows. It might be useful to have binary builds for more esoteric platforms like i386-FreeBSD and x86_64-FreeBSD.

      To build jffi, do something like:

       git clone git://github.com/wmeissner/jffi.git jffi.git
       cd jffi.git
       git checkout 1.0.0
       ant jar test
       cp dist/jffi-x86_64-FreeBSD.jar /path/to/jruby/build_lib/
       cd /path/to/jruby
       ant clean test
      

      The resulting dist/jffi-$CPU-$OS.jar file could also be attached to this issue, and someone could commit it to jruby.

        Activity

        Hide
        Antoine Toulme added a comment -

        I rebuilt with a 32 bit JVM and attached the results here for your convenience. I don't know if the .so file needs updating with 1.5. The old ppc .so file seems to still be working.

        I get a segmentation fault at the end of the program execution right now. I will report if it's annoying or occurring right when exiting.

        Show
        Antoine Toulme added a comment - I rebuilt with a 32 bit JVM and attached the results here for your convenience. I don't know if the .so file needs updating with 1.5. The old ppc .so file seems to still be working. I get a segmentation fault at the end of the program execution right now. I will report if it's annoying or occurring right when exiting.
        Hide
        Antoine Toulme added a comment -

        Here is the log I get when running ant jar test over jffi for linux 64 bit pcc:
        http://gist.github.com/417581

        I hope it helps.

        Show
        Antoine Toulme added a comment - Here is the log I get when running ant jar test over jffi for linux 64 bit pcc: http://gist.github.com/417581 I hope it helps.
        Hide
        Wayne Meissner added a comment -

        Antoine, make sure you're using the latest jffi master source, not the 1.0.0 tag for ppc64-linux builds - I remember last time we messed about with ppc-linux, we needed to tweak the Makefile, and that would be post 1.0.0.

        From your logs, it looks like even on ppc64, its assuming the build is 32bit, so just check in jni/Makefile that it has a testcase for ppc64 that sets MODEL = 64.

        btw, I thought we shipped 32bit ppc-linux support in jruby-1.5? (i.e. the binary you built months ago). Does it not work?

        Show
        Wayne Meissner added a comment - Antoine, make sure you're using the latest jffi master source, not the 1.0.0 tag for ppc64-linux builds - I remember last time we messed about with ppc-linux, we needed to tweak the Makefile, and that would be post 1.0.0. From your logs, it looks like even on ppc64, its assuming the build is 32bit, so just check in jni/Makefile that it has a testcase for ppc64 that sets MODEL = 64. btw, I thought we shipped 32bit ppc-linux support in jruby-1.5? (i.e. the binary you built months ago). Does it not work?
        Hide
        Charles Oliver Nutter added a comment -

        If I'm understanding right, the 32-bit linux ppc FFI works ok, but on whatever system Antoine is using it's running under a 64-bit JVM.

        Antoine: Except on OS X, which has "fat" binaries, the only way to make any Java app run in 32 or 64 bit mode is to run them with a 32 or 64-bit JVM to begin with. I suspect you're either running the build with a 64-bit JVM or Ant is forking and picking up the wrong JVM.

        Show
        Charles Oliver Nutter added a comment - If I'm understanding right, the 32-bit linux ppc FFI works ok, but on whatever system Antoine is using it's running under a 64-bit JVM. Antoine: Except on OS X, which has "fat" binaries, the only way to make any Java app run in 32 or 64 bit mode is to run them with a 32 or 64-bit JVM to begin with. I suspect you're either running the build with a 64-bit JVM or Ant is forking and picking up the wrong JVM.
        Hide
        Neil Brennan added a comment -

        Compiling this is a ghastly experience no one else should have to suffer. In particular, Solaris does not provide libxslt.so out of the box. Once you install it (and all its dependencies) you may need to modify your LD_LIBRARY_PATH. We sourced libxslt.so from http://www.sunfreeware.com/indexintel10.html

        Show
        Neil Brennan added a comment - Compiling this is a ghastly experience no one else should have to suffer. In particular, Solaris does not provide libxslt.so out of the box. Once you install it (and all its dependencies) you may need to modify your LD_LIBRARY_PATH. We sourced libxslt.so from http://www.sunfreeware.com/indexintel10.html

          People

          • Assignee:
            Charles Oliver Nutter
            Reporter:
            Wayne Meissner
          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: