Hi,
By adding packages to my Cygwin installation I was able to run the scripts tools.bash, binutils.build.bash, gcc.build.bash, avr-libc.build.bash and gdb.build.bash, without error. But when I run the last step package-avr-gcc.bash (in fact it rebuilds everything !) I get this error:
...
checking for gawk... gawk
checking to see if cat works as expected... yes
checking for gcc... mingw32-gcc -m32
checking for C compiler default output file name...
configure: error: in /cygdrive/c/toolchain-avr-master/binutils-build:
configure: error: C compiler cannot create executable
See config.log for more details.
The root cause of this error is easy to fix: In the script package-avr-gcc.bash the paths for MinGW and cygwin use a, by default, invalid syntax.
Line 67: export PATH=$PATH:/c/MinGW/bin/:/c/cygwin/bin/
This syntax /c/... to name the drive C: is not valid by default.
To use this syntax you have to edit the file /etc/fstab and replace this line
none /cygdrive cygdrive binary,posix=0,user 0 0
by this line
none / cygdrive binary,posix=0,user 0 0
Notes:
Using mount --change-cygdrive-prefix / is not enough because the PATH created before the execution of mount is not updated.
Because MinGW also uses this syntax I think it is safer to allow this syntax in Cygwin an leave the line 67 unmodified.
So, please, update the documentation to add these 2 Windows requirements:
Cygwin and MinGW must be installed on the drive C:
The file C:/cygwin/etc/fstab must be edited as explained above before to start the Cygwin console used to execute package-avr-gcc.bash.
Thanks.
PS: Cygwin mounts C:/cygwin/bin on /usr/bin, and adds /usr/bin to the PATH. So only a path to /c/MinGW/bin is required.
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /c type ntfs (binary,posix=0,user,noumount,auto)
$ echo $PATH
/usr/local/bin:/usr/bin:/c/WINDOWS/system32:...
Hi, By adding packages to my Cygwin installation I was able to run the scripts tools.bash, binutils.build.bash, gcc.build.bash, avr-libc.build.bash and gdb.build.bash, without error. But when I run the last step
package-avr-gcc.bash
(in fact it rebuilds everything !) I get this error:The root cause of this error is easy to fix: In the script
package-avr-gcc.bash
the paths for MinGW and cygwin use a, by default, invalid syntax.Line 67:
export PATH=$PATH:/c/MinGW/bin/:/c/cygwin/bin/
This syntax
/c/...
to name the drive C: is not valid by default. To use this syntax you have to edit the file /etc/fstab and replace this linenone /cygdrive cygdrive binary,posix=0,user 0 0
by this linenone / cygdrive binary,posix=0,user 0 0
Notes:
mount --change-cygdrive-prefix /
is not enough because the PATH created before the execution of mount is not updated.So, please, update the documentation to add these 2 Windows requirements:
package-avr-gcc.bash
.Thanks.
PS: Cygwin mounts
C:/cygwin/bin
on/usr/bin
, and adds/usr/bin
to the PATH. So only a path to/c/MinGW/bin
is required.