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

 
 

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

Submitter:  Philip Nienhuis <philipnienhuis>
Submitted:  Thu 11 Jul 2013 04:28:34 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Philip Nienhuis Open/Closed:  * Closed
Release:  * dev Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group 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>
Group 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>
Group 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>
Group 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>
Group 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>
Group 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>
Group 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>
Group 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>
Group Member

 

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

Attach Files:
   
   
Comment:
   

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

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-10-31 rik5 StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2013-10-29 rik5 Attached File- Added config_win_jvm.cset, #29504
        StatusNone Ready For Test

    Back to the top

    Powered by Savane 3.13-cf05.
    Corresponding source code