Subject: Re: No CPP in cygwin32 for NT
From: [email-masked] ("Jim Taylor")

16 Oct 1996 13:24:34 -0700
Sender: [email-masked]
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7BIT
Comments: Authenticated sender is <[email-masked]>
Original-To: Terence Ripperda <[email-masked]>
Original-CC: Paul Mu <[email-masked]>, [email-masked]
X-mailer: Pegasus Mail for Win32 (v2.42a)
Original-Sender: [email-masked]

Hello Terence,

Thank you for the offer, I appreciate it.

Excuse me if this is a bit messy, am trying out Pegasus's free 
mailer app. and am not quite used to its' features yet.

Basically, a lot of my NEWBIE PAIN comes from not having figured 
out what sub-directory set up is necessary to make everything 
work right.  I have no 'mental picture' of what it should be.
    If one follows the download suggestions For Gnu, and makes
the subdirectory  C:\Cygnus, what other sub-directories does
one have to put either above, below, or beside it to yield a 
setup that will allow seamless, later, updates from Cygnuls to 
be "un-archived" without problems.  This would of course still 
have to allow its "built-in??"  directory searching strategy to 
work.  ( If it truly is going to be a PC based 
'cross-compilation' platform at some point in its future 
evolution?)

     The other problem I have to work on is to get enough of an 
overview of it to Know Where To Look when I have to use the 
compilers, linkers, etc. and I hit a problem.  If I have to go 
and get a manual off of some download source, or if I will find 
it burried in an /info or /man/man1 or /man/man3 file?  For 
that matter, what is one supposed to be using to view info or
man pages?

     Am working with it, trying to figure out directory 
structure, and will send you a layout diagram of what I come up 
with.  If you could comment on it, (If an when you get the time 
of course.) I would appreciate it.

I found the following, from a "Alex Madarasz", in the old mail 
archives, but it does not quite work on my system when I try and
'meld' it into my setup.  I suspect his .bashrc is not quite 
right for my setup.  I'm using Win95 and he's using NT so that 
probably doesn't quite meld either.  A copy of his message is 
below;

There is a lot in it I'm not sure of.  Like when he specifies 
Home = xxxxxx
Is that because he as set that up as his  "/" with mount, 
or has he set it up as "/usr" with mount?

As I said, if and when you get time.  And thanks again for
any comments you can provide.

******

bash Startup Craziness

Alex Madarasz ([email-masked])
13 Jan 96 21:59:19 EST 

Can someone who's got bash properly reading the various startup
files please list - in precise detail - their configuration?

The setup seems to be extremely sensitive to system
configuration, but I've yet to find the magic decoder ring. I've
been around and around with it for hours now, and am unable to
get bash to read ~/.bashrc when I start bash with -i (and even
when I start it without, as without "-login" bash always seems to
exhibit the symptoms - according to the bash man page - of
starting as an non-login interactive shell: $PS1 set and $-
includes "i").

Configuration:

NT 3.51 SP2 in E:\WINNT351 (NTFS, DOS 8.3 conversion enabled)
Dual-booting to Win95 on C: Home dir = D:\users\alex (NTFS, DOS
8.3 conversion enabled) HOME=/users/alex (set in Control Panel)
GNU Win32 b12 in E:\root\usr\... E:\root\ subdirs \tmp \bin \etc
mount E:/root/ / mount D:/users/ /users

I've tried the various hints from the mailing list archives, and
many combinations thereof (upper and lower case /users, mounting
and not mounting /users, starting from an icon in both ProgMan
and RipBar and from a command shell, etc.), but none seems to
work.

Some funky things I've noted:

1. With the setup as above, if I start bash from a command shell
in my home dir I get the following:

D:\USERS\ALEX>set
....
HOME=/users/alex
....
D:\USERS\ALEX>bash
bash$ pwd
/usersALEX
bash$ mount
D:\users\ on /users type dos (rw)
E:\root\ on / type dos (rw)
bash$ cd
bash$ pwd
/users/alex
bash$ ls -alF
total 1
drwxr-xr-x 2 500 everyone 0 Dec 31 1969 ./
drwxr-xr-x 2 500 everyone 0 Dec 31 1969 ../
-rw-r--r-- 1 500 everyone 2598 Jan 13 21:12 .bash_history
-rw-r--r-- 1 500 everyone 278 Jan 13 17:26 .bashrc
....
bash$ alias
bash$ source .bashrc
bash$ alias
alias lc='ls -aCF'
alias ll='ls -alF'
....

2. With the setup as above, if I start bash from RipBar with the
"-i" option and no startup dir, I get the following:

