Quantcast

My patches for octaveforge pkgs Mingw build

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

My patches for octaveforge pkgs Mingw build

nitnit
Jordi Gutiérrez Hermoso wrote
On Fri, Sep 14, 2012 at 3:44 PM, Jordi Gutiérrez Hermoso wrote:
Nitzan, can you please publish the sources you've used to build MinGW?
It's a little worrisom that we're in effect distributing GPL-violating
MinGW binaries.
Attached are the patches I have used for octaveforge packages in order to build them on mingw. Be aware that most of them are simply workarounds to overcome mingw environment failures to identify libs. I hope that I will be able to fix some of these on next mingw octave build.

Nitzan

**************************************************************************
ad-1.0.6
**************************************************************************

--- ad-1.0.6.tar.gz\ad-1.0.6\src\ov-grad.cc Sun Jun 07 13:44:44 2009
+++ ad-1.0.6_patched.tar.gz\ad-1.0.6\src\ov-grad.cc Sat Jan 28 09:11:17 2012
@@ -71,10 +71,12 @@
 
 void octave_gradient::print (std::ostream& os, bool pr_as_read_syntax) const
 {
- x ().print_with_name (os, "value", true);
+//patched for ov.h in 0ctave-3.6.0 x ().print_with_name (os, "value", true);
+ x ().print_with_name (os, "value");
  // print (partial) derivative(s),
  // following convention i-th row = nabla(x_i)T
- jacobian ().print_with_name (os, "(partial) derivative(s)", true);
+//patched for ov.h in 0ctave-3.6.0 jacobian ().print_with_name (os, "(partial) derivative(s)", true);
+ jacobian ().print_with_name (os, "(partial) derivative(s)");
 }
 
 octave_value_list octave_gradient::dotref (const octave_value_list& idx)

**************************************************************************
communications-1.1.1
**************************************************************************

--- communications-1.1.1.tar.gz\communications\src\Makefile Tue May 08 15:06:50 2012
+++ communications-1.1.1_patched.tar.gz\communications\src\Makefile Tue Jun 12 23:00:56 2012
@@ -1,6 +1,7 @@
 sinclude Makeconf
 
 HDF5_LIBS := $(shell  grep "\#define OCTAVE_CONF_HDF5_LIBS"  $(shell  $(MKOCTFILE) -p OCTINCLUDEDIR)/oct-conf.h | sed 's/^.*LIBS //;s/"//g'  )
+MY_HDF5_LIBS = libhdf5
 
 GALOISTARGET = gf.oct
 GALOISSOURCES = galois.cc galois-def.cc galoisfield.cc gf.cc \
@@ -25,7 +26,7 @@
  @$(INSTALL) -d $(DESTDIR)$(MPATH)/comm
 
 $(GALOISTARGET) : $(GALOISOBJECTS)
- $(MKOCTFILE) $(MOFLAGS) $(GALOISOBJECTS) -o $@ $(HDF5_LIBS)
+ $(MKOCTFILE) -l$(MY_HDF5_LIBS) $(MOFLAGS) $(GALOISOBJECTS) -o $@ $(HDF5_LIBS)
 
 $(GALOISOBJECTS): $(GALOISHEADERS)
 
**************************************************************************
java-1.2.9 (thanks to Michael Goffioul for that patch)
**************************************************************************

--- java-1.2.9.tar\java-1.2.9.tar\java\src\Makefile Sat Apr 28 20:52:02 2012
+++ java-1.2.9_patched.tar\java-1.2.9.tar\java\src\Makefile Sat Aug 04 09:43:41 2012
@@ -15,6 +15,7 @@
 JAVA_CLASSES = $(patsubst %.java, %.class, $(JAVA_SOURCES))
 JAVA_RSC     = $(addprefix $(RSCDIR)/, $(IMAGES))
 
+HAVE_JAVA = yes
 ifeq ($(HAVE_JAVA),yes)
 all: $(PROGS)
  @if test -f" FILES"; then \
@@ -36,9 +37,9 @@
 
 __java__.oct: __java__.cc __java__.h
  if [ "X$(JAVA_ARCH)X" = "XX" ]; then \
- $(MKOCTFILE) -DJAVAPKG_BUILD $(JAVA_INCS) -o $@ __java__.cc $(JAVA_LIBS); \
+ $(MKOCTFILE) -Wl,--kill-at -DJAVAPKG_BUILD $(JAVA_INCS) -o $@ __java__.cc $(JAVA_LIBS); \
  else \
