RE: gcc-dw2? or fast sjlj-exceptions EH

2007-09-11 Thread John W. Eaton
On 11-Sep-2007, Danny Smith wrote:

| At http://www.cygwin.com/ml/cygwin/2007-09/msg00194.html
| 
| Tatsuro Matsuoka wrote:
| 
|  The best solution, I think, the speed of sjlj-exceptions EH on the 
|  cygwin is as fast as that of other platforms.
|  
| 
| In the case of octave, I believe that the main cause of slowdown is the
| sjlj EH code generated in prologue of new()
| Does a no-throw override of libary version of these functions help ?  

Octave does not set up a new handler because it expects that a failed
allocation will throw a std::bad_alloc exception.  Given that, it
seems that the replacement for operator new that you posted would
cause Octave to crash on a failed allocation, and that's not an
acceptable solution for an interactive system like Octave.

If we did install a new handler, could it throw a std::bad_alloc
exception and still avoid the performance problem?  I don't see how,
as it seems that would just be pushing the problem one function call
level deeper but without any real change in the way things work.

It's also not acceptable to install a new handler that doesn't throw
an exception but just does a longjmp because then all the nice cleanup
things that are supposed to happen with exception handling are
bypassed when recovering from the failed allocation.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



RE: octave compiled with gcc-3.4.4-2 - error messages during make check

2006-08-21 Thread John W. Eaton
On 21-Aug-2006, Dave Korn wrote:

| Then, keeping the
| dll constant, try rolling your gcc install back to 3.4.4-1, building in a
| fresh object dir, and running make check there.  Please let us know what
| results you get.

This won't work for Octave because it is a victim of the std::string
bug in the 3.4.4-1 package.  Without some fix for that problem, Octave
segfaults on startup.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: change in behavior of make from 3.80 to 3.81

2006-08-16 Thread John W. Eaton
On 16-Aug-2006, William A. Hoffman wrote:

| Without your support, I don't think the patch would get far.
| I am thinking the patch would be something like:
| 
| #ifdef CYGWIN
| #define HAVE_DOS_PATHS 
| #endif

Have you tried this (uh, what file are you patching anyway)?  Does it
work?  Does it cause problems for valid Makefiles that assume POSIX
filenames?

Suggesting changes to GNU Make on this list is not going to cause
things to happen.  If you want to see changes, then I think the place
to start is to

  * get a copy of the current GNU Make sources

  * apply your above patch

  * build and test it

  * if it works, submit the patch to the GNU Make maintainers in the
appropriate forum (not here) explaining why the patch is needed
and whether there are any potential hazards to watch out for if
the change is made

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: change in behavior of make from 3.80 to 3.81

2006-08-15 Thread John W. Eaton
On 15-Aug-2006, Joachim Achtzehnter wrote:

| Free software is about collaboration of a community consisting of
| developers, users, documentation authors, testers, translators, etc. to a
| common good, namely the production of good software that serves the needs
| of that community.

In my view, people who are doing the work, whether that is writing
code, doing testing, writing documentation, or some other useful job,
are developers.  Some users are developers.  The ones that just
want something for nothing are not much help to me.

| A peculiar aspect of all-volunteer free software
| projects (some are wholly or partially funded where this can be different)
| is that nobody can force another member of the community to do something
| they don't want to do, so it is all based on persuasion and winning over
| others by argument.

In my experience, people who just want to persuade others to do work
for them without actually contributing any work back to a project are
not very helpful.  Ideas are easy to come by.  The work to implement
them is not.

| You make it appear as if a handful of developers are 
| making a contribution and everybody else is just getting a gratis
| benefit without contributing.

Again, my experience has been that this is generally the way things
work in free software projects.  A few people do almost all of the
work and a lot of others benefit without contributing.

| Clearly, developers make a huge contribution,
| nobody is denying this, but to suggest that *only* developers contribute
| and everybody else should therefore just shut up

I never said everyone else should just shut up.  My point was that
if you aren't contributing in some way, then you shouldn't expect your
complaining to carry much weight.  The way to get things done is to do
the work, not just complain and hope that people do something for you.

