bugGNU Octave - Bugs: bug #39465, configure needs jvm.dll for...

 
 

bug #39465: configure needs jvm.dll for Windows builds

Submitted by:  Philip Nienhuis <philipnienhuis>
Submitted on:  Thu 11 Jul 2013 04:28:34 PM UTC  
 
Category: Configuration and Build SystemSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Incorrect Result
Status: FixedAssigned to: None
Originator Name: Philip NienhuisOpen/Closed: Closed
Release: devOperating System: Microsoft Windows

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sat 02 Nov 2013 12:59:43 PM UTC, comment #8:

Yes; but ATM it is still a bit of a kludge here.
Anirudha has the superior option (although it looks like mine). We're all awaiting merging of his tree into the formal mxe-octave tree.

As to my Java support cross-building on Linux:
- (Initially) I downloaded jni.h & jni_md.h from the links Michael supplied a while ago into a mxe-octave/tools/java_include subdir
- (Later) I simply copied the <Windows JAVA_HOME>/include/win32 subdir verbatim from the Windows 7 partition into <Linux JAVA_HOME>/include/ on that same laptop) (symlinking didn't work for unknown reason, I didn't bother to investigate)
- and then added the relevant compile flags to the configure stanza in mxe-octave/src/octave.mk (there's a catch in that this flag should point a subdir higher up:)

--with-java-includedir=</full/path/to/JAVA_HOME> \

I also used to have jvm.dll copied (from that same Windows Java install) into <Linux JAVA_HOME>/lib/i386/client/; later on I wiped it and just did:
"touch jvm.dll"
there - which proved sufficient as well.
Since Rik's patch for Octave configure.ac this isn't needed for Windows builds anymore.

I set this up several months ago and never looked back; since then all my MXE builds for Windows have Java working.

But again, I'd vote to have Anirudha's patches merged in a.s.a.p.

Philip Nienhuis <philipnienhuis>
Project Member
Sat 02 Nov 2013 01:00:53 AM UTC, comment #7:

Philip,

Do you do anything to make cross build work with java? On mine its failing as it cant find jni_md.h wyhen compiling, which would be in the win32 folder in windows, however isnt in the linux host.

John Donoghue <lostbard>
Project Member
Thu 31 Oct 2013 08:49:19 PM UTC, comment #6:

Builds OK and works OK with no jvm.dll "in sight" for the build process.

Thanks for this fix

Philip Nienhuis <philipnienhuis>
Project Member
Wed 30 Oct 2013 08:40:52 PM UTC, comment #5:

In an MXE-cross build, using your patch I see that configure output indicates that Java will get built ("Build Java interface: yes") so that looks hopeful.

Less good is that the build now breaks in or around Faddeeva.cc, from my past experience usually a sign that something in configure (compile flags?) is wrong. I can't fix that myself, I'll report on the maintainers ML.

Please leave this bug open until I have been able to completely cross-build a MinGW binary

Philip Nienhuis <philipnienhuis>
Project Member
Wed 30 Oct 2013 07:49:58 PM UTC, comment #4:

Yes I'll try. Note that I cross-build on Linux, not Windows.
But I'll remove jvm.dll from (Linux) /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.6.i386/...... and see what happens :-)

BTW Anirudha's patch is here:
http://inversethought.com/hg/mxe-octave-anirudha/rev/60483734915e?revcount=240

but to me it doesn't quite look like dropping jvm.dll checking...

Philip Nienhuis <philipnienhuis>
Project Member
Tue 29 Oct 2013 11:14:20 PM UTC, comment #3:

I've attached a changeset that I believe works, but I have no way to test as I don't build on anything but Linux. Could you verify it?

configure.ac now looks for a windows oriented system and if it finds one it doesn't bother to search for jvm.dll. This is fine because the search is done at runtime through the registry rather than at compile time as for UNIX and Mac systems.

(file #29504)

Rik <rik5>
Project Administrator
Sun 27 Oct 2013 07:14:00 PM UTC, comment #2:

No it bailed out at (IIRC) configure time.

So as a temporary fix to silence the build process I just copied a Windows jvm.dll into the /usr/lib/...../client subdir on my Linux system and it didn't complain anymore. Octave got (cross-)built fine.

AFAIK Anirudha has fixed configure.ac in a more permanent way. I believe it is somewhere in his mxe-octave tree.

Philip Nienhuis <philipnienhuis>
Project Member
Sun 27 Oct 2013 01:39:15 PM UTC, comment #1:

Does it still build java support even though it displays the message?

John Donoghue <lostbard>
Project Member
Thu 11 Jul 2013 04:28:34 PM UTC, original submission:

During a cross-compile trial run with MXE, configure emitted "jvm.dll not found. Built-in Java support will not be included"

jvm.dll isn't needed at all for building Windows binaries w core Java support.

Philip Nienhuis <philipnienhuis>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #29504:  config_win_jvm.cset added by rik5 (3kB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by rik5 (Updated the item)
  • -unavailable- added by lostbard (Posted a comment)
  • -unavailable- added by philipnienhuis (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 31 Oct 2013 11:36:32 PM UTCrik5StatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Tue 29 Oct 2013 11:14:20 PM UTCrik5Attached File-=>Added config_win_jvm.cset, #29504
      StatusNone=>Ready For Test

    Back to the top


    Powered by Savane 3.1-cleanup