This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


John W. Eaton wrote
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.


Well, after some more experimenting, the problem appears related to using the recursive search feature of LOADPATH on a *network* drive. That is,

If the path is located within a physically attached hard drive, octave operates as expected. For instance, /cygdrive/c/test// works all the way down to /cygdrive/c/test/a/b/c/d/e/

If the path is located on a network drive created using windows "Map Network Drive" menu option under "My Computer", octave will only recurse down 1 level of subdirectory. For instance "/usr/share/octave/site/m// does not work.

And if I use a cygwin windows mapping instead "/cygdrive/x/cygwin/usr/share/octave/site/m//, it still does not work correctly and recurses down only one level.

In my installation, the entire cygwin root is located on a network drive (and no one else uses it). Works just fine for everything else.

John, it you got any other hints, I would appreciate it as I'm diving in.

Larrie.



--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]