Hi Derek,
From: Derek Price
I don't like this patch. It must be in the wrong direction. I refuse
to believe that there is really no way to set non-blocking mode on a
file descriptor on Windows. Surely there is a header that could be
included to get at the F_GETFL, O_NONBLOCK, F_SETFL
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
The following patch fixes all build errors.
I don't claim it works and I don't claim it doesn't work.
It's a good guess and I'd appreciate feedback before committing.
Index: windows-NT/run.c
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Derek,
New thread started from Frank Hemmer's
:ext: with ssh failure on w2k - patch
thread.
I agree with Frank that Windows select implementation
accepts neither pipe nor file descriptors.
Microsoft claims POSIX compliance for Windows but IMO
Hi Derek,
My Visual C++ 6.0 installation has source for the
C Run Time library. File handles returned by
open and create are NOT Windows API level
file handles. They are an index into arrays of
an internal library structure which contains a
field for saving the Windows API level file handle.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Derek,
Recent changes with various items broke the Windows build
beginning with test build on Wed 2-Mar-2005 and all days
since. The item broken changed about every other day and
src/buffer.c changes related to the removal of valloc
is the
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Derek,
From: Conrad T. Pino
Sent: Monday, March 07, 2005 17:29
The PROXY_SUPPORT macro reference in src/buffer.h controls
the buf_free_data function prototype. What's your take on
PROXY_SUPPORT macro for Windows?
Disregard the above
-long.c and openat.c modules
which may not be used in Windows build.
What would you suggest for this issue?
Best regards,
Conrad T. Pino
The grep fchdir ... and build error outputs follow:
File lib\chdir-long.c:
56 cdb_fchdir (struct cd_buf const *cdb)
58return fchdir (cdb-fd);
200
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Derek,
From: Derek Price [mailto:[EMAIL PROTECTED]
I've attached the diff. Conrad or somebody, would you mind verifying
that after applying this patch (on WOE32, only the two named files will
be relevant)...
Please define the phrase two
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
The build process on Solaris 8 Intel Edition seems
to generate lib/stdint.h as an intermediate build
product.
Is there any objection to adding stdint.h to the
lib/.cvsignore file?
-BEGIN PGP SIGNATURE-
Version: PGP 7.0.4
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Derek,
From: Derek Price [mailto:[EMAIL PROTECTED]
The two files are listed in the subject line. :)
Oops, I need another cup of coffee!! :)
First off, the problem cited in your output is not caused by the patch
I just sent, but I'll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Jim,
From: Jim Meyering [mailto:[EMAIL PROTECTED]
This is not about Microsoft per se, but simply about
the lack of fchdir (or POSIX support in general) in WOE.
I agree let's not enumerate Microsoft's flaws as we would never
finish. :)
I
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Jim,
From: Jim Meyering [mailto:[EMAIL PROTECTED]
Here's a patch that should restore the ability of save-cwd to
work on systems without the fchdir function.
Would you please see if this is sufficient?
If so, I'll check it in to gnulib
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Derek,
I'm slow to understand the goal. I'm coming to the conclusion
what you're trying is eliminate the difference between:
*** config.h.in, generated by mkconfig:
as opposed to:
*** config.h.in, generated by mkconfig.pl:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Jim,
From: Jim Meyering [mailto:[EMAIL PROTECTED]
Conrad T. Pino [EMAIL PROTECTED] wrote:
...
Would you please see if this is sufficient?
If so, I'll check it in to gnulib (with an AC_CHECK_FUNCS(fchdir)
in save-cwd.m4).
The patch
I'm seeing the same build problem on both stable feature:
Titanium:~/projects/cvs-1.12.12 conradtpino$ make
make all-recursive
Making all in lib
make all-am
make[3]: Nothing to be done for `all-am'.
Making all in zlib
make[2]: Nothing to be done for `all'.
Making all in diff
make[2]: Nothing
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Derek,
From: Derek Price [mailto:[EMAIL PROTECTED]
I never thought it was worth coming up with a more automated solution,
but you're welcome to try. I would argue against changing the name of
the executable though, and I'm not sure what
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Mark,
Sorry to be tuning in late. I'm not always watching the stream.
I'm volunteering to fix this one but I need ideas on where to get
a unistd-safer.h and my initial though is to hack one together
line we did for windows-NT/unistd.h.
What
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi Mark,
From: Mark D. Baushke
Sent: Sunday, May 08, 2005 13:48
lib\unistd-safer.h should be what gets used. It was added via a GNULIB
update, so it should be there.
Last night's test results build worked as did mine this morning.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
From: Mark D. Baushke
Given that I 'manually' generated the changes for the MVC files, I have
no objections to real versions of those files being committed. You might
as well commit the patch today.
Done.
-BEGIN PGP SIGNATURE-
Hi All,
I'm seeking a quick answer from whatever you might know at
the moment. If in depth research is needed I plan to follow
through with it.
Using a version 1.11.20 client with a 1.11.17 server I see
an alias module directory exclusion fail when check out is
used with -d option.
The
The previous patch to lib/libcvs.dsp doesn't contain fix for
the Win32 Release configuration so please don't commit this
patch.
I have a corrected patch which I plan to commit if that's what
is indicated and will supply it if requested but haven't done
so because it adds nothing to the debugging
The following patch lets me get this far in the Windows IDE build:
Configuration: libcvs - Win32 Debug
Compiling...
glob.c
H:\Conrad\Projects\cvs-1.12\lib\glob.c(253) : warning C4028: formal parameter 1
different from declaration
Hi Derek,
From: Derek Price [mailto:[EMAIL PROTECTED]
I'm going to suggest something a little more general to the GNULIB
maintainers:
#ifndef __BEGIN_DECLS
# define __BEGIN_DECLS
#endif
#ifndef __END_DECLS
# define __END_DECLS
#endif
#ifndef __const
# define __const const
#endif
Hi Derek,
From: Derek Price [mailto:[EMAIL PROTECTED]
Well, basically. I created the glob module myself and added it to CVS
and Paul has been reviewing it and I've been correcting it in ways to
make it compatible with GNULIB GLIBC.
Cool. Another budding published author in our midst. :)
I saw test-results shows Sun Solaris and HP HP-UX builds were
broken on the 18-May-2005 test runs.
A cross check build on Solaris Intel Edition has this problem:
gcc -DHAVE_CONFIG_H -I. -I. -I..-Ino/include -g -O2 -c glob.c
glob.c:194: conflicting types for `getlogin_r'
We have an improvement after a recent commit. An old errors was fixed
but a new errors was uncovered:
gcc -DHAVE_CONFIG_H -I. -I. -I..-Ino/include -g -O2 -c glob.c
glob.c: In function `rpl_glob':
glob.c:579: too many arguments to function `getpwnam_r'
glob.c:660: too many arguments to
From: Derek Price [mailto:[EMAIL PROTECTED]
I think I just checked in fixes for both Solaris compile problems, this
one and one with getpwnam_r. Could you let me know if they work? I
have no way to test here.
The compile completes but we have warnings (see below). Problem may
be struct
Hi Derek,
From: Derek Price
This should be irrelevant, since all reference to struct stat should
be made using the Solaris definition. Our code never attempts to define
it and I am fairly certain that the struct stat; line in glob_.h only
declares the existance of said structure.
[snip]
Excuse me for perhaps being slow but why is configure choosing to
use lib/glob.h when the platform has /usr/include/glob.h whose
contents follow?
/usr/include:$ cat glob.h
/*
* Copyright (c) 1994 by Sun Microsystems, Inc.
* Copyright 1985, 1992 by Mortice Kern Systems Inc. All rights reserved.
Hi All,
The new module lib/canonicalize.c fails to compile because it references
the symbolic error ELOOP which Windows does not define.
The new module lib/canonicalize.c calls the lstat function and there
is no prototype and no implementation on Windows platform we support.
We use CVS_LSTAT
Hi Derek,
We have a new lib/glob.c error today which I hope to
understand before committing #include sys/stat.h
addition to lib/glob_.h you suggested.
The 3 new errors (see below) are all a single error
occurring in 3 places:
storage size of `st' isn't known
I'm throwing this out for
Hi Derek,
From: Derek Price [mailto:[EMAIL PROTECTED]
Adding #include sys/stat.h to glob_.h doesn't help with this new
error? ...
That is correct.
Neither of (1) uncondition inclusion nor (2) inclusion conditioned upon
__USE_GNU made a difference.
... I wouldn't expect this error in
Hi Derek,
From: Derek Price
1. #include sys/stat.h within glob_.h file.
This would be the way to go. You may commit this if you wish.
I committed an inclusion immediately before struct stat forward
declaration to assure the Solaris stat macro is used but on 2nd
reflection the forward
Hi Derek,
This platform's sys/stat.h implementation in this case
defines macros for stat, fstat and lstat to be the
tokens stat64, fstat64 and lstat64 respectively.
My analysis of sys/stat.h relevent section is below.
These macro definitions are in effect when struct stat
definition is
Hi Derek,
From: Conrad T. Pino [mailto:[EMAIL PROTECTED]
I choose a broken gcc as the likely culprit. I'll run a test and report.
Test program and results are below.
Conrad
/export/home/cvsusr/ccvs/cvs-1.12:$ cat test00.c; gcc -o test00 test00.c; test00
#include stdio.h
#ifdef
Hi Derek,
From: Derek Price [mailto:[EMAIL PROTECTED]
(For those new to this thread, this is because the Solaris headers
#define stat stat64 when the __PRAGMA_REDEFINE_EXTNAME macro is not
defined).
Why isn't gcc defining this value? According to what I could find on
the web, the
Hi Derek,
We have the same behavior with gcc 3.3.5 on Debian Linux 2.6.8-2-686 platform.
Conrad
[EMAIL PROTECTED]:~$ cat test00.c; uname -a; gcc -v; gcc -o test00 test00.c;
./test00
#include stdio.h
#ifdef __PRAGMA_REDEFINE_EXTNAME
#define p0value defined
#else
#define p0value undefined
Hi Derek,
From: Derek Price
Solaris Pragmas
---
For compatibility with the SunPRO compiler, the following pragma is
supported.
`redefine_extname OLDNAME NEWNAME'
This pragma gives the C function OLDNAME the assembler label
NEWNAME. The pragma must appear before
Hi Derek,
From: Derek Price
Actually, because of errors similar to the ones you've been seeing on
Solaris, it sounds like GNULIB will be defining similar gl_stat and
gl_lstat macros. I will either make the canonicalize module use those
and depend on the stat module or we can define both
Hi Derek,
From: Derek Price
Are stat and lstat really equivalent on Windows?
Windows Visual C doesn't implement lstat in any fashion.
The wnt_lstat function in windows-NT/filesubr.c appears to call
lstat but that is a macro defined to stat in lib/system.h which
is included in cvs.h which is
Hi Derek,
From: Derek Price
A gcc upgrade sure helps. I installed gcc 3.4.2 binary from SunFreeWare.\
I brought up changes to the GNULIB stat module up on bug-gnulib and
found out that this problem has been encountered before. GNULIB is
going to continue supporting the older gccs
Hi Derek,
The latest lib/glob.c introduced new macros not addressed
in the m4 stuff. Of interest are WINDOWS32 and perhaps
__MSDOS__ as #define and #undef respectively.
Should I be expecting an m4 solution which means I edit
windows-NT/config.h.in.in or not which means I edit the
Hi Derek,
From: Derek Price
Compiling...
glob.c
h:\conrad\projects\cvs-1.12\lib\glob.c(535) : warning C4013: 'sysconf'
undefined; assuming extern returning int
h:\conrad\projects\cvs-1.12\lib\glob.c(535) : error C2065:
'_SC_LOGIN_NAME_MAX' : undeclared identifier
I've checked in what
Hi Derek,
From: Derek Price
The dup function call in lib/dup-safer.c has no
prototype included. Windows Visual C 6.0 does NOT
implement dup but does implement _dup as:
int _dup( int handle );
I've added #define dup _dup to config.h chain
but Microsoft provides the prototype in io.h
Hi Derek,
I'm not recommending this as a solution since it's not a general solution
but mkdir windows-NT/sys; touch windows-NT/sys/cdefs.h allows Windows
build to complete with no errors and no warnings.
Conrad
Configuration: libcvs - Win32 Debug
Hi Derek,
From: Derek Price
There is an xnrealloc function in lib/xmalloc.c. Isn't that being
compiled on Windows?
No, stable branch Windows build omits it because it doesn't exist.
My tests (see below) say lib/xmalloc.c is on feature branch only.
Cheers,
Ditto,
Derek
Conrad
Hi Derek,
From: Derek Price
Ah, okay. Sorry. I already forgot that I put this diff bugfix into
stable and didn't read the tag on your commit. I had to make that same
change to the src/run.c on stable when I ported the change from feature. :)
The new functions in windows-NT/run.c are
Hi Derek,
From: Derek Price
I propose we do both, I'll edit and test, you coach:
Sure.
Great. I plan to stretch this out and finish in about a week.
I will improve pwd.c also so long as cutting and pasting is acceptable
between pwd.c and glob.c is acceptable.
Hrm? Cutting and
Hi Derek,
File windows-NT/pwd.h declares several functions that
are declared in unistd.h according to the NetBSD man
pages.
Since I created windows-NT/unistd.c do you object in
principle to migrations from pwd.c to unistd.c?
If you agree, I'll enumerate the functions to migrate
for review
Hi Derek,
I ran tests on Windows 2000 and here's what I've learned so far:
* User accounts have two flavors: Local and Domain
* Both user account types support local or network user profiles
* Both user account types support Home folder options
* User profile type (local vs. network) seems
Hi Derek,
A few more observations follow:
From: Conrad T. Pino [mailto:[EMAIL PROTECTED]
Based on these observations, how do Windows and UNIX differ to CVS?
UNIX user profile (.profile,.bash_profile) files are always in $HOME
Hi Derek,
From: Derek Price
What I don't understand is why . is a reasonable home directory according
to the getpwuid implementation:
static char *home_dir = .; /* we feel (no|every)where at home */
I don't agree that it is. I think it was a poor, arbitrary
implementation decision
Hi Derek,
From: Derek Price
Log:
* unistd.c, unistd.c: Add new usleep function using my_usleep
logic taken from woe32.c file.
* woe32.c, woe32.h: Add new (woe32_home_dir,woe32_shell) functions.
* woe32.c: Modify woe32_nanosleep to use unistd.h usleep.
Glancing at lib/nanosleep.c,
Hi,
Please test for the existence of:
directory: windows-NT/sys
new file: windows-NT/sys/types.h
I hope this is an update oversight that:
cvs update -dP windows-NT
will correct.
If none of the above is true then please send me
Microsoft's sys/types.h file from your
Hi Derek,
The following patch raises an interesting temptation:
https://ccvs.cvshome.org/servlets/ReadMsg?list=cvsmsgNo=3877
Conditional compilation on Windows compiles code that doesn't
use the file_name_concat function which lead me to omit the
file lib/filenamecat.c from the libcvs project.
Can someone suggest which one of the following 2 changes (if any)
is the best one to commit?
Index: lib/canonicalize.c
===
RCS file: /cvs/ccvs/lib/canonicalize.c,v
retrieving revision 1.2
diff -u -p -r1.2 canonicalize.c
---
56 matches
Mail list logo