- $(MKOCTFILE) -DJAVAPKG_BUILD -DJAVA_ARCH=\\\"$(JAVA_ARCH)\\\" -DJAVA_HOME=\\\"$(JAVA_HOME)\\\" $(JAVA_INCS) -o $@ __java__.cc $(JAVA_LIBS); \
+ $(MKOCTFILE) -Wl,--kill-at -DJAVAPKG_BUILD -DJAVA_ARCH=\\\"$(JAVA_ARCH)\\\" -DJAVA_HOME=\\\"$(JAVA_HOME)\\\" $(JAVA_INCS) -o $@ __java__.cc $(JAVA_LIBS); \
  fi
 
 octave.jar: $(JAVA_CLASSES)


**************************************************************************
linear-algebra-2.2.0
**************************************************************************

--- linear-algebra-2.2.0.tar\linear-algebra-2.2.0.tar\linear-algebra\src\Makefile Tue Jan 10 21:00:16 2012
+++ linear-algebra-2.2.0_patched.tar\linear-algebra-2.2.0.tar\linear-algebra\src\Makefile Tue Jun 12 22:45:52 2012
@@ -4,7 +4,8 @@
 MKOCTFILE = mkoctfile
 endif
 
-LAPACK_LIBS := $(shell mkoctfile -p LAPACK_LIBS)
+#LAPACK_LIBS := $(shell mkoctfile -p LAPACK_LIBS)
+LAPACK_LIBS := -llapack
 
 DEFINES = -DHAVE_CONFIG_H -Wall
 GSVD_OBJECTS = gsvd.o dbleGSVD.o CmplxGSVD.o


**************************************************************************
ocs-0.1.3
**************************************************************************

--- ocs-0.1.3_svn20120128.tar.gz\ocs\PKG_ADD Sat Aug 06 15:32:14 2011
+++ ocs-0.1.3_svn20120128_patched.tar.gz\ocs\PKG_ADD Sat Jan 28 18:24:23 2012
@@ -1,10 +1,12 @@
 dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
-dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
+% dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
+dirname = fileparts (mfilename ("fullpath"));
 
 if (! exist (fullfile (dirname, "inst"), "dir"))
   ## Run this if the package is installed
   for ii=1:length (dirlist)
-    addpath ( [ dirname "/../" dirlist{ii}],"-end")
+%     addpath ( [ dirname "/../" dirlist{ii}],"-end")
+    addpath (fullfile(dirname,dirlist{ii}),"-end")
   endfor
 else
   ## Run this if we are testing the package without installation

--- ocs-0.1.3_svn20120128.tar.gz\ocs\PKG_DEL Sat Aug 06 15:32:14 2011
+++ ocs-0.1.3_svn20120128_patched.tar.gz\ocs\PKG_DEL Sat Jan 28 18:02:54 2012
@@ -1,14 +1,18 @@
 dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
-dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
+% dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
+[basename,dirname] = fileparts (canonicalize_file_name (mfilename ("fullpath")));
 
 for ii=1:length (dirlist)
   if (! exist (fullfile (dirname, "inst"), "dir"))
     ## Run this if the package is installed
-    rmpath ( [ dirname "/../" dirlist{ii}])
-  else
+%     rmpath ( [ dirname "/../" dirlist{ii}])
+    rmpath ( fullfile(basename,dirlist{ii}))
+   else
     ## Run this if we are testing the package without installation
-    rmpath ([ dirname "/inst/" dirlist{ii}])
-    rmpath ([ dirname "/src/"])
+%     rmpath ([ dirname "/inst/" dirlist{ii}])
+    rmpath ( fullfile(basename,"inst",dirlist{ii}) )
+%     rmpath ([ dirname "/src/"])
+%     rmpath (fullfile(basename,"src"]))
   end
 end

**************************************************************************
optim-1.2.0
**************************************************************************

--- optim-1.2.0.tar.gz\optim-1.2.0\src\Makefile Tue Jun 12 16:42:55 2012
+++ optim-1.2.0_patched.tar.gz\optim-1.2.0\src\Makefile Sat Aug 04 11:27:03 2012
@@ -1,9 +1,11 @@
 MKOCTFILE ?= mkoctfile
 
 ifndef LAPACK_LIBS
-LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS)
+# LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS)
+LAPACK_LIBS := -lliblapack
 endif
