[BUG] Cygwin default mounts in 1.7
marco atzeri
marco.atzeri@gmail.com
Fri Sep 21 11:15:00 GMT 2012
On 9/21/2012 10:48 AM, Jiri Engelthaler wrote:
> Hello Cygwin developers
> I have a problem with cygwin default mounts
> I have compiled gcc cross compiler for powerpc (some problem with arm
> cross) and installed to destination directory. Installed directory
> structure is (truncated)
>
> +bin
> | +powerpc-unknown-linux-gnu-gcc.exe
> +include
> +lib
> +libexec
> | +gcc
> | +powerpc-unknown-linux-gnu
> | +4.4.7
> | +cc1.exe
> +powerpc-unknown-linux-gnu
> +share
>
> When I start “powerpc-unknown-linux-gnu-gcc.exe a.c” in “bin”
> directory from windows command line, compiler fails with
> “powerpc-unknown-linux-gnu-gcc: error trying to exec 'cc1': execvp: No
> such file or directory”. Starting compiler from bash shell works fine
> and a.c is compiled.
> “powerpc-unknown-linux-gnu-gcc --print-search-dirs” says that one of
> search paths for programs is
> “/usr/bin/../libexec/gcc/powerpc-unknown-linux-gnu/4.4.7/” so all
> should work.
> But problem is with “/usr/bin” prefix. I have made tests with “ls” and
> “pwd” copied do “bin” directory and found that:
> - “pwd” is “/usr/bin”
> - “ls” shows “bin” directory content
> - “ls ..” shows “ls: cannot access ..: No such file or directory”
> - “ls /” shows “bin cygdrive dev etc include lib libexec
> powerpc-unknown-linux-gnu proc share”
>
> Core of problem is that pwd for “bin” directory is “/usr/bin”, but
> “/usr/bin/..” is not accessible.
> How to mount current directory as "/cygdrive/c/foo/bar/...../bin"
> while executing pwd or ls?
>
> Thank you for your answer and have a nice day.
> Jiri Engelthaler
>
Jiri,
I tried to follow up your mail and I am confused and not really
sure what is you problem.
On cygwin "/bin" and "/usr/bin" are the same directory
(see http://cygwin.com/cygwin-ug-net/using.html#mount-table)
$ mount
E:/cygwin/bin on /usr/bin type ntfs (binary,auto)
E:/cygwin/lib on /usr/lib type ntfs (binary,auto)
as /usr/bin is a mount of /bin.
Pwd works in both the two cases:
$ cd /bin
$ pwd
/bin
$ cd /usr/bin
$ pwd
/usr/bin
Most of the compilers/programs expect to find themself in /usr/bin,
and some are referring their libraries relative to such position
in this way
../libexec/gcc/powerpc-unknown-linux-gnu/4.4.7/
is correctly targeting
/usr/bin/../libexec/gcc/powerpc-unknown-linux-gnu/4.4.7/
for this reason you should have in the PATH "/usr/bin" before "/bin"
( /bin not defined at all)
to avoid that these programs looks for
/bin/../libexec/gcc/powerpc-unknown-linux-gnu/4.4.7/
that does not exist.
What is your PATH ?
On /etc/profile it is defined as:
PATH="/usr/local/bin:/usr/bin:${PATH}"
Regards
Marco
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list