E:\root\usr\bin\bash.exe: /users/alex/.bashrc: No such device
bash$ pwd E:/APPS/32/RIPBAR bash$ cd bash$ pwd /users/alex

3. With the setup as above, if I start bash from RipBar with the
"-i" option and my home dir as the startup dir, I get the same
symptoms as 1.

4. For folks wondering why bash, ls and mount hang in some
configs - I believe it's because if you don't have a defualt
config with all the required dirs set up, you _must_ cd to the
....\bin directory and mount the required directories from there.

-----

FYI (and mine), I started a file to document the required
sequence of steps to configure GNU Win32 on NT 3.51. Of course,
since I still have problems getting bash to read ~/.bashrc, the
following must be taken with a grain of salt - please read,
comment on, and post in a prominent place:

-----

Configuring GNU Win32 on NT 3.51
--------------------------------

1. Create a Unix-like directory structure. I use:

E:\root
\bin
\etc
\tmp
\usr

because a single GNU 'mount' command will let me establish
'E:\root' as '/', and the other subdirs will then fall into the
required / desired Unix tree automagically.

2. Extract the GNU Win32 .zip files under 'E:\root\usr' and make
sure you let the unzipper create any required subdirs. If you
install all of the GNU Win32 packages, you will have the
following under 'E:\root\usr':

\bin
\demo
\etc
\include
\lib
\libexec
\share

3. Copy 'bash.exe' from 'E:\root\usr\bin') to both
'E:\root\bin\sh.exe' and 'E:\root\usr\bin\sh.exe'. This is
necessary because some Unix apps always expect to find the Bourne
shell in one or both of these places.

4. Start the NT 'Control Panel' and open up the 'System' icon.

- Under 'System Environment Variables', find the 'Path' variable,
and edit it to insert 'E:\root\usr\bin;' at the front of the path
(I put it just after '.;'). This will cause any app searching the
path to always find the GNU Win32 apps first, before the NT/DOS
utils like FIND.EXE, MKDIR.EXE, etc. and before any Resource Kit
utilities.

- Under 'User Environment Variables for ...', add an entry with
the variable name of 'HOME' and a value of
'/users/your_home_dir_name', where 'your_home_dir_name' is the
name of your home directory as defined in the 'User Manager'
under 'Profile' (my home dir is 'D:\users\alex', so my entry is:
HOME = /users/alex). This sets you up, once you've performed the
mount setup step below, so your home directory can be found.

- Select 'OK' to exit the 'System' dialog, and exit 'Control
Panel'

5. Logout then login. The edits you made to environment variables
above will not take effect until you do (you were editing entries
in the NT Registry, and NT reads those entries on login).

6. Open up an NT command shell and type the following:

D:\USERS\ALEX> bash
bash$ cd E:\root\usr\bin
bash$ ./mount E:/root/ /
bash$ ./mount D:/users/ /users
bash$ ./mount
D:\users\ on /users type dos (rw)
E:\root\ on / type dos (rw)
bash$ exit

Notes:
a. Changing to the directory where the GNU Win32 binaries are
installed appears to be necessary because the GNU utils get
confused - they can't find some things until you finish the mount
setup.

b. If you make any errors with the 'mount' command, use the
'umount' command to unmount, e.g.:

bash$ mount D:/users/ /uaers <-- OOOPS!
bash$ umount /uaers
bash$ mount D:/users/ /users

7. Create a file named '.bashrc' in your home directory, and do
all your personal bash customization in it. Under NT, bash
appears to always start up as a non-login interactive shell ($PS1
is set and 'echo $-' returns 'iH'), and the bash man page says
(under 'INVOCATION') that this is the only file which will be run
by bash at startup under these circumstances.

8. ...

----------------------------------------------------
Alex P. Madarasz, Jr. --- [email-masked]

END OF J. TAYLOR'S INCLUSION OF Mr. Madarasz's message

******

> Date:          Wed, 16 Oct 1996 02:42:36 -0400 (EDT)
> From:          Terence Ripperda <[email-masked]>
> To:            Jim Taylor <[email-masked]>
> Cc:            Paul Mu <[email-masked]>, [email-masked]
> Subject:       Re: No CPP in cygwin32 for NT

> Jim,
> 
> I'm pretty packed until the weekend, but I'll be happy to work on it over 
> the weekend.
> 
> If you're having problems compiling with gcc, definately focus on
> that SET INCLUDE line--that's probably whats causing your problems.
> 
> Terence Ripperda
> [email-masked]
> 
> 
--
[email-masked]
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".