| A healthy free software project 
| depends on and welcomes input from the community.

Sometimes, the input becomes annoying.  When this happens, do you
expect the people doing the work to just sit back and take it?

| The attitude exhibited by 
| some on this mailing list, of trying to muzzle opinions they disagree with, 
| does not help.

How are people on the mailing list being muzzled?  If that were the
case, then I would think there would have been a lot fewer messages
about this topic on the list.

Obligatory-make-behavior-content:

It seems there is really no need for this discussion now, as there are
several options available for someone willing to do the work:

  * Use the MinGW version of make to build your projects.

  * Patch your own version of GNU Make for Cygwin (I don't think that
the patch used with the previous version is a secret).

  * Get the necessary changes adopted in the mainline GNU Make
sources.


jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: change in behavior of make from 3.80 to 3.81

2006-08-14 Thread John W. Eaton
A recap, as I understand it (please correct me if I'm wrong):

  * The version of GNU Make for Cygwin used to support MS-DOS
filenames.  This feature was not part of GNU Make if you compiled
the sources for Cygwin out of the box, but was something that was
added and maintained as a separate patch.

  * The maintainer of the GNU Make package grew weary of maintaining
the patch and decided to drop it.

  * Lots of people are complaining.

  * The maintainer of the GNU Make package for Cygwin has repeatedly
made it clear that no amount of complaining will result in the
patch being maintained and applied to any future GNU Make package
for Cygwin.  My understanding is that the central problem is the
amount of effort required to update the patch with each new
release of GNU Make, not that the feature itself is necessarily
bad, though there may be some obscure problems such that it would
be better if the feature could be optional, either with a
command-line option or special Makefile directive.

  * You are now taking this to mean that the Cygwin maintainers don't
care about users and you are suggesting that this could result in
a fork of Cygwin (good luck with that).

Please, this makes absolutely no sense.

This whole problem could be solved if the people who are complaining
about the Cygwin version of GNU Make directed their efforts toward
getting a patch accepted in the GNU Make sources that handles MS-DOS
style filenames when GNU Make is compiled for Cygwin.  Then there
would be no need to maintain a separate patch just for the Cygwin
package of GNU Make.

Or am I missing something?

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



RE: change in behavior of make from 3.80 to 3.81

2006-08-14 Thread John W. Eaton
On 15-Aug-2006, Dave Korn wrote:

| On 14 August 2006 23:51, John W. Eaton wrote:
| 
|  Or am I missing something?
| 
|   The increasingly obvious fact that the aforementioned people have no
| intention of actually *doing* anything, and seem to want to do nothing except
| complain and tell others what they ought to be doing, rather than actually
| getting something done?

Oh yeah, I started writing that paragraph but then deleted it since it
seemed to be so much stating the obvious that I even recognized it as
beating the mummified horse.  I mean, isn't free software all about
getting something for nothing, then complaining about it and expecting
others to do yet more gratis work for you?

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: 3.81 and windows paths

2006-07-28 Thread John W. Eaton
On 28-Jul-2006, Paul D. Smith wrote:

| Regardless, I still wonder whether my idea of building make for a POSIX
| environment with Cygwin, but setting HAVE_DOS_PATHS explicitly, would
| work.

If this could cause some valid Makefiles to do the wrong thing as cgf
suggests might happen, then can we at least make the behavior
optional, perhaps with a command line option or magic target (maybe
.WINDOWS_FILENAMES:)?  That way, people who don't ask for the
special feature won't be bitten by it.

Thanks,

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: 3.81 and windows paths

2006-07-28 Thread John W. Eaton
On 28-Jul-2006, Chris Taylor wrote:

| So even if the DOS #ifdef was enabled, we'd be back at the point of 
| having patches to attempt to fix this behaviour.
| Unless there was some way of having two versions of make - one with this 
| behaviour and one without, controlled by /etc/alternatives perhaps?

Two versions for this seemingly small feature seems a bit much when a
command-line switch could do the job.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: 3.81 and windows paths

2006-07-28 Thread John W. Eaton
On 28-Jul-2006, Paul D. Smith wrote:

| This would be very tricky: right now all the code to do DOS vs. POSIX
| pathnames is controlled through #ifdefs, so it's a compile-time thing.
| Changing it to a runtime thing would be a lot of work, I think... the

OK, but I still think it should be implemented as an optional feature
that users can select unless we can prove that the feature doesn't
cause trouble for valid Makefiles that use only Posix filenames.

| #ifdeffing in GNU make is kind of a mess, with all the different ports
| we support.

Yes, that's unfortunate.  I don't think that it is necessary to use an
intricate mess of #ifdefs all throughout a program to achieve
portability to a wide variety of systems.  That seems to be a design
decision that was made fairly early on in the development of Make
(long before you became the maintainer, I would guess).

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Fixing the state of C++ in Cygwin

2006-04-27 Thread John W. Eaton
On 27-Apr-2006, Angelo Graziosi wrote:

| In the Cygwin distribution there are packages like Octave that are
| incompatible with gcc-3.4.4-1, yet.

Octave on Cygwin would also be helped if libstdc++ were built as a
DLL.  Has there been any progress on that?  Is there anyone else who
is interested in having a DLL for libstdc++?  If there are problems
that prevent this from happning, what are they?

Thanks,

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



using 'mkoctfile'

2006-02-28 Thread John W. Eaton
On 28-Feb-2006, Agnes Bousquier wrote:

|I am using Octave 2.1.72 under cygwin and would like to generate .oct 
| files thanks to the command 'mkoctfile'. Unfortunately, when I type
| mkoctfile myfile.cc
| the following message appears (in French) :
| /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld : 
| can not find -lreadline
| collect2 : ld returned an execution state code
|   Could anyone please tell me what is missing ?

I'm not sure why the readline library is not found.  It should be
installed with just about any Cygwin install, and I think it is a
dependency of the Octave package.

But in any case, I think you need to be using gcc 3.3, otherwise you
will likely have problems.  There is more information here:
http://cygwin.com/ml/cygwin/2006-02/msg00738.html.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Octave's oct-modules built with gcc-3.4.4-1 crash octave.

2006-02-21 Thread John W. Eaton
On 21-Feb-2006, Juhani Saastamoinen wrote:

| The binary octave modules compiled with gcc-3.4.4 don't work.

The last time I checked, Octave just doesn't work with gcc 3.4 on
Cygwin systems.  I think the biggest problem is this bug

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24196

which was also discussed in this thread:

  http://cygwin.com/ml/cygwin/2006-01/msg00297.html

and there also seems to be a related problem here:

  http://cygwin.com/ml/cygwin/2006-01/msg00495.html

though I'm not sure that these two problems are precisely the same
bug.

| Installing the gcc-3.3.3-3 compiler version makes oct modules
| work again. I use a 'myones.cpp' code as an example below.

If you are using the binary package from a Cygwin mirror, then I think
you will have to use gcc 3.3 to built .oct files.   I'm fairly certain
that the binary package of Octave is built with gcc 3.3, and it is
best to not mix C++ compiler versions when building .oct files.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: [octave ] LOADPATH recurses only one level of subdirectories (on network drives)

2006-02-14 Thread John W. Eaton
On 14-Feb-2006, Eric Blake wrote:

| so it is a
| bug in octave if it is mis-optimizing traversal in the presence of a
| directory link count of 1.  It might make sense, though, for cygwin to set
| the link count to 0 on remote directories (rather than 1), to make it
| obvious that the link count really is unknown, but this still does not
| take the blame off of octave for the mis-optimization.

If we are playing the blame game, then let's assign some of the blame
to the kpathsearch library, which is the basis for Octave's path
searching code.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: once more unto the breech - still hanging, but I have a little more info.

2006-02-09 Thread John W. Eaton

|You just dumped 5 meg of useless spam into the inboxes of several  
|  thousand people.  You just ate up dozens of gigabytes of
|  sourceware.org's bandwidth, which are a scarce resource, paid for  
|  out of hard-earned donations and sponsorship.

Sorry to waste additional bandwith with this potentially obvious
question, but if this is a big problem, then why not place limits on
the size of posts going to the list?

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



[octave ] LOADPATH recurses only one level of subdirectories

2006-02-09 Thread John W. Eaton
On  9-Feb-2006, Larrie Carr wrote:

| In short, octave-forge is non-functional as it uses multiple subdirectories.

If that's true for everyone, then I'm surprised as I think you are the
first to report it.

| I've been looking through the sources and nothing has sprung up.  Did find a 
| cut-and-paste code error in oct_file_in_path() in utils.cc where the string 
| length is not properly checked.  Look like a cut and paste from 
| fcn_file_in_path().  But this is for a different group.

Probably the code you are looking for is the function do_subdir in
liboctave/kpse.cc.  This file contains a stripped-down version of the
kpathsearch library.  Most modifications were to remove TeX-specific
stuff and to convert it to use std::string instead of plain C strings
which historically leaked memory.  In any case, that function may use
an optimization to decide when to check for subdirectories.  The
optimization looks at the link count of the current directory.  If it
is 2, then the assumption is that the current directory does not
contain any subdirectories.  That seems to work fine for Unixy
systems.  Does that assumption not hold for Cygwin?  If so, then I
think the fix is fairly simple as there is also Windows-specific code
in that function.  Whether the optimization is performed depends on
what is #defined at compile time, so you'll probably have to do some
checking on a Cygwin system to see what is really going on.

| int len = name.length();
| 
| if( len  0) {
|if (len 2  name [ len-4] == '.'  name [len-3] == 'o'
|name[len-2] == 'c'  name [len-1] =='t') 

I've fixed this in my sources.

If you find other bugs in Octave, please report them to
[EMAIL PROTECTED]

Thanks,

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: gnuplot dependency in octave

2005-12-08 Thread John W. Eaton
On  8-Dec-2005, Igor Pechtchanski wrote:

| What about http://cygwin.com/ml/cygwin/2005-12/msg00339.html (which
| fails gracefully if gnuplot isn't installed)?  Or does octave-forge
| already do the right thing (tm) with respect to a missing gnuplot (i.e.,
| print out a meaningful error message, such as plotting disabled since
| gnuplot is not installed -- please install it to plot)?

Here is what Octave does if it tries to run a nonexistent gnuplot:

  octave:1 gnuplot_binary = foobar
  gnuplot_binary = foobar
  octave:2 sombrero (41)
  octave:3 sh: foobar: command not found

  warning: connection to external plotter (pid = 25466) lost --
  warning: please try your plot command(s) again
  warning: broken pipe -- some output may be lost

So the user gets some idea that there is a problem, but I would bet
that this will confuse a lot of people.

My preference would be for it to work out of the box, but that is not
really the case yet, even if you have the gnuplot package installed.
The problem is that the Cygwin version of gnuplot requires X to put a
pretty plot on the screen but Octave does not require X to start.  So
if you run Octave in a Cygwin terminal (no X) then try a plot command,
Octave will think that the plot command succeeded, but nothing will
appear on the screen.  Maybe gnuplot should be giving an error when
the terminal is set to X11 but the X server is not available, but it
does not.

The gnuplot sources already have a way to open a native Windows window
for plotting, but that code is not used for the Cygwin version of
gnuplot (which uses X instead of the native Windows terminal driver).
It would be really sweet if the Cygwin gnuplot could be made to use
the native Windows terminal driver.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: octave-forge dependency?

2005-12-07 Thread John W. Eaton
OK, let's back up a bit, and see why kpsexpand is needed in the first
place.

Graphics in Octave use gnuplot.  The legend function from Octave Forge
sends a save FILE command to gnuplot so that it can extract some
information about gnuplot's current state.  If you do the following

  mv /usr/bin/kpsexpand. /usr/bin/kpsexpand-save
  gnuplot
  ...
  gnuplot save foo

you should see the errors

  sh: kpsexpand: command not found

So, why does gnuplot need kpsexpand to save state?  Looking at the
gnuplot sources, one finds

  /* Yet, no special font paths for these operating systems:
   * MSDOS, ATARI, AMIGA, MTOS, NeXT, ultrix, VMS, _IBMR2, alliant
   *
   * Environmental variables are written as $(name).
   * Commands are written as $`command`.
   */

  [...]

  #if defined(_Windows)  !defined(FONTPATHSET)
  #  define FONTPATHSET
  static const struct path_table fontpath_tbl[] =
  {
  { $(windir)\\fonts },
  /* Ghostscript */
  { c:\\gs\\fonts },
  /* X11 */
  { $(CYGWIN_ROOT)\\usr\\X11R6\\lib\\X11\\fonts\\Type1 },
  /* fpTeX */
  { $`kpsewhich -expand-path=$HOMETEXMF`\\fonts\\type1! },
  { $`kpsewhich -expand-path=$TEXMFLOCAL`\\fonts\\type1! },
  { $`kpsewhich -expand-path=$TEXMFMAIN`\\fonts\\type1! },
  { $`kpsewhich -expand-path=$TEXMFDIST`\\fonts\\type1! },
  { NULL }
  };
  #endif

  [...]

  /* Fallback: Should work for unix */
  #ifndef FONTPATHSET
  static const struct path_table fontpath_tbl[] =
  {
  /* teTeX or TeXLive */
  { $`kpsexpand '$HOMETEXMF'`/fonts/type1! },
  { $`kpsexpand '$TEXMFLOCAL'`/fonts/type1! },
  { $`kpsexpand '$TEXMFMAIN'`/fonts/type1! },
  { $`kpsexpand '$TEXMFDIST'`/fonts/type1! },
  /* Linux paths */
  { /usr/X11R6/lib/X11/fonts/Type1 },
  { /usr/X11R6/lib/X11/fonts/truetype },
  /* HP-UX */
  { /usr/lib/X11/fonts!},
  /* Ghostscript */
  { /usr/share/ghostscript/fonts },
  { /usr/local/share/ghostscript/fonts },
  { NULL }
  };
  #endif

  [...]

switch (action) {
case ACTION_CLEAR:
/* Clear fontpath, fall through to init */
FPRINTF((stderr, Clear fontpath\n));
free(fontpath);
fontpath = p = last = NULL;
/* HBB 2726: 'limit' has to be initialized to NULL, too! */
limit = NULL;
case ACTION_INIT:
/* Init fontpath from environment */
FPRINTF((stderr, Init fontpath from environment\n));
assert(fontpath == NULL);
if (!fontpath)
{
char *envlib = getenv(GNUPLOT_FONTPATH);
if (envlib) {
/* get paths from environment */
int len = strlen(envlib);
fontpath = gp_strdup(envlib);
/* point to end of fontpath */
last = fontpath + len;
/* convert all PATHSEPs to \0 */
PATHSEP_TO_NUL(fontpath);
}
#if defined(HAVE_DIRENT_H) || defined(_Windows)
else {
/* set hardcoded paths */
const struct path_table *curr_fontpath = fontpath_tbl;

  [...]

in src/variable.c.  The above is taken from a recent CVS checkout, but
the 4.0.0 sources for the current Cygwin package have similar lines.

So gnuplot is using kpsexpand to locate some font files.

It looks like there are a couple of options.

One is to set GNUPLOT_FONTPATH in the environment before calling
gnuplot.

Another is to make a wrapper kpsexpand that looks for the real version
and does nothing if the real version is not present:

  #! /bin/sh
  if [ -x /usr/bin/kpsexpand ]; then
exec /usr/bin/kspexpand $@
  fi

(though you might want to add some comments about why this is needed).

If the real kpsexpand is not present, then chances are the font files
are not -either, so it should not matter that the corresponding
directories named in the fontpath are bogus.  You could install the
wrapper script in one of the directories in Octave's DEFAULT_EXEC_PATH
(for example, /usr/lib/octave/2.1.72/exec/i686-pc-cygwin, where a
couple of other scripts are already installed), then it would only be
found by Octave and should not introduce any other conflicts.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: octave-forge dependency?

2005-12-06 Thread John W. Eaton
On  6-Dec-2005, Christopher Faylor wrote:

| On Tue, Dec 06, 2005 at 01:14:13AM -0500, John W. Eaton wrote:
| On  6-Dec-2005, Charles Wilson wrote:
| Why does package octave-forge depend on tetex-bin?  As far as I can
| tell, octave-forge contains .oct and .m files, and few text and info
| files -- nothing there should need TeX.  I use MikTeX so I don't want
| to have cygwin-TeX installed, but this octave-forge dependency pulls in
| the whole mess for no good reason...
| 
| Octave uses makeinfo to format docstrings.
| 
| makeinfo is in the texinfo package not the TeX package.

Sorry, I answered a bit hastily.  I don't see a reason for the
octave-forge package to have a direct dependency on tetex-bin.  But
doesn't the texinfo package depend on tetex in some way?  I guess not:

@ texinfo
sdesc: Documentation system for on-line information and printed output
category: Text Doc
requires: cygwin libiconv2 libintl3 libncurses8 _update-info-dir
version: 4.8-1
install: release/texinfo/texinfo-4.8-1.tar.bz2 695242 
41433bef576c2bccc7136ec6677f6457
source: release/texinfo/texinfo-4.8-1-src.tar.bz2 1474048 
ae84f762aae32d3356cfd8639ff608f8
[prev]
version: 4.7-2
install: release/texinfo/texinfo-4.7-2.tar.bz2 690192 
b0b7a4d4fb51cfe3d1b8b7db85463d1f
source: release/texinfo/texinfo-4.7-2-src.tar.bz2 1356848 
5529d19c02bd71abc13479e3ebaa8325

though I'm not sure why it doesn't.  Isn't TeX needed to make this
package fully functional?

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



octave-forge dependency?

2005-12-05 Thread John W. Eaton
On  6-Dec-2005, Charles Wilson wrote:

| Why does package octave-forge depend on tetex-bin?  As far as I can 
| tell, octave-forge contains .oct and .m files, and few text and info 
| files -- nothing there should need TeX.  I use MikTeX so I don't want to 
| have cygwin-TeX installed, but this octave-forge dependency pulls in the 
| whole mess for no good reason...

Octave uses makeinfo to format docstrings.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Building libstdc++.dll the easy way

2005-10-05 Thread John W. Eaton
On  6-Oct-2005, Danny Smith wrote:

| Building  libstdc++.dll  may be a hard problem for a mathematician or
| for libtool, but this is how an ordinary  person coud do  it.
| 
| dlltool --output-def libstdc++.def --export-all libstdc++.a
| gcc -shared -olibstdc++.dll -Wl,--out-implib,libstdc++.dll.a \
| libstdc++.def libstdc++.a
| 
| 
| The main problem after that is in getting rid of the need for auto-import of
| data objects by marking header files appropiately.

The other main problem after that is that the C++ ABI has been
changing, so having only one version of the library would cause
trouble.  But maybe that is not as big a problem now as it was in the
past?  OTOH, surely there will be some changes to the library in the
future, so it seems that it would be a good idea to be able to have
multiple versions of libstdc++.dll.a installed simultaneously?  Or is
this not possible for some reason?

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



problem mixing C++ exceptions and setjmp/longjmp

2005-03-11 Thread John W. Eaton
I believe the following program should print

  main: calling doit
  doit: calling toit
  toit: throwing exception
  toit: caught exception, longjumping
  doit: longjump landed, throwing exception
  main: caught exception

but on the current Cygwin (updated today) using the 1.5.13-1
cygwin.dll and either gcc 3.3 or 3.4, it crashes with a segfault just
after printing the next to last line:

  doit: longjump landed, throwing exception

I tried going back to 1.5.12, but that did not fix the problem.

Can anyone reproduce this problem?

This problem affects GNU Octave, as it uses this technique to handle
interrupts in code that is a mixture of C++, C, and Fortran.  If
SIGINT arrives in a section of Octave code, the signal handler sets a
flag and then returns, letting Octave check the flag periodically.  At
some safe location, an exception is thrown that will return control
to the top level of the main interpreter loop.  If SIGINT arrives
inside some foreign code (say, readline, or some Fortran code) then
the signal handler jumps back to the location of the call to the
foreign code.  At that point, an exception is thrown to get back to
the top level.  I've not had problems with this approach until
recently when I upgraded my Cygwin installation.  Now Ctrl-C at the
prompt causes a segfault.  The program below is a distillation of the
key features of the Octave code, and shows the same problem.

Any clues?

Thanks,

jwe

-- 
www.octave.org | [EMAIL PROTECTED]

#include setjmp.h

#include iostream

jmp_buf context;

class
exception
{
  // empty;
};

static void
toit (void)
{
  try
{
  std::cerr  toit: throwing exception  std::endl;
  throw exception ();
}
  catch (exception)
{
  std::cerr  toit: caught exception, longjumping  std::endl;
  longjmp (context, 1);
}
}

static void
doit (void)
{
  if (setjmp (context) == 0)
{
  std::cerr  doit: calling toit  std::endl;
  toit ();
}
  else
{
  std::cerr  doit: longjump landed, throwing exception  std::endl;
  throw exception ();
}
}

int
main (void)
{
  try
{
  std::cerr  main: calling doit  std::endl;
  doit ();
}
  catch (exception)
{
  std::cerr  main: caught exception  std::endl;
}

  return 0;
}

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/

Octave package for Cygwin

2003-05-29 Thread John W. Eaton
I would like to contribute a Cygwin package for GNU Octave
(www.octave.org).

To start, I propose two packages, one with the Octave interpreter,
shared libraries, and other files necessary to run Octave and another
with the the header files and scripts necessary to compile and link
user-supplied C++, C, or Fortran code with Octave.

Here are the setup.hint files that I currently have:

  @ octave
  sdesc: The GNU Octave language for numerical computations
  category: Math
  requires: cygwin less ncurses readline texinfo
  ldesc: The GNU Octave language for numerical computations
  Octave is a (mostly Matlab (R) compatible) high-level language, primarily
  intended for numerical computations.  It provides a convenient command-line
  interface for solving linear and nonlinear problems numerically.


  @ octave-headers
  sdesc: Header files for the GNU Octave language
  category: Math
  requires: cygwin octave gcc
  ldesc: Header files for the GNU Octave language.
  This packages provides the include files needed to compile and link
  user-supplied code with GNU Octave.  If you only write interpreted .m
  files, you do not need this package.


Eventually I would like to also provide packages for ATLAS, LAPACK,
BLAS, fftw, and libhdf5 so that these features can be used with
Octave.  Does anyone know whether there might be other people who are
working on these packages or who might be interested in helping?

Currently, modules that are dynamically linked with Octave are quite
large, apparently because libstdc++ is not a shared library and large
portions of it end up in each module.  Is it possible that this will
change and that the version of libstdc++ distributed with Cygwin will
become a shared library instead?  Sorry if this is a FAQ (if there
have been previous discussions, I would appreciate knowing where I
could find them).

Comments or suggestions?

Thanks,

jwe

-- 
www.octave.org
www.che.wisc.edu/~jwe


Re: Building Octave-2.1.35 using Cygwin-1.3.3-2

2001-12-04 Thread John W. Eaton

On  4-Dec-2001, Billinghurst, David (CRTS) [EMAIL PROTECTED] wrote:

| You wrote that you had problems compiling octave-2.1.35 on cygwin, due to a
| missing definition of _rl_clear_screen.
| 
| The problem is that _rl_clear_screen is private and is not exported in
| cygreadline.dll.  As you and I both found out, simply removing the leading
| underscore is the Wrong Thing.
| 
| There are a number of solutions to this problem, including:
| a) building octave without readline support,
| b) building your own dll with this symbol exported
| c) using the static libreadline.a
| d) finding a way to use rl_clear_screen
| e) getting someone else to do (b) for you
| 
| Option (a) is easy as there is a configure option for this.
| 
| Option (c) is pretty easy.  
|  Configure octave with CFLAGS='-DREADLINE_STATIC -O'
|  Change -lreadline to /usr/lib/libreadline.a in Makeconf
|  make 
| 
| The rest are left as an exercise.

It's not quite as easy as that now, since the readline sources are no
longer distributed with Octave.

In any case, this problem is fixed in the current Octave sources (in
CVS) and should not appear in the next snapshot.

jwe

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/