X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-4.5 required=5.0 tests=AWL,BAYES_50,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Message-ID: <505EC94B.3040108@gmail.com> Date: Sun, 23 Sep 2012 10:33:15 +0200 From: marco atzeri User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120907 Thunderbird/15.0.1 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: [BUG] Cygwin default mounts in 1.7 References: <505C438B DOT 4040902 AT gmail DOT com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 9/22/2012 11:03 PM, Jiri Engelthaler wrote: > marco atzeri gmail.com> writes: > >> >> 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 >> >> > > > Hello Marco. > You didn't understood me fully. In bash shell all works as expected but > calling programs directly from windows command line don't. I wont to have gcc > compiler with cygwin-1.dll only which can be run directly from windows command > line or GNU make or Eclipse without need to have installed whole cygwin or need > to run from bash. > Here https://docs.google.com/file/d/0B3P4bLGf7ME1OFZhY0pVd3V6YVk/edit?pli=1 > are ls,pwd and minimal set of dll's. Try to run testcmd.cmd from bin which will > have wrong result: > C:\tmp\Cyg\foo\bar\bin>pwd > /usr/bin you missed this point on http://cygwin.com/cygwin-ug-net/using.html#mount-table "/usr/bin and /usr/lib are by default also automatic mount points generated by the Cygwin DLL similar to the way the root directory is evaluated. /usr/bin points to the directory the Cygwin DLL is installed in, /usr/lib is supposed to point to the /lib directory. This choice is safe and usually shouldn't be changed. An fstab entry for them is not required." What are you looking for is a way to avoid it > Regards > Jiri Engelthaler > -- 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