-OCTAVE_LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS)
+# OCTAVE_LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS)
+OCTAVE_LAPACK_LIBS := -lliblapack
 # reported necessary for Apple's VecLib framework by Carlo de Falco
 # <carlo.defalco@gmail.com>
 ifndef BLAS_LIBS


**************************************************************************
optiminterp-0.3.4_svn20120128
**************************************************************************

added src/configure (taken from an older version) - proper setting of LAPACK_LIBS in the makefile or in mingw environment will solve the problem too


**************************************************************************
sockets-1.0.8
**************************************************************************

--- sockets-1.0.8.tar.gz\sockets\src\Makefile Tue Jan 10 21:05:12 2012
+++ sockets-1.0.8_patched.tar.gz\sockets\src\Makefile Sat Aug 04 11:35:39 2012
@@ -14,7 +14,8 @@
 all: $(OCT)
 
 %.oct: %.cc
- mkoctfile $(VFLAGS) -s $<
+ mkoctfile -L/C/Octave/Octave3.6.0_gcc4.6.2/mingw32/lib $(VFLAGS) -s -lws2_32 $<
+# mkoctfile $(VFLAGS) -s $<
 
 test: $(OCT)
  test_octave_sockets


**************************************************************************
strings-1.1.0
**************************************************************************

--- strings-1.1.0.tar\strings-1.1.0.tar\strings\src\Makefile Fri Mar 16 21:30:38 2012
+++ strings-1.1.0_patched.tar\strings-1.1.0.tar\strings\src\Makefile Wed Jun 13 00:21:33 2012
@@ -3,7 +3,7 @@
 all: pcregexp.oct
 
 %.oct: %.cc
- $(MKOCTFILE) $<
+ $(MKOCTFILE) -lpcre $<
 
 clean:
  rm -f *.o octave-core core *.oct *~


**************************************************************************
video-1.0.2
**************************************************************************

note: src/AVHandler.cc has been taken from recent svn


--- video-1.0.2.tar\video-1.0.2.tar\video-1.0.2\src\AVHandler.h Fri May 08 16:17:36 2009
+++ octaveforge\video-1.0.2_patched.tar\video-1.0.2.tar\video-1.0.2\src\AVHandler.h Tue Aug 23 14:55:34 2011
@@ -27,8 +27,11 @@
 
 #define VIDEO_OUTBUF_SIZE 200000
 
+// FIXME: should define -D__STDC_CONSTANT_MACROS instead of the following
 #define INT64_C
+#define UINT64_C
 #define __STDC_CONSTANT_MACROS
