This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: CT 0.29 - stuck compiling gcc 4.0 glibc 2.2.5 ppc405: execvp:/bin/sh: Resource temporarily unavailable


Having scanned the man-page I'm still a bit confused abouts it's doing. It's seems like I have to indicate each and every directory containing binaries in question explicitly.
Yes, of course. As opposed to... what? Wildcards?
I thought at first that it would affect entire subtrees, like mount
usually does.
It does affect entire subtrees.  I wouldn't think that you'd want every
file in an entire subtree to be considered to be a cygwin executable
though.  YMMV.
This should probably read "does _not_ affect" - right?! Otherwise, I
cannot make the next sentence make sense...
Uh. Huh?
Oh, I read the "I wouldn't think that you'd want every file in an entire subtree..." part as an argument for it not being like that...

Well, if all it affects is how commandlines are passed etc., I probably do.
Can you sanity-check the mounts I plan to use?
Assuming it's run from the cygwin bash prompt, I'd type
mount -f -X 'c:\DATA\crosstool-0.29' '/cygdrive/c/DATA/crosstool-0.29'
mount -f -X 'c:\DATA\opt\crosstool' '/cygdrive/c/DATA/opt/crosstool'
to mark both the build tree and the install tree as containing
pure Cygwin executables (and lots of data files and directories).
I missed this the first time. You seem to be confused here.

/cygdrive/X is what cygwin uses to more-or-less reference unmounted
drives.  You wouldn't use that in the second argument to mount.  If you
inspect the man page you'll see examples of how to use mount, and you'll
see that /cygdrive is not used in this fashion.

If you want cygwin to consider every single file in the
c:\DATA\opt\crosstool hierarchy to be an executable cygwin binary then
you'd do something like:

mount -f -X 'c:\DATA\opt\crosstool' '/opt/crosstool'

This is sort of equivalent to doing something like:

find /opt/crosstool -type f | xargs chmod a+x

on UNIX, i.e., every single file will be given executable permissions and,
if you try to execute a file, it will be considered to be a cygwin
executable.
I mounted the directories given below:

c:\cygwin\opt\crosstool on /opt/crosstool type system (binmode,cygexec)
c:\DATA\crosstool-0.29 on /cygdrive/c/DATA/crosstool-0.29 type system (binmode,cygexec)


But then, after doing so, running CT (and possible some other apps.), I got an error-dialog on the screen that cygwin1.dll could be found in the path.
Although "/bin" was in the path, I then had to add "/cygdrive/c/cygwin/bin" to the path, then it worked... Weird!?


But CT is running now with the above mount points - I'll return with the outcome...

// Martin


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]