Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.92k stars 549 forks source link

NFS to WinNT kills Configure #1204

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#2178 (status was 'resolved')

Searchable as RT2178$

p5pRT commented 24 years ago

From eckert@climber.org

I have a WinNT (4.0) disk mounted on my Solaris (2.7) workstation\, using Intergraph's "DiskShare" tool.

I got perl5.005_03 from CPAN\, unpacked it using Solaris gzip & tar\, and ran "sh Configure"... it seems to finish normally\, with NO ERRORS\, but "make" with no args fails​:

% make make​: Fatal error​: No arguments to build

The problem\, it turns out\, is case sensitivity in filenames. It's not REALLY necessary to have files which differ ONLY in the case of their first character\, is it?

As you probably know\, WinNT preserves case of filenames but if the exact case isn't found it tries any old case for a match. Finds one! Makefile vs. makefile.

Any chance you could remove case-only differences in file names to protect those of us unfortunate to have NT disks on the network?

Here's the directory after "Configure" runs in a directory that is physically on a WinNT disk​:

% ls Artistic README.mint config.h globals.c minimod.pl perlvars.h scope.h Changes README.mpeix config.sh gv.c miniperlmain.c perly.c sv.c Changes5.000 README.os2 config_h.SH gv.h mint perly.fixer sv.h Changes5.001 README.os390 configpm h2pl mpeix perly.h t Changes5.002 README.plan9 configure.com handy.h mv-if-diff perly.y taint.c Changes5.003 README.qnx configure.gnu hints myconfig perly_c.diff thrdvar.h Changes5.004 README.threads cop.h hv.c nostdio.h plan9 thread.h Configure README.vms cv.h hv.h objXSUB.h pod thread.sym Copying README.vos cygwin32 installhtml objpp.h pp.c toke.c EXTERN.h README.win32 deb.c installman op.c pp.h universal.c INSTALL Todo djgpp installperl op.h pp_ctl.c unixish.h INTERN.h Todo-5.005 doio.c intrpvar.h opcode.h pp_hot.c util.c MANIFEST XSUB.h doop.c iperlsys.h opcode.pl pp_proto.h util.h Makefile.SH XSlock.h dosish.h keywords.h os2 pp_sys.c utils Policy.sh apollo dump.c keywords.pl patchlevel.h proto.h vms Policy_sh.SH av.c ebcdic.c lib perl.c qnx vos Porting av.h eg makeaperl perl.exp regcomp.c win32 README beos emacs makeaperl.SH perl.h regcomp.h writemain README.amiga bytecode.h embed.h makedepend perl_exp.SH regcomp.pl writemain.SH README.apollo bytecode.pl embed.pl makedepend.SH perlio.c regcomp.sym x2p README.beos byterun.c embedvar.h makedir perlio.h regexec.c README.cygwin32 byterun.h ext makedir.SH perlio.sym regexp.h README.dos cc_runtime.h fakethr.h malloc.c perlsdio.h regnodes.h README.hpux cflags form.h mg.c perlsfio.h run.c README.hurd cflags.SH global.sym mg.h perlsh scope.c

Here's the same directory after "Configure" runs in /tmp​:

% ls Artistic README.hurd cflags.SH global.sym malloc.c perlmain.c regexp.h Changes README.mint config.h globals.c mg.c perlsdio.h regnodes.h Changes5.000 README.mpeix config.sh gv.c mg.h perlsfio.h run.c Changes5.001 README.os2 config_h.SH gv.h minimod.pl perlsh scope.c Changes5.002 README.os390 configpm h2pl miniperlmain.c perlvars.h scope.h Changes5.003 README.plan9 configure.com handy.h mint perly.c sv.c Changes5.004 README.qnx configure.gnu hints mpeix perly.fixer sv.h Configure README.threads cop.h hv.c mv-if-diff perly.h t Copying README.vms cv.h hv.h myconfig perly.y taint.c EXTERN.h README.vos cygwin32 installhtml nostdio.h perly_c.diff thrdvar.h INSTALL README.win32 deb.c installman objXSUB.h plan9 thread.h INTERN.h Todo djgpp installperl objpp.h pod thread.sym MANIFEST Todo-5.005 doio.c intrpvar.h op.c pp.c toke.c Makefile XSUB.h doop.c iperlsys.h op.h pp.h universal.c Makefile.SH XSlock.h dosish.h keywords.h opcode.h pp_ctl.c unixish.h Policy.sh apollo dump.c keywords.pl opcode.pl pp_hot.c util.c Policy_sh.SH av.c ebcdic.c lib os2 pp_proto.h util.h Porting av.h eg makeaperl patchlevel.h pp_sys.c utils README beos emacs makeaperl.SH perl.c proto.h vms README.amiga bytecode.h embed.h makedepend perl.exp qnx vos README.apollo bytecode.pl embed.pl makedepend.SH perl.h regcomp.c win32 README.beos byterun.c embedvar.h makedir perl_exp.SH regcomp.h writemain README.cygwin32 byterun.h ext makedir.SH perlio.c regcomp.pl writemain.SH README.dos cc_runtime.h fakethr.h makefile perlio.h regcomp.sym x2p README.hpux cflags form.h makefile.old perlio.sym regexec.c

p5pRT commented 24 years ago

From [Unknown Contact. See original ticket]

SRE writes​:

I have a WinNT (4.0) disk mounted on my Solaris (2.7) workstation\, using Intergraph's "DiskShare" tool.

I got perl5.005_03 from CPAN\, unpacked it using Solaris gzip & tar\, and ran "sh Configure"... it seems to finish normally\, with NO ERRORS\, but "make" with no args fails​:

% make make​: Fatal error​: No arguments to build

The problem\, it turns out\, is case sensitivity in filenames. It's not REALLY necessary to have files which differ ONLY in the case of their first character\, is it?

As you probably know\, WinNT preserves case of filenames but if the exact case isn't found it tries any old case for a match. Finds one! Makefile vs. makefile.

Any chance you could remove case-only differences in file names to protect those of us unfortunate to have NT disks on the network?

Make your "hints" file set firstmakefile to something different than "makefile"\, but still recognized by your make (hints/os2.sh - which see - uses GNUmakefile or some different capitalization).

Ilya

p5pRT commented 24 years ago

From [Unknown Contact. See original ticket]

SRE wrote​:

I have a WinNT (4.0) disk mounted on my Solaris (2.7) workstation\, using Intergraph's "DiskShare" tool.

I got perl5.005_03 from CPAN\, unpacked it using Solaris gzip & tar\, and ran "sh Configure"... it seems to finish normally\, with NO ERRORS\, but "make" with no args fails​:

% make make​: Fatal error​: No arguments to build

The problem\, it turns out\, is case sensitivity in filenames. It's not REALLY necessary to have files which differ ONLY in the case of their first character\, is it?

As you probably know\, WinNT preserves case of filenames but if the exact case isn't found it tries any old case for a match. Finds one! Makefile vs. makefile.

Any chance you could remove case-only differences in file names to protect those of us unfortunate to have NT disks on the network?

Here's the directory after "Configure" runs in a directory that is physically on a WinNT disk​:

[snip...] Your subject was a little confusing... since you are using and NFS SERVER on winbloze\, and Unix is the client.

Forget the request to make file names case insensitive... to work around winbloze NT file system 'deficiences'. It will never happen\, you know that. As I recall their is a warning about case insensitive file system in one of the read me files.

What you want to do will work just fine if you reverse the situation\, and use samba to 'share' the Unix file system. YOu will notice that there is a windoze specific subdirectory in the standard perl distribution which is 'pre-configured'. Since this version does not require running configure on NT\, and since you would be using a Unix file system for the rest of it\, it works fine on Unix too. In the same tree even\, since M$ executables end in .exe and object files end in .obj.

Kool!

I think you can even make the file system appear CASE SENSITIVE to winbloze NT if you want to... (at the possible cost of having some brain damaged NT programs not work). AND you get file system links.. which is something you always said you wanted on NT.... but never got... and never will... As long as you create the link on unix\, windoze will never notice (i.e. samba does the right thing and makes it look like the file it is linked to).

Kool (again).

My system hasn't run that other (MicroSloth) operating system for almost a half a year now... and I'm much happier... I've even rebuilt my Kernel to take advantage of compiler optimizations for the p5... (since the os came with 386 code by default -- RH 6.0)... Samba is pretty easy to build and setup... and appears to work even better than windoze NT at file 'sharing'.

Lincoln