+
 #include <errno.h>
 extern "C" {
 #if defined (HAVE_FFMPEG_AVFORMAT_H)


--- video-1.0.2.tar\video-1.0.2.tar\video-1.0.2\DESCRIPTION Fri May 08 16:17:36 2009
+++ video-1.0.2_patched.tar\video-1.0.2.tar\video-1.0.2\DESCRIPTION Tue Aug 23 14:30:55 2011
@@ -7,6 +7,6 @@
 Description: Implements addframe, avifile, aviinfo, and aviread, using ffmpeg. (and approximately conforms to Matlab interface)
 Depends: octave (>= 2.9.12)
 Autoload: yes
-SystemRequirements: ffmpeg
+SystemRequirements: >=ffmpeg-0.7
 License: BSD
 Url: http://octave.sf.net


--- video-1.0.2.tar\video-1.0.2.tar\video-1.0.2\src\AVHandler.cc Fri May 08 16:17:36 2009
+++ video-1.0.2_patched.tar\video-1.0.2.tar\video-1.0.2\src\AVHandler.cc Tue Aug 23 14:53:46 2011
@@ -64,7 +64,7 @@
  if (av_output->pb->buf_ptr) {
     while (write_frame() > 0) {}
     av_write_trailer(av_output);
-    if (url_fclose( av_output->pb ) < 0)
+    if (avio_close( av_output->pb ) < 0)
  (*out) << "AVHandler: cannot close output file" << std::endl;
  }
  av_free(av_output);
@@ -94,8 +94,8 @@
 AVHandler::setup_write() {
     av_register_all();
 
-    AVOutputFormat *avifmt;  
-    for (avifmt = first_oformat; avifmt != NULL; avifmt = avifmt->next) {
+    AVOutputFormat *avifmt = NULL;  
+    while (NULL != (avifmt = av_oformat_next(avifmt))) {
  if (std::string(avifmt->name) == "avi") {
     break;
  }
@@ -106,7 +106,7 @@
  return -1;
     }
     
-    av_output = av_alloc_format_context();
+    av_output = avformat_alloc_context();
     if (!av_output) {
  (*out) << "AVHandler: Memory error allocating format context" << std::endl;
  return -1;
@@ -127,11 +127,11 @@
     }
 
     snprintf(av_output->filename, sizeof(av_output->filename), "%s", filename.c_str());
-    snprintf(av_output->title, sizeof(av_output->title), "%s", title.c_str());
-    snprintf(av_output->author, sizeof(av_output->author), "%s", author.c_str());
-    snprintf(av_output->comment, sizeof(av_output->comment), "%s", comment.c_str());
+    // FIXME: snprintf(av_output->title, sizeof(av_output->title), "%s", title.c_str());
+    // FIXME: snprintf(av_output->author, sizeof(av_output->author), "%s", author.c_str());
+    // FIXME: snprintf(av_output->comment, sizeof(av_output->comment), "%s", comment.c_str());
     
-    if (url_fopen(&av_output->pb, filename.c_str(), URL_WRONLY) < 0) {
+    if (avio_open(&av_output->pb, filename.c_str(), URL_WRONLY) < 0) {
  (*out) << "AVHandler: Could not open \"" << filename << "\" for output" << std::endl;
  return -1;
     }
@@ -162,7 +162,7 @@
     }
 
     for (int i=0; i < av_input->nb_streams; i++) {
- if (av_input->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO) {
+ if (av_input->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
     vstream = av_input->streams[i];
     break;
  }
@@ -173,7 +173,7 @@
     }
 
     for (int i=0; i < av_input->nb_streams; i++) {
- if (av_input->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO) {
+ if (av_input->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
     astream = av_input->streams[i];
     break;
  }
@@ -204,9 +204,9 @@
     width = vstream->codec->width;
     height = vstream->codec->height;
 
-    title = av_input->title;
-    author = av_input->author;
-    comment = av_input->comment;
+    // FIXME: title = av_input->title;
+    // FIXME: author = av_input->author;
+    // FIXME: comment = av_input->comment;
 
     rgbframe = create_frame(PIX_FMT_RGB24);
     if (!rgbframe) return -1;
@@ -258,7 +258,7 @@
  if (c->coded_frame)
     pkt.pts = c->coded_frame->pts;
  if (c->coded_frame && c->coded_frame->key_frame)
-    pkt.flags |= PKT_FLAG_KEY;
+    pkt.flags |= AV_PKT_FLAG_KEY;
  /// XXX FIXME XXX does this ensure that the first frame is always a key frame?
 
  if (av_write_frame(av_output, &pkt) != 0) {
@@ -296,7 +296,9 @@
        (*out) << "AVHandler: Error seeking to " << target_timestamp << std::endl;
        return -1;
     }
-    cc->hurry_up = 1;
+
+    // http://ffmpeg.org/pipermail/ffmpeg-cvslog/2011-April/035933.html
+    // FIXME: deprecated: cc->hurry_up = 1;
 
     // Flush stream buffers after seek
     avcodec_flush_buffers(cc);
@@ -324,14 +326,14 @@
  return -1;
     }
 
-    if (url_feof(av_input->pb)) {
+    if (av_input->pb->eof_reached) {
  (*out) << "AVHandler: EOF reached" << std::endl;
     }
  }
 
  // Decode the packet into a frame
  int frameFinished;
- if (avcodec_decode_video(cc, frame, &frameFinished, packet.data, packet.size) < 0) {
+ if (avcodec_decode_video2(cc, frame, &frameFinished, &packet) < 0) {
     (*out) << "AVHandler: Error decoding video stream" << std::endl;
     av_free_packet(&packet);
     av_free(frame); frame = NULL;
@@ -342,7 +344,9 @@
     current_timestamp = (uint64_t)(vstream->cur_dts * AV_TIME_BASE * (long double)stream_time_base);
  }
     }
-    cc->hurry_up = 0;
+
+    // http://ffmpeg.org/pipermail/ffmpeg-cvslog/2011-April/035933.html
+    // FIXME: deprecated: cc->hurry_up = 0;
 
     SwsContext *sc = sws_getContext(cc->width, cc->height, cc->pix_fmt,
     cc->width, cc->height, PIX_FMT_BGR24,
@@ -361,8 +365,8 @@
     (*out) << "Supported file formats:" << std::endl;
     av_register_all();
 
-    AVOutputFormat *ofmt;
-    for (ofmt = first_oformat; ofmt != NULL; ofmt = ofmt->next) {
+    AVOutputFormat *ofmt = NULL;
+    while (NULL != (ofmt = av_oformat_next(ofmt))) {
  (*out) << ofmt->name << " ";
     }
     (*out) << std::endl << std::endl;
@@ -375,7 +379,7 @@
 
     AVCodec *codec;
     for (codec = av_codec_next(0); codec != NULL; codec = av_codec_next(codec)) {
- if ((codec->type == CODEC_TYPE_VIDEO) &&
+ if ((codec->type == AVMEDIA_TYPE_VIDEO) &&
     (codec->encode)) {    
     (*out) << codec->name << " ";
  }
@@ -395,7 +399,7 @@
     
     cc = vstream->codec;
 
-    cc->codec_type = CODEC_TYPE_VIDEO;
+    cc->codec_type = AVMEDIA_TYPE_VIDEO;
     
     cc->bit_rate = bitrate;
     cc->width = width;


**************************************************************************
vrml-1.0.13
**************************************************************************

--- vrml-1.0.13.tar.gz\vrml\inst\vrml_browse.m Mon Apr 16 12:01:20 2012
+++ vrml-1.0.13_patched.tar.gz\vrml\inst\vrml_browse.m Sat Aug 04 12:02:47 2012
@@ -96,8 +96,11 @@
 b_opt = [out_option," ",bop," ",best_option, " ",geo_option] ;
 
 
-b_temp = "/tmp/octave_vrml_output.wrl" ;
-b_log  = " &> /tmp/octave_vrml_browser.log";
+if ~exist('tmp','dir')
+    mkdir('tmp')
+end
+b_temp = "tmp/octave_vrml_output.wrl" ;
+b_log  = " &> tmp/octave_vrml_browser.log";
 
 new_browser = 0 ;
  # ####################################

--- vrml-1.0.13.tar.gz\vrml\inst\vrml_thick_surf.m Mon Apr 16 12:01:20 2012
+++ vrml-1.0.13_patched.tar.gz\vrml\inst\vrml_thick_surf.m Sat Aug 04 12:13:42 2012
@@ -50,18 +50,18 @@
 tran = 0 ;
 col = [0.3, 0.4, 0.9] ;
 smooth = creaseAngle = nan ;
-nargin = nargin();
+nargs = nargin();
 
-if (nargin <= 1) || ischar(y), # Cruft to allow not passing x and y
+if (nargs <= 1) || ischar(y), # Cruft to allow not passing x and y
   zz = x ;
   [R,C] = size (zz);
   xx = ones(R,1)*[1:C] ;
   yy = [1:R]'*ones(1,C) ;
-  if     nargin >=3,
+  if     nargs >=3,
 
     s = vrml_surf ( xx, yy, zz, y, z, varargin{:} );
     return
-  elseif nargin >=2,
+  elseif nargs >=2,
 
     s = vrml_surf ( xx, yy, zz, y, varargin{:} );
     return
@@ -73,12 +73,12 @@
 filename = "vrml_thick_surf" ;
 verbose = 0 ;
 
-if nargin > 3,
+if nargs > 3,
 
   opt1 = " tran col creaseAngle " ;
   opt0 = " smooth " ;
 
-  nargin -= 3 ;
+  nargs -= 3 ;
 
   read_options_old ;
 end
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

c.-2

On 16 Sep 2012, at 08:13, nitnit wrote:

> Jordi Gutiérrez Hermoso wrote
>>
>> On Fri, Sep 14, 2012 at 3:44 PM, Jordi Gutiérrez Hermoso wrote:
>> Nitzan, can you please publish the sources you've used to build MinGW?
>> It's a little worrisom that we're in effect distributing GPL-violating
>> MinGW binaries.
>>
>
> Attached are the patches I have used for octaveforge packages in order to
> build them on mingw. Be aware that most of them are simply workarounds to
> overcome mingw environment failures to identify libs. I hope that I will be
> able to fix some of these on next mingw octave build.
>
> Nitzan
>
> ...
>
> **************************************************************************
> ocs-0.1.3
> **************************************************************************
>
> --- ocs-0.1.3_svn20120128.tar.gz\ocs\PKG_ADD Sat Aug 06 15:32:14 2011
> +++ ocs-0.1.3_svn20120128_patched.tar.gz\ocs\PKG_ADD Sat Jan 28 18:24:23
> 2012
> @@ -1,10 +1,12 @@
> dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
> -dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
> +% dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
> +dirname = fileparts (mfilename ("fullpath"));
>
> if (! exist (fullfile (dirname, "inst"), "dir"))
>   ## Run this if the package is installed
>   for ii=1:length (dirlist)
> -    addpath ( [ dirname "/../" dirlist{ii}],"-end")
> +%     addpath ( [ dirname "/../" dirlist{ii}],"-end")
> +    addpath (fullfile(dirname,dirlist{ii}),"-end")
>   endfor
> else
>   ## Run this if we are testing the package without installation
>
> --- ocs-0.1.3_svn20120128.tar.gz\ocs\PKG_DEL Sat Aug 06 15:32:14 2011
> +++ ocs-0.1.3_svn20120128_patched.tar.gz\ocs\PKG_DEL Sat Jan 28 18:02:54
> 2012
> @@ -1,14 +1,18 @@
> dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
> -dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
> +% dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
> +[basename,dirname] = fileparts (canonicalize_file_name (mfilename
> ("fullpath")));
>
> for ii=1:length (dirlist)
>   if (! exist (fullfile (dirname, "inst"), "dir"))
>     ## Run this if the package is installed
> -    rmpath ( [ dirname "/../" dirlist{ii}])
> -  else
> +%     rmpath ( [ dirname "/../" dirlist{ii}])
> +    rmpath ( fullfile(basename,dirlist{ii}))
> +   else
>     ## Run this if we are testing the package without installation
> -    rmpath ([ dirname "/inst/" dirlist{ii}])
> -    rmpath ([ dirname "/src/"])
> +%     rmpath ([ dirname "/inst/" dirlist{ii}])
> +    rmpath ( fullfile(basename,"inst",dirlist{ii}) )
> +%     rmpath ([ dirname "/src/"])
> +%     rmpath (fullfile(basename,"src"]))
>   end
> end


I just checked in a slightly different version of your patch for OCS,
could you please check if it works on mingw?

Thanks!
c.
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

Jordi Gutiérrez Hermoso-2
In reply to this post by nitnit
On 16 September 2012 02:13, nitnit <[hidden email]> wrote:

>
> Jordi Gutiérrez Hermoso wrote
>>
>> On Fri, Sep 14, 2012 at 3:44 PM, Jordi Gutiérrez Hermoso wrote:
>> Nitzan, can you please publish the sources you've used to build MinGW?
>> It's a little worrisom that we're in effect distributing GPL-violating
>> MinGW binaries.
>>
>
> Attached are the patches I have used for octaveforge packages in order to
> build them on mingw.

Thank you very much! I'll be working on the next few days on
incorporating as much as possible these patches into the Octave
sources.

- Jordi G. H.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

Olaf Till-2
On Sun, Sep 16, 2012 at 11:38:55AM -0400, Jordi Gutiérrez Hermoso wrote:

> On 16 September 2012 02:13, nitnit <[hidden email]> wrote:
> >
> > Jordi Gutiérrez Hermoso wrote
> >>
> >> On Fri, Sep 14, 2012 at 3:44 PM, Jordi Gutiérrez Hermoso wrote:
> >> Nitzan, can you please publish the sources you've used to build MinGW?
> >> It's a little worrisom that we're in effect distributing GPL-violating
> >> MinGW binaries.
> >>
> >
> > Attached are the patches I have used for octaveforge packages in order to
> > build them on mingw.
>
> Thank you very much! I'll be working on the next few days on
> incorporating as much as possible these patches into the Octave
> sources.
>
> - Jordi G. H.
Please do not apply the patch for the optim package. I already
commented on this on another thread. This change is not
acceptable. Instead, the mingw-Octave package should be fixed so that
mkoctfile returns the correct flags.

Olaf

--
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

Olaf Till-2
On Sun, Sep 16, 2012 at 07:22:36PM +0200, Olaf Till wrote:

> On Sun, Sep 16, 2012 at 11:38:55AM -0400, Jordi Gutiérrez Hermoso wrote:
> > On 16 September 2012 02:13, nitnit <[hidden email]> wrote:
> > >
> > > Jordi Gutiérrez Hermoso wrote
> > >>
> > >> On Fri, Sep 14, 2012 at 3:44 PM, Jordi Gutiérrez Hermoso wrote:
> > >> Nitzan, can you please publish the sources you've used to build MinGW?
> > >> It's a little worrisom that we're in effect distributing GPL-violating
> > >> MinGW binaries.
> > >>
> > >
> > > Attached are the patches I have used for octaveforge packages in order to
> > > build them on mingw.
> >
> > Thank you very much! I'll be working on the next few days on
> > incorporating as much as possible these patches into the Octave
> > sources.
> >
> > - Jordi G. H.
>
> Please do not apply the patch for the optim package. I already
> commented on this on another thread. This change is not
> acceptable. Instead, the mingw-Octave package should be fixed so that
> mkoctfile returns the correct flags.
>
> Olaf
I just saw that the same inacceptable change was proposed for the
linear-algebra package and possibly also (?) for the optiminterp
package. The same problem should also exist in the packages (not
included in this patch) control, octgpr, and odepkg. One cannot just
unconditionally hardcode the lapack library to link to only because
the Mingw built of Octave can not handle a (hopefully) correct way to
specify it. These lines in the Makefiles regarding the lapack linkage
were introduced only recently into these packages after some
discussion and some thinking.

Olaf

--
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

Paul Dreik-2
In reply to this post by nitnit
2012-09-16 08:13, nitnit skrev:

> Jordi Gutiérrez Hermoso wrote
>> On Fri, Sep 14, 2012 at 3:44 PM, Jordi Gutiérrez Hermoso wrote:
>> Nitzan, can you please publish the sources you've used to build MinGW?
>> It's a little worrisom that we're in effect distributing GPL-violating
>> MinGW binaries.
>>
> Attached are the patches I have used for octaveforge packages in order to
> build them on mingw. Be aware that most of them are simply workarounds to
> overcome mingw environment failures to identify libs. I hope that I will be
> able to fix some of these on next mingw octave build.
>
> Nitzan
>
>
> **************************************************************************
> sockets-1.0.8
> **************************************************************************
>
> --- sockets-1.0.8.tar.gz\sockets\src\Makefile Tue Jan 10 21:05:12 2012
> +++ sockets-1.0.8_patched.tar.gz\sockets\src\Makefile Sat Aug 04 11:35:39
> 2012
> @@ -14,7 +14,8 @@
>  all: $(OCT)
>  
>  %.oct: %.cc
> - mkoctfile $(VFLAGS) -s $<
> + mkoctfile -L/C/Octave/Octave3.6.0_gcc4.6.2/mingw32/lib $(VFLAGS) -s
> -lws2_32 $<
> +# mkoctfile $(VFLAGS) -s $<
>  
>  test: $(OCT)
>   test_octave_sockets
>
Considering the above change for the sockets package,
is there some way to detect that one runs in mingw, so it is possible to
use the same octfile on multiple platforms?
something like (in pseudo code)
if $(lsb_config ???) == mingw
   moreflags= -L/c/..../
end

The less patches needed, the better.

paul

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

Michael Goffioul
In reply to this post by Olaf Till-2
On Sun, Sep 16, 2012 at 1:53 PM, Olaf Till <[hidden email]> wrote:
I just saw that the same inacceptable change was proposed for the
linear-algebra package and possibly also (?) for the optiminterp
package. The same problem should also exist in the packages (not
included in this patch) control, octgpr, and odepkg. One cannot just
unconditionally hardcode the lapack library to link to only because
the Mingw built of Octave can not handle a (hopefully) correct way to
specify it. These lines in the Makefiles regarding the lapack linkage
were introduced only recently into these packages after some
discussion and some thinking.

To be honest, I don't think the idea was to integrate the changes as-is. There has been complaints that Nitzan patches were not available and that it was a GPL violation. So there they are. Whether you like them or not, or whether they are "integratable" is not really relevant.

Michael.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

Michael Goffioul
In reply to this post by Paul Dreik-2
On Sun, Sep 16, 2012 at 1:57 PM, Paul Dreik <[hidden email]> wrote:
> **************************************************************************
> sockets-1.0.8
> **************************************************************************
>
> --- sockets-1.0.8.tar.gz\sockets\src\Makefile Tue Jan 10 21:05:12 2012
> +++ sockets-1.0.8_patched.tar.gz\sockets\src\Makefile Sat Aug 04 11:35:39
> 2012
> @@ -14,7 +14,8 @@
>  all: $(OCT)
>
>  %.oct: %.cc
> -     mkoctfile $(VFLAGS) -s $<
> +     mkoctfile -L/C/Octave/Octave3.6.0_gcc4.6.2/mingw32/lib $(VFLAGS) -s
> -lws2_32 $<
> +#    mkoctfile $(VFLAGS) -s $<
>
>  test: $(OCT)
>       test_octave_sockets
>
Considering the above change for the sockets package,
is there some way to detect that one runs in mingw, so it is possible to
use the same octfile on multiple platforms?

That's a job for the configure script.

Michael.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

Jordi Gutiérrez Hermoso-2
In reply to this post by Olaf Till-2
On 16 September 2012 13:22, Olaf Till <[hidden email]> wrote:

> On Sun, Sep 16, 2012 at 11:38:55AM -0400, Jordi Gutiérrez Hermoso wrote:
>> On 16 September 2012 02:13, nitnit <[hidden email]> wrote:
>> >
>> > Jordi Gutiérrez Hermoso wrote
>> >>
>> >> On Fri, Sep 14, 2012 at 3:44 PM, Jordi Gutiérrez Hermoso wrote:
>> >> Nitzan, can you please publish the sources you've used to build MinGW?
>> >> It's a little worrisom that we're in effect distributing GPL-violating
>> >> MinGW binaries.
>> >>
>> >
>> > Attached are the patches I have used for octaveforge packages in order to
>> > build them on mingw.
>>
>> Thank you very much! I'll be working on the next few days on
>> incorporating as much as possible these patches into the Octave
>> sources.
>
> Please do not apply the patch for the optim package. I already
> commented on this on another thread. This change is not
> acceptable.

I know better than to apply specific ad-hoc hacks. ;-)

It's just good to know what the problems are that these hacks exhibit.
Fixing the underlying issues is what I proposed to attack.

- Jordi G. H.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Octave-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/octave-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: My patches for octaveforge pkgs Mingw build

nitnit
In reply to this post by c.-2
c.-2 wrote
I just checked in a slightly different version of your patch for OCS,
could you please check if it works on mingw?

Thanks!
c.
I forgot to mention that in order for the PKG_ADD/PKG_DEL to properly work, After 'pkg install' I had to manually move them from
/lib/octave/packages/ocs-0.1.3/i686-pc-mingw32-api-v48+
to
/share/octave/packages/ocs-0.1.3

I don't know how to do this as part of the install procedure.

When I have done this to current svn ocs, pkg load seems to work properly but 'pkg unload ocs' produce the following messages:

warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\..\utl: not found
warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\..\asm: not found
warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\..\tst: not found
warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\..\nls: not found
warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\..\prs: not found
warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\..\sbn: not found

pkg uninstall ocs produce the following warnings:

warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3: not found
warning: rmpath: C:\Octave\Octave3.6.2_gcc4.6.2\lib\octave\packages\ocs-0.1.3\i686-pc-mingw32-api-v48+: not found
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\utl: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\asm: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\tst: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\nls: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\prs: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\sbn: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\utl: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\asm: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\tst: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\nls: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\prs: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\sbn: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\utl: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\asm: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\tst: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\nls: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\prs: No such file or directory
warning: load_path: C:\Octave\Octave3.6.2_gcc4.6.2\share\octave\packages\ocs-0.1.3\sbn: No such file or directory

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

Re: My patches for octaveforge pkgs Mingw build

nitnit
In reply to this post by Olaf Till-2
Olaf Till-2 wrote
Please do not apply the patch for the optim package. I already
commented on this on another thread. This change is not
acceptable. Instead, the mingw-Octave package should be fixed so that
mkoctfile returns the correct flags.
Olaf Till-2 wrote
I just saw that the same inacceptable change was proposed for the
linear-algebra package and possibly also (?) for the optiminterp
package. The same problem should also exist in the packages (not
included in this patch) control, octgpr, and odepkg. One cannot just
unconditionally hardcode the lapack library to link to only because
the Mingw built of Octave can not handle a (hopefully) correct way to
specify it. These lines in the Makefiles regarding the lapack linkage
were introduced only recently into these packages after some
discussion and some thinking.
Regarding the missing LAPACK_LIB in octave mingw environment, I will try to fix that on next release (probably forthcoming 3.6.4) so hopefully these patches will not be required.

Nitzan
Loading...