Quantcast

Mingw Octave-3.4.3 binaries for testing on windows

classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Mingw Octave-3.4.3 binaries for testing on windows

nitnit
Hello Octave users and maintainers,

I have succesfully compiled octave-3.4.3 (src downloaded from ftp://ftp.gnu.org/gnu/octave/octave-3.4.3.tar.gz) with mingw, using Tatsuro's OctaveLibs and gplibs.

Many thanks to Tatsuro Matsuoka and Philip Nienhuis who have contributed their knowledge and experience.

I had to fix 2 source files in order for them to compile successfully - see my notes regarding the src fixes at the end of this post.

Finally, I have constructed and uploaded binaries and they are available for testing (Tatsuro, can you please update your OctaveForWidows WIKI).

There are two separate 7z files:

a. Basic Octave binaries and documentation with all required environment for compiling oct/mex files
(see included readme and shortcut files)

Octave3.4.3_gcc4.5.2_20111022.7z - MD5:83E2664CCAC3D5B3C384F5A99DCCF271 - http://www.multiupload.com/LAJ26VC8SB


b. Compiled OctaveForge packages tree which can be easily added
(see included readme and pkgs list files)

Octave3.4.3_gcc4.5.2_pkgs_20111022.7z - MD5:AE3872AEB3C42CEF37E9A3642D1F8EE3 - http://www.multiupload.com/S7YF7Y9L8Z

I have tested these on my win7-x64 systems but it should be noted that my testing is limited.

Runnig fntests with this binaries tree (including loaded pkgs) produce the following failures (see also my notes regarding the failures at the end of this post):

##############################################################
Integrated test scripts:

  c:\OctaveB\octave-3.4.3\src\data.cc .................... PASS  620/622  FAIL 2
  c:\OctaveB\octave-3.4.3\src\ov-fcn-handle.cc ........... PASS    2/3    FAIL 1
  c:\OctaveB\octave-3.4.3\scripts/help\get_first_help_sentence.m  PASS    6/7    FAIL 1
Fixed test scripts:
  test_system.m .......................................... PASS   83/84   FAIL 1

Summary:

  PASS   7048
  FAIL      5

There were 2 expected failures (see fntests.log for details).  
##############################################################

fntest.log for non-expected:

##############################################################
>>>>> processing c:\OctaveB\octave-3.4.3\src\data.cc
  ***** test
 [f, e] = log2 ([0,-1; 2,-4; Inf,-Inf]);
 assert (f, [0,-0.5; 0.5,-0.5; Inf,-Inf]);
 assert (e(1:2,:), [0,1;2,3])
!!!!! test failed
assert (f,[0, -0.5; 0.5, -0.5; Inf, -Inf]) expected
   0.00000  -0.50000
   0.50000  -0.50000
       Inf      -Inf
but got
   0.00000  -0.50000
   0.50000  -0.50000
       NaN       NaN
NaNs don't match
  ***** test
 [f, e] = log2 (complex (zeros (3, 2), [0,-1; 2,-4; Inf,-Inf]));
 assert (f, complex (zeros (3, 2), [0,-0.5; 0.5,-0.5; Inf,-Inf]));
 assert (e(1:2,:), [0,1; 2,3]);
!!!!! test failed
assert (f,complex (zeros (3, 2), [0, -0.5; 0.5, -0.5; Inf, -Inf])) expected
   0.00000 + 0.00000i   0.00000 - 0.50000i
   0.00000 + 0.50000i   0.00000 - 0.50000i
   0.00000 +     Infi   0.00000 -     Infi
but got
   0.00000 + 0.00000i   0.00000 - 0.50000i
   0.00000 + 0.50000i   0.00000 - 0.50000i
       NaN -     NaNi       NaN -     NaNi
NaNs don't match

>>>>> processing c:\OctaveB\octave-3.4.3\src\ov-fcn-handle.cc
  ***** test
 x = {".**", "power";
      ".'", "transpose";
      ".+", "plus";
      ".-", "minus";
      ".*", "times";
      "./", "rdivide";
      ".^", "power";
      ".\\", "ldivide";
      "<=", "le";
      "==", "eq";
      ">=", "ge";
      "~=", "ne";
      "!=", "ne";
      "**", "mpower";
      "~", "not";
      "!", "not";
      "\'", "ctranspose";
      "+", "plus";
      "-", "minus";
      "*", "mtimes";
      "/", "mrdivide";
      "^", "mpower";
      "\\", "mldivide";
      "<", "lt";
      ">", "gt";
      "&", "and";
      "|", "or"};
 for i = 1:rows (x)
   assert (functions (str2func (x{i,1})).function, x{i,2})
 endfor
!!!!! test failed
parse error near line 32 of file C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\packages\linear-algebra-2.0.0\@kronprod\mldivide.m

  syntax error

>>>     error ("mldivide: nonconformant arguments (op1 is %dx%d, op2 is %dx%d)",
             ^


>>>>> processing c:\OctaveB\octave-3.4.3\scripts/help\get_first_help_sentence.m
  ***** assert (strcmp (get_first_help_sentence('get_first_help_sentence'), "Return the first sentence of a function's help text."));
!!!!! test failed
assert (strcmp (get_first_help_sentence ('get_first_help_sentence'), "Return the first sentence of a function's help text.")) failed

>>>>> processing test_system
  ***** testif HAVE_GETPWUID
 x = getpwuid (getuid ());
 assert((strcmp (x.dir, tilde_expand ("~"))
 && strcmp (x.dir, tilde_expand (sprintf ("~%s", x.name)))
 && strcmp ("foobar", tilde_expand ("foobar"))));
----- skipped test

  ***** testif HAVE_GETPGRP
 assert(getpgrp () > 0);
----- skipped test

  ***** testif HAVE_GETPPID
 assert(getppid () > 0);
----- skipped test

  ***** assert(strcmp (getenv ("HOME"), tilde_expand ("~")));
!!!!! test failed
assert (strcmp (getenv ("HOME"), tilde_expand ("~"))) failed
  ***** testif HAVE_GETPWENT
 s = getpwent ();
 endpwent ();
 assert((isstruct (s)
 && isfield (s, "name")
 && isfield (s, "passwd")
 && isfield (s, "uid")
 && isfield (s, "gid")
 && isfield (s, "gecos")
 && isfield (s, "dir")
 && isfield (s, "shell")));
----- skipped test

  ***** testif HAVE_GETPWUID
 x = getpwent ();
 y = getpwuid (x.uid);
 endpwent ();
 assert(strcmp (x.name, y.name) && x.uid == y.uid && x.gid == y.gid);
----- skipped test

  ***** testif HAVE_GETPWNAM
 x = getpwent ();
 y = getpwnam (x.name);
 endpwent ();
 assert(strcmp (x.name, y.name) && x.uid == y.uid && x.gid == y.gid);
----- skipped test

  ***** testif HAVE_SETPWENT
 x = getpwent ();
 setpwent ();
 y = getpwent ();
 endpwent ();
 assert(strcmp (x.name, y.name) && x.uid == y.uid && x.gid == y.gid);
----- skipped test

  ***** testif HAVE_GETGRENT
 x = getgrent ();
 endgrent ();
 assert((isstruct (x)
 && isfield (x, "name")
 && isfield (x, "passwd")
 && isfield (x, "gid")
 && isfield (x, "mem")));
----- skipped test

  ***** testif HAVE_GETGRGID
 x = getgrent ();
 y = getgrgid (x.gid);
 endgrent ();
 assert(strcmp (x.name, y.name) && x.gid == y.gid);
----- skipped test

  ***** testif HAVE_GETGRNAM
 x = getgrent ();
 y = getgrnam (x.name);
 endgrent ();
 assert(strcmp (x.name, y.name) && x.gid == y.gid);
----- skipped test

  ***** testif HAVE_SETGRENT
 x = getgrent ();
 setgrent ();
 y = getgrent ();
 endgrent ();
 assert(strcmp (x.name, y.name) && x.gid == y.gid);
----- skipped test
##############################################################

My notes regarding the failures:

1. ov-fcn-handle.cc fails only if linear-algebra-2.0.0 is loaded due to its mldivide overloading internal function
4. get_first_help_sentence fails since it calls __makeinfo__.m which executes msys makeinfo
     on a file opened with mkstemp and written by fwrite. msys makeinfo returns bad string
         probably because the file has been opened as atext file and newline chars ('\n') are
         written as windows <CR><LF> causing msys makeinfo to make a faulty parsing
3. test_system.m doesn't fail under MSYS since HOME env var is set there

My notes regarding src fixes:

The 3 errors I have got were due to a property not a part of gnulib !

in octave-3.4.3\liboctave\oct-env.cc:449 - I had to change gnulib::gethostname to gethostname
in octave-3.4.3\src\file-io.cc:128 -  I had to change gnulib::unlink to unlink
in src\oct-hist.cc:443 -  I had to change gnulib::unlink to unlink

I do not know how to patch these fixes such that will not effect other systems !

Regards
Nitzan Arazi
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

PhilipNienhuis
nitnit wrote
Hello Octave users and maintainers,

I have succesfully compiled octave-3.4.3 (src downloaded from ftp://ftp.gnu.org/gnu/octave/octave-3.4.3.tar.gz) with mingw, using Tatsuro's OctaveLibs and gplibs.
Good, thank you.
I'll try 3.4.3 this weekend. I also had it compiled early this week, I got more FAILS in the tests than you.

Many thanks to Tatsuro Matsuoka and Philip Nienhuis who have contributed their knowledge and experience.
Well, my contribution is not so big. Tatsuro did 99.9% of all the work before you took over.

Will you still make a description of what files you put where in the subdir hierarchy?


Anyway:

1. The packages lib contains Octave3.4.2_gcc4.5.2 rather than Octave3.4.3_gcc4.5.2 as base dir. Unwary users may copy it to the wrong directory

2. Did you also include the (some, or all) Java class libs required for spreadsheet I/O?
    If not, perhaps you can make a note in the README about where these can be downloaded.
    Benjamin included them in the 3.2.4 MinGW binary; they have GPL-compatible licenses.

3. In the packages README, please also mention to do a pkg rebuild -noauto oct2mat.
   oct2mat is known to severely affect Octave operation, a.o., plotting.


Philip
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

nitnit
In reply to this post by nitnit
nitnit wrote:
Hello Octave users and maintainers, 

I have succesfully compiled octave-3.4.3 (src downloaded from ftp://ftp.gnu.org/gnu/octave/octave-3.4.3.tar.gz) with mingw, using Tatsuro's OctaveLibs and gplibs.
  > Good, thank you. 
  > I'll try 3.4.3 this weekend. I also had it compiled early this week, I got more FAILS in the tests than you. 

Many thanks to Tatsuro Matsuoka and Philip Nienhuis who have contributed their knowledge and experience.
  > Well, my contribution is not so big. Tatsuro did 99.9% of all the work before you took over. 
  >
  > Will you still make a description of what files you put where in the subdir hierarchy? 

Yes, I have documented what I have done. I will try to edit it in a way that others will be able to understand and use it and will post it later.

There are also several changes I had to make to some octaveforge packages in order to build them with mingw. These are are also waiting for me to post them.

  > Anyway: 
  > 
  > 1. The packages lib contains Octave3.4.2_gcc4.5.2 rather than Octave3.4.3_gcc4.5.2 as base dir. Unwary users
  > may copy it to the wrong directory

I will fix that.

  > 2. Did you also include the (some, or all) Java class libs required for spreadsheet I/O? 
  >    If not, perhaps you can make a note in the README about where these can be downloaded. 
  >    Benjamin included them in the 3.2.4 MinGW binary; they have GPL-compatible licenses. 

I haven't tested the io functions so I have not noticed that there are missing jars. I will add them.

  > 3. In the packages README, please also mention to do a pkg rebuild -noauto oct2mat. 
  >    oct2mat is known to severely affect Octave operation, a.o., plotting. 

I have experienced the oct2mat effect on octave plotting with Benjamins 3.2.4 version. I have not experienced any such plotting problems with oct2mat with Octave 3.4.2/3.4.3, at least on the two machines I am using.

On win7-64bit octave loading and plotting is faster than on XP-SP3 but even on my XP-SP3 machine the slow plotting response is not effected by oct2mat.

Have you or anyone else experienced such problems (with octave 3.4.2 or 3.4.3) that are effected by oct2mat ?

In any case I can mention that in the README.

I will try to do all these fixes later today or tomorrow.

Nitzan
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

PhilipNienhuis
Hi Nitzan:

nitnit wrote
nitnit wrote:
<snip>
  > 2. Did you also include the (some, or all) Java class libs required for
spreadsheet I/O?
  >    If not, perhaps you can make a note in the README about where these
can be downloaded.
  >    Benjamin included them in the 3.2.4 MinGW binary; they have
GPL-compatible licenses.

I haven't tested the io functions so I have not noticed that there are
missing jars. I will add them.
For your convenience, or perhaps for inclusion in the pkgs README (at your discretion):

The relevant jar files are these:

* Apache POI (for .xls I/O), see:  http://poi.apache.org/download.html
  poi-3.7-20101029.jar
  poi-ooxml-3.7-20101029.jar
  poi-ooxml-schemas-3.7-20101029.jar
-plus-
  dom4j-1.6.1.jar   (http://sourceforge.net/projects/dom4j/files/dom4j/)
  xbean.jar   (part of xmlbeans, http://apache.xl-mirror.nl/xmlbeans/binaries/)

* JExcelAPI (for .xls I/O, also BIFF5)
  jxl.jar  (http://sourceforge.net/projects/jexcelapi/files/jexcelapi/)

* OpenXLS (.xls I/O, though writing xls with OXS, while implemented, has been disabled due to bugs in OpenXLS itself so perhaps OpenXLS may not be useful enough to be included. Yet for .xls *reading* OpenXLS is the fastest Java (~cross-platform) option)
  OpenXLS-6.0.6.jar   (http://sourceforge.net/projects/openxls/)

* ODF Toolkit (for .ods I/O)
  odfdom-java-0.8.7.jar  (http://odftoolkit.org/projects/odfdom/pages/Home)
  xercesImpl.jar   (http://xerces.apache.org/mirrors.cgi#binary). WATCH OUT here, the newest version (Nov 26, 2010) doesn't work, an older version (Sep 14, 2007) works OK. A bit typical of the unstable situation of ODF Toolkit :-(

* jOpenDOcument (for .ods I/O)
  jOpenDocument-1.2.jar  (http://www.jopendocument.org/downloads.html)


If you do include them (~18 MB extra in the pkgs download), I'd suggest to also add a section on java.opts (to increase the Java JVM memory allocation) and classpath.txt  (to set the Java search path):

File "java.opts" can be put in the /share/.../java-1.2.8 subdir, or in the user's home dir, and might contain just the line:
-Xmx512m

(here setting the default JVM to max 512 MB, to avoid out-of-memory errors with large spreadsheets)


File classpath.txt can also be put in the user's home dir, or in the java pkg script file dir (share/.../java-1.2.8/ )
Contents of file "classpath.txt":  (Note: Adapt path settings to your system!)

X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-ooxml-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\xbean.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-ooxml-schemas-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\dom4j-1.6.1.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\jxl.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\OpenXLS-6.0.6.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\odfdom-java-0.8.7.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\xercesImpl.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\jOpenDocument-1.2.jar

This will load the java class libs required for spreadsheet I/O in the static javaclasspath.

Alternatively, the io pkg function "chk_spreadsheet_support.m" can do this too but then in the dynamic javaclasspath.


  > 3. In the packages README, please also mention to do a pkg rebuild
-noauto oct2mat.
  >    oct2mat is known to severely affect Octave operation, a.o.,
plotting.

I have experienced the oct2mat effect on octave plotting with Benjamins
3.2.4 version. I have not experienced any such plotting problems with
oct2mat with Octave 3.4.2/3.4.3, at least on the two machines I am using.

On win7-64bit octave loading and plotting is faster than on XP-SP3 but even
on my XP-SP3 machine the slow plotting response is not effected by oct2mat.

Have you or anyone else experienced such problems (with octave 3.4.2 or
3.4.3) that are effected by oct2mat ?
The help-octave ML is sprinkled with posts of people who got trapped by this.
oct2mat really is only useful for porting Octave code to ML, I really think it is better to have it unloaded by default.


Thanks,

Philip
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

nitnit
PhilipNienhuis wrote
  xercesImpl.jar   (http://xerces.apache.org/mirrors.cgi#binary). WATCH OUT here, the newest version (Nov 26, 2010) doesn't work, an older version (Sep 14, 2007) works OK. A bit typical of the unstable situation of ODF Toolkit :-(
I can't find the Sep 14, 2007 xercesImpl.jar in that link ! (I can get there only the Xerces2-J-bin.2.11.0.zip from Nov 30, 2010)
By simple googling I could find xercesImpl-2.9.1.jar which is dated as Sep 14, 2007 but I am not sure whether this a 'clean' version. Can you provide more specific link or any signature (such as MD5) for this file ?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

nitnit
In reply to this post by PhilipNienhuis
PhilipNienhuis wrote
File classpath.txt can also be put in the user's home dir, or in the java pkg script file dir (share/.../java-1.2.8/ )
Contents of file "classpath.txt":  (Note: Adapt path settings to your system!)

X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-ooxml-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\xbean.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-ooxml-schemas-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\dom4j-1.6.1.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\jxl.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\OpenXLS-6.0.6.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\odfdom-java-0.8.7.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\xercesImpl.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\jOpenDocument-1.2.jar

This will load the java class libs required for spreadsheet I/O in the static javaclasspath.

Alternatively, the io pkg function "chk_spreadsheet_support.m" can do this too but then in the dynamic javaclasspath.
What will happen if I will simply put these jars in the /share/.../java-1.2.8 or the /lib/octave/packages/java-1.2.8 ?
In that case, do I still need a classpath.txt ?
In any case I think that running chk_spreadsheet_support is easier since a simple 1-2 lines script can set the prefix and the correct class. Other wise, in order for the installation to remain portable, the classpath.txt should be generated as a 'post install' procedure !
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

PhilipNienhuis
In reply to this post by nitnit
nitnit wrote
PhilipNienhuis wrote
  xercesImpl.jar   (http://xerces.apache.org/mirrors.cgi#binary). WATCH OUT here, the newest version (Nov 26, 2010) doesn't work, an older version (Sep 14, 2007) works OK. A bit typical of the unstable situation of ODF Toolkit :-(
I can't find the Sep 14, 2007 xercesImpl.jar in that link ! (I can get there only the Xerces2-J-bin.2.11.0.zip from Nov 30, 2010)
By simple googling I could find xercesImpl-2.9.1.jar which is dated as Sep 14, 2007 but I am not sure whether this a 'clean' version. Can you provide more specific link or any signature (such as MD5) for this file ?
xerces_2_9_1 should be OK.

In MSYS shell:
Philip@DESKPRN /x/octave/Octave3.4.3_gcc4.5.2/lib
$ md5sum xercesImpl.jar
da09b75b562ca9a8e9a535d2148be8e4 *xercesImpl.jar

If I am not mistaken it is also included in the octave-3.2.4_MinGW binary by Benjamin on SF.

BTW 1: It was a bit of a surprise for me today to find out that newer xercesImpl versions don't work anymore with ODF Toolkit.

BTW 2: I just filed a bug report for 3.4.3-MinGW (actually for all 3.3.90+ MinGW versions) related to plotting (bug #34631). This bug is a bit of a showstopper for me.
Can you try what results you get, please? Instructions are in the bug report

Philip
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

Paul Soderlind
In reply to this post by nitnit
Nitnit,

thanks a lot for your efforts. Here is a small problem I noticed:

plot(1:10)

generates a lot of warning messages like "warning: ft_render: skipping missing glyph for character `0'"

This happens on my Win 7 (64bit) machine, but not on my Win 7 (32 bit machine). I also happened with Matsuoka's 4.3.2 binary.

Best,

Paul Söderlind
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

PhilipNienhuis
In reply to this post by nitnit
nitnit wrote
PhilipNienhuis wrote
File classpath.txt can also be put in the user's home dir, or in the java pkg script file dir (share/.../java-1.2.8/ )
Contents of file "classpath.txt":  (Note: Adapt path settings to your system!)

X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-ooxml-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\xbean.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\poi-ooxml-schemas-3.7-20101029.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\dom4j-1.6.1.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\jxl.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\OpenXLS-6.0.6.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\odfdom-java-0.8.7.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\xercesImpl.jar
X:\Octave\Octave3.4.3_gcc4.5.2\lib\jOpenDocument-1.2.jar

This will load the java class libs required for spreadsheet I/O in the static javaclasspath.

Alternatively, the io pkg function "chk_spreadsheet_support.m" can do this too but then in the dynamic javaclasspath.
What will happen if I will simply put these jars in the /share/.../java-1.2.8 or the /lib/octave/packages/java-1.2.8 ?
In that case, do I still need a classpath.txt ?
In any case I think that running chk_spreadsheet_support is easier since a simple 1-2 lines script can set the prefix and the correct class. Other wise, in order for the installation to remain portable, the classpath.txt should be generated as a 'post install' procedure !
On my Mandriva system I find lots of .jar files in /usr/lib.
Not unexpected as these files *are* libraries. That's why I've put them in (msys) /lib.
Another reason is that -theoretically- these files may need to be used by other progs.

As to classpath.txt / chk_spreadsheet_support:

- classpath.txt is for more static environments.

- chk_spreadsheet-support is easier, but you'd still have to check if the java package is loaded (!), then infer the directory where the jar files reside during startup of Octave, process this into some string, and feed that string to chk_spreadsheet_support. It's doable, but perhaps too involved.

- You can also have a look at how it is done in the 3.2.4 MinGW binary. Benjamin also put the jars in /lib, and used PKG_ADD to add them to the javaclasspath; have a look in
/libexec/octave/packages/java-1.2.7
to see how he did it.

Once your binaries have ripened enough we could think of building an installer out of it. That installer could figure out what packages to install, and set up all paths & javaclasspath & classpath.txt.
Such tasks are ideally done in an installer.
A while ago (several months) I saw a message in one of the Octave MLs by someone who offered to volunteer for helping out with building an installer


Philip
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

forkandwait
In reply to this post by nitnit
nitnit <nitnit <at> gmail.com> writes:

>
> Hello Octave users and maintainers,
>
> I have succesfully compiled octave-3.4.3 (src downloaded from
> ftp://ftp.gnu.org/gnu/octave/octave-3.4.3.tar.gz) with mingw, using
> Tatsuro's OctaveLibs and gplibs.

I am running it currently and I will report back if there are any problems.

The only thing is that with fltk, I get funky fonts in my plots. I ran into this
with Tatsuro's distribution too, and just used gnuplot instead. I can't attach
files from gmane, or I would send a screen shot.

I don't know if I need to install a font package, or if there is some way to
bundle up the required fonts into the download (for which I am immensely
grateful!)  It might be a little bit off-putting to new users.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

forkandwait
In reply to this post by nitnit
nitnit <nitnit <at> gmail.com> writes:

>
> Hello Octave users and maintainers,
>
> I have succesfully compiled octave-3.4.3 (src downloaded from
> ftp://ftp.gnu.org/gnu/octave/octave-3.4.3.tar.gz) with mingw, using
> Tatsuro's OctaveLibs and gplibs.

Oh -- and this extremely minor thing:

warning: missing semicolon near line 48, column 11 in file
`stuff\share\octave\3.4.3\m\plot\private\__axes_limits__.m'




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

nitnit
In reply to this post by forkandwait
forkandwait wrote
I am running it currently and I will report back if there are any problems.

The only thing is that with fltk, I get funky fonts in my plots. I ran into this
with Tatsuro's distribution too, and just used gnuplot instead. I can't attach
files from gmane, or I would send a screen shot.

I don't know if I need to install a font package, or if there is some way to
bundle up the required fonts into the download (for which I am immensely
grateful!)  It might be a little bit off-putting to new users.

Try to set default fonts (such as Arial) by running

set(0,"defaulttextfontname","Arial"), set(0,"defaultaxesfontname","Arial");

You can set this on octaverc
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

nitnit
In reply to this post by Paul Soderlind
Paul Soderlind wrote
Nitnit,

thanks a lot for your efforts. Here is a small problem I noticed:

plot(1:10)

generates a lot of warning messages like "warning: ft_render: skipping missing glyph for character `0'"

This happens on my Win 7 (64bit) machine, but not on my Win 7 (32 bit machine). I also happened with Matsuoka's 4.3.2 binary.

Best,

Paul Söderlind
Try to set default fonts (such as Arial) by running

set(0,"defaulttextfontname","Arial"), set(0,"defaultaxesfontname","Arial");

You can set this on octaverc
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

Paul Soderlind
>set(0,"defaulttextfontname","Arial"), set(0,"defaultaxesfontname","Arial");

Nitnit,

thanks. That solved it.

/Paul Söderlind
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

forkandwait
In reply to this post by nitnit
nitnit <nitnit <at> gmail.com> writes:

> Try to set default fonts (such as Arial) by running
>
> set(0,"defaulttextfontname","Arial"), set(0,"defaultaxesfontname","Arial");

Works perfect.  Thanks!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

oct2mat (was: Re: Mingw Octave-3.4.3 binaries for testing on windows)

John W. Eaton
Administrator
In reply to this post by PhilipNienhuis
On 23-Oct-2011, PhilipNienhuis wrote:

| The help-octave ML is sprinkled with posts of people who got trapped by
| this.
| oct2mat really is only useful for porting Octave code to ML, I really think
| it is better to have it unloaded by default.

Please don't even allow oct2mat to be easily installed in Octave
unless it is fixed so that it does not install the functions that are
intended as replacements for Octave functions that don't exist in
Matlab.  As I understand it, those functions are supposed to be used
to allow Octave code to run in Matlab.  They are not needed in Octave
because Octave already provides them, and they cause trouble if they
are present in Octave.  (That alone seems like a bug, since I would
expect a replacement function derived from Octave to provide the same
functionality, but apparently those functions do not.)n

jwe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

John W. Eaton
Administrator
In reply to this post by forkandwait
On 24-Oct-2011, fork wrote:

| nitnit <nitnit <at> gmail.com> writes:
|
| >
| > Hello Octave users and maintainers,
| >
| > I have succesfully compiled octave-3.4.3 (src downloaded from
| > ftp://ftp.gnu.org/gnu/octave/octave-3.4.3.tar.gz) with mingw, using
| > Tatsuro's OctaveLibs and gplibs.
|
| Oh -- and this extremely minor thing:
|
| warning: missing semicolon near line 48, column 11 in file
| `stuff\share\octave\3.4.3\m\plot\private\__axes_limits__.m'

I fixed this problem on stable and merged with default.

Thanks,

jwe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mingw Octave-3.4.3 binaries for testing on windows

nitnit
In reply to this post by PhilipNienhuis
PhilipNienhuis wrote
- chk_spreadsheet-support is easier, but you'd still have to check if the java package is loaded (!), then infer the directory where the jar files reside during startup of Octave, process this into some string, and feed that string to chk_spreadsheet_support. It's doable, but perhaps too involved.

- You can also have a look at how it is done in the 3.2.4 MinGW binary. Benjamin also put the jars in /lib, and used PKG_ADD to add them to the javaclasspath; have a look in
/libexec/octave/packages/java-1.2.7
to see how he did it.
Benjamin has put all the jars in the bin subdir and it looks OK to me  since I have put there other dlls which are required for other OF packages.

Regarding classpath.txt, I can use Benjamin's solution but it requires a change in java pkg in order to support the io pkg. It looks more logical to me to implement similar lines or alternative chk_spreadsheet_support calls as an PKG_ADD of the io pkg.

This way maintenance of those pkgs will be much more independent.

What do you think ?

PhilipNienhuis wrote
Once your binaries have ripened enough we could think of building an installer out of it. That installer could figure out what packages to install, and set up all paths & javaclasspath & classpath.txt.
Such tasks are ideally done in an installer.
A while ago (several months) I saw a message in one of the Octave MLs by someone who offered to volunteer for helping out with building an installer
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: oct2mat (was: Re: Mingw Octave-3.4.3 binaries for testing on windows)

nitnit
In reply to this post by John W. Eaton
John W. Eaton wrote
On 23-Oct-2011, PhilipNienhuis wrote:

Please don't even allow oct2mat to be easily installed in Octave
unless it is fixed so that it does not install the functions that are
intended as replacements for Octave functions that don't exist in
Matlab.  As I understand it, those functions are supposed to be used
to allow Octave code to run in Matlab.  They are not needed in Octave
because Octave already provides them, and they cause trouble if they
are present in Octave.  (That alone seems like a bug, since I would
expect a replacement function derived from Octave to provide the same
functionality, but apparently those functions do not.)n

jwe
If and when we will have an installer, we can leave this pkg unloaded. In the meantime I can drop it completely.

Nitzan
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: oct2mat (was: Re: Mingw Octave-3.4.3 binaries for testing on windows)

John W. Eaton
Administrator
On 24-Oct-2011, nitnit wrote:

| If and when we will have an installer, we can leave this pkg unloaded. In
| the meantime I can drop it completely.

I would leave it out until it is fixed to not install functions that
should not be used with Octave.  Otherwise, we are just going to see
more people who install it and load it anyway, thinking they want
every available package.  Then when Octave can't even make a simple
plot, they probably conclude that Octave is junk because it can't even
make a simple plot.  Sometimes they may search the web or ask on the
mailing list and find a solution for the problem, but wouldn't it be
better to completely avoid the whole problem by not providing this
package at all unless it is fixed?

jwe
12
Loading...