Details

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

      Description

      The current release of jffi bundled with JRuby has binaries for Darwin (all arches), i386-Linux, i386-Windows, i386-SunOS and x86_64-SunOS. It would be beneficial to have binaries for at least x86_64-Linux, and maybe more esoteric platforms like i386-FreeBSD and x86_64-FreeBSD.

      To build jffi, do something like:

       hg clone -r0.6 https://kenai.com/hg/jffi~core  jffi-0.6
       cd jffi-0.6
       ant jar test
       cp dist/x86_64-Linux.jar /path/to/jruby/build_lib/jffi-x86_64-Linux.jar
       cd /path/to/jruby
       ant clean test
      

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

      1. ant.out.txt.bz2
        4 kB
        Albert Davidson Chou

        Issue Links

          Activity

          Hide
          James Abley added a comment -

          I've done some one-off builds for x86_64 Linux. I would hope to be able to set something up in Hudson to do this on a more regular basis? Is anyone else already using Hudson like that?

          Show
          James Abley added a comment - I've done some one-off builds for x86_64 Linux. I would hope to be able to set something up in Hudson to do this on a more regular basis? Is anyone else already using Hudson like that?
          Hide
          Charles Oliver Nutter added a comment -

          James: Yeah, I suppose if we had some time to set up VBox or VMWare instances for all these platforms we'd be able to automate building binaries for them. That certainly takes time though. Maybe we could get community members to contribute images ready for use?

          Show
          Charles Oliver Nutter added a comment - James: Yeah, I suppose if we had some time to set up VBox or VMWare instances for all these platforms we'd be able to automate building binaries for them. That certainly takes time though. Maybe we could get community members to contribute images ready for use?
          Hide
          Wayne Meissner added a comment -

          An automated build for this would be nice. But the time cost of setting up automated builds outweighs the ~5 minutes every couple of months it takes me to fire up an ubuntu vbox instance and roll the i386-Linux binaries, so I haven't looked into it in any serious way.

          Automated builds would also be good from a trusted binary point of view, rather than contributed by J. Random Hacker.

          Show
          Wayne Meissner added a comment - An automated build for this would be nice. But the time cost of setting up automated builds outweighs the ~5 minutes every couple of months it takes me to fire up an ubuntu vbox instance and roll the i386-Linux binaries, so I haven't looked into it in any serious way. Automated builds would also be good from a trusted binary point of view, rather than contributed by J. Random Hacker.
          Hide
          Jean-Dominique Morani added a comment -

          I'm planning to build AIX and SPARC Solaris versions very soon. Definitely before 1.4 comes out (do you have a release date)?

          Show
          Jean-Dominique Morani added a comment - I'm planning to build AIX and SPARC Solaris versions very soon. Definitely before 1.4 comes out (do you have a release date)?
          Hide
          Albert Davidson Chou added a comment -

          Attached is the entire output of my attempt to build on PPC Mac OS X 10.4.11, in case, as is likely, you can figure out from it what is wrong more quickly than I can.

          Show
          Albert Davidson Chou added a comment - Attached is the entire output of my attempt to build on PPC Mac OS X 10.4.11, in case, as is likely, you can figure out from it what is wrong more quickly than I can.
          Hide
          Wayne Meissner added a comment -

          Albert: The jffi-Darwin.jar in jruby should already contain ppc code (its a universal binary - ppc+i386+x86_64 built against the 10.4 universal SDK), so there should be no need to recompile. The recompilation is failing because it is trying to compile+link x86_64 code, which is apparently not supported on your system. If you want to make it compile, edit jni/GNUmakefile and remove x86_64 from the "ARCHES = i386 x86_64 ppc" line.

          Testing is another matter. ppc JNI binaries cannot be use on intel macs, hence it hasn't been tested at all, so you might want to make sure that 'ant test' in JRuby runs. If it fails somewhere, file another jira ticket for it.

          Show
          Wayne Meissner added a comment - Albert: The jffi-Darwin.jar in jruby should already contain ppc code (its a universal binary - ppc+i386+x86_64 built against the 10.4 universal SDK), so there should be no need to recompile. The recompilation is failing because it is trying to compile+link x86_64 code, which is apparently not supported on your system. If you want to make it compile, edit jni/GNUmakefile and remove x86_64 from the "ARCHES = i386 x86_64 ppc" line. Testing is another matter. ppc JNI binaries cannot be use on intel macs, hence it hasn't been tested at all, so you might want to make sure that 'ant test' in JRuby runs. If it fails somewhere, file another jira ticket for it.
          Hide
          Joseph LaFata added a comment -

          x64_64-Linux attached.

          Show
          Joseph LaFata added a comment - x64_64-Linux attached.
          Hide
          Vladimir Sizikov added a comment -

          Looks like the attached x86_64-Linux.jar works and it has been commited to the repo, BUT, it was after 1.4.0RC1 and hence FFI doesn't work in JRuby 1.4.0RC1 under Linux x64. This needs to be backported from master to 1.4 branch.

          Show
          Vladimir Sizikov added a comment - Looks like the attached x86_64-Linux.jar works and it has been commited to the repo, BUT , it was after 1.4.0RC1 and hence FFI doesn't work in JRuby 1.4.0RC1 under Linux x64. This needs to be backported from master to 1.4 branch.
          Hide
          Ubiratan Pires Alberton added a comment -

          The attached jar worked when I copied it to the lib/ directory of a 1.4.0RC1 release.

          Show
          Ubiratan Pires Alberton added a comment - The attached jar worked when I copied it to the lib/ directory of a 1.4.0RC1 release.
          Hide
          Thomas E Enebo added a comment -

          Added in commit 9d76664 on jruby-1_4 branch and already committed on master. Resolving

          Show
          Thomas E Enebo added a comment - Added in commit 9d76664 on jruby-1_4 branch and already committed on master. Resolving
          Hide
          Wayne Meissner added a comment -

          Looks like Thom forgot to cherry-pick commits 38b1deed2d8bc705dea54646eb5d32bb1b92fb0b and f6246772a8c658246a06d0f535be65a6a8c09508

          Show
          Wayne Meissner added a comment - Looks like Thom forgot to cherry-pick commits 38b1deed2d8bc705dea54646eb5d32bb1b92fb0b and f6246772a8c658246a06d0f535be65a6a8c09508
          Hide
          Thomas E Enebo added a comment -

          Two forgotten commits applied to branch. Resolving for real now.

          Show
          Thomas E Enebo added a comment - Two forgotten commits applied to branch. Resolving for real now.
          Hide
          Mike Burns added a comment -

          Attaching the FreeBSD AMD64 JFFI jar because the one in jruby-1.4.0RC2 was empty.

          Show
          Mike Burns added a comment - Attaching the FreeBSD AMD64 JFFI jar because the one in jruby-1.4.0RC2 was empty.
          Hide
          Philip Jenvey added a comment -

          Here's FreeBSD i386, compiled under FreeBSD 6.2

          Show
          Philip Jenvey added a comment - Here's FreeBSD i386, compiled under FreeBSD 6.2
          Hide
          Charles Oliver Nutter added a comment -

          Mike: Added your jar to JRuby master and 1.4. Thank you!

          Show
          Charles Oliver Nutter added a comment - Mike: Added your jar to JRuby master and 1.4. Thank you!
          Hide
          Charles Oliver Nutter added a comment -

          Phil: It looks like there's already a, i386-FreeBSD.jar in JFFI...is yours a more up-to-date version? The one we have in jruby/build_lib is definitely not the complete version, though...so I'm trying to decide which jar is the best one.

          Show
          Charles Oliver Nutter added a comment - Phil: It looks like there's already a, i386-FreeBSD.jar in JFFI...is yours a more up-to-date version? The one we have in jruby/build_lib is definitely not the complete version, though...so I'm trying to decide which jar is the best one.
          Hide
          Charles Oliver Nutter added a comment -

          Because there's already an i386-FreeBSD.jar of the expected size in JFFI, I've copied that to build_lib/jffi-i386-FreeBSD.jar. Pushed to master in bab330d and 1.4 in 1d7de2d.

          Show
          Charles Oliver Nutter added a comment - Because there's already an i386-FreeBSD.jar of the expected size in JFFI, I've copied that to build_lib/jffi-i386-FreeBSD.jar. Pushed to master in bab330d and 1.4 in 1d7de2d.
          Hide
          Marc Seeger added a comment -

          There is still no windows x64 dll file
          copying the i386 file and repacking it in the jar didn't work.
          does anybody have a 64 bit version of the dll for windows?

          Show
          Marc Seeger added a comment - There is still no windows x64 dll file copying the i386 file and repacking it in the jar didn't work. does anybody have a 64 bit version of the dll for windows?
          Hide
          Hiro Asari added a comment -

          Marc,

          I suspect that files are missing because no one has the machine necessary to produce them.

          Do you have one for x86_64 Windows? If so, what (else) do you need to create it?

          Show
          Hiro Asari added a comment - Marc, I suspect that files are missing because no one has the machine necessary to produce them. Do you have one for x86_64 Windows? If so, what (else) do you need to create it?
          Hide
          Marc Seeger added a comment -

          I do have access to a windows x86_64 machine.
          What I am missing is the proper knowledge to actually be able to compile the dll

          I opened a new bug for it: JRUBY-4358

          Show
          Marc Seeger added a comment - I do have access to a windows x86_64 machine. What I am missing is the proper knowledge to actually be able to compile the dll I opened a new bug for it: JRUBY-4358
          Hide
          Aria Bamdad added a comment -

          Apologies if this is not the right venue to post this question. I am trying to build the binaries for JFFI for the s390x architecture for JFFI 1.0.2 but receive the following error when I run 'ant jar test' and receive the following error after a while:

          -build-native-library:
          [exec] env: /bsc/jruby/jffi-1.0.2/jni/libffi/configure: No such file or directory
          [exec] make: *** [/bsc/jruby/jffi-1.0.2/build/jni/libffi-s390x-linux/.libs/libffi_convenience.a] Error 127
          [exec] Configuring libffi for s390x-linux

          BUILD FAILED
          /bsc/jruby/jffi-1.0.2/custom-build.xml:125: exec returned: 2

          Can someone describe how ones goes about building binaries for specific architectures?

          Thanks.

          Show
          Aria Bamdad added a comment - Apologies if this is not the right venue to post this question. I am trying to build the binaries for JFFI for the s390x architecture for JFFI 1.0.2 but receive the following error when I run 'ant jar test' and receive the following error after a while: -build-native-library: [exec] env: /bsc/jruby/jffi-1.0.2/jni/libffi/configure: No such file or directory [exec] make: *** [/bsc/jruby/jffi-1.0.2/build/jni/libffi-s390x-linux/.libs/libffi_convenience.a] Error 127 [exec] Configuring libffi for s390x-linux BUILD FAILED /bsc/jruby/jffi-1.0.2/custom-build.xml:125: exec returned: 2 Can someone describe how ones goes about building binaries for specific architectures? Thanks.

            People

            • Assignee:
              Thomas E Enebo
              Reporter:
              Wayne Meissner
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: