Hello

Please see the long discussions about the fixed package.

http://www.nabble.com/Creating-library-file-in-fixed-package-for-mingw-to14562936.html#a14562936

In the discussion Michael wrote,
My modidication of mingw/cygwin is based on the following Michael's advise.
The following the 3rd option cannot be applied to the linux. 

Regards

Tatsuro


On 1/1/08, Tatsuro MATSUOKA <[EMAIL PROTECTED]> wrote:
> Thank you Michael.
>
> The mingw gcc is the same as the cygwin gcc from the point of view of making 
> ****.dll.
> For the mingw, I should do the same as those for the cygwin.
> I will consider the modification of src/Makefile.

The problem with the dll approach (whether it's cygwin, mingw or
MSVC) is that it does not integrate well with the package manager.
To be usable, the dll must be installed in a location where the
Win32 system can find it, in order to load the oct-file correctly
(the fixed oct file will be linked against the dll). Putting the dll in
the same directory of the oct file is not enough, it should be
installed in a location available from PATH. To solve this problem,
several solutions can be considered:
1) the package manager installs the DLL into a location that is
part of PATH, for instance the octave bin directory; this is not
currently supported by the package manager
2) install the DLL in the same directory of the oct file, and make
octave dynamic loader add that directory to PATH before trying
to load the oct-file
3) do not use a DLL; use a static library and link the oct file
against it

After some discussion (a few months ago), I chose the 3rd option,
as it could be implemented locally in the fixed package. Moreover,
by making the oct-file export the same symbols as the DLL, I could
completely remove the need for a DLL (as any code that needs to
be linked against the DLL can be linked against the oct-file instead).

Michael. 


--- Rafael Laboissiere <[EMAIL PROTECTED]> wrote:

> * dbateman <[EMAIL PROTECTED]> [2008-03-22 05:49]:
> 
> > 宵ムlafur Jens Sigur娼テsson wrote:
> > > 
> > > Hey .. it seems that the fixed package fails to build on debian with
> > > the following error messages:
> > > 
> > 
> > I believe its fixed in the SVN. This was a failed attempt for a fix for the
> > cygwin/mingw platform that had other consequences..
> 
> It is only partially fixed in SVN.  Build of fixed.oct still fails because
> it tries to link against -L. -loctave_fixed, but no liboctave_fixed.so was
> built (this is because LIBEXT = dll).  The first patch attached below
> (extlib-so.diff) fixes this.
>  
> However, build still fails because liboctave_fixed.so is not really a shared
> library.  The second patch fixes this (link-shared-lib.diff, dunno whether
> it is portable to non-Linux OS'es).
> 
> It still does not work, because liboctave_fixed.so is not installed into
> /usr/lib/octave/3.0.0/.  I am doing this by hand in the Debian package.
> 
> I am having trouble to install this package using the version of pkg.m
> currently on tip of the hg repository.  This version allows installing from
> the unpacked directory (not from the tarball).  The problems are caused by
> the presence of PKG_ADD at the top dir.  When I issue "pkg install .",
> octave complains with:
> 
>     error: `fullfile' undefined near line 1 column 22
> 
> If I add the following to the top of PKG_ADD:
> 
>     addpath (genpath ("/usr/lib/octave/3.0.0/oct"), "-begin");
>     addpath (genpath ("/usr/share/octave/3.0.0/m"), "-begin");
> 
> then the error disappears but I get:
> 
>     warning: autoload: `./fixed.oct' is not an absolute file name
> 
> Is there a way to get around these problems?    
> 
> Finally, it would be great to remove Makeconf, config.log, and config.status
> from the tarball, at least in a *clean rule in src/Makefile.  The third
> patch attached below does this (mister-proper.diff).
> 
> -- 
> Rafael
> > -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace>
_______________________________________________
> Octave-dev mailing list
> Octave-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/octave-dev
> 


--------------------------------------
Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar
http://pr.mail.yahoo.co.jp/toolbar/

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to