deece — Sun, 06/11/2011 - 7:44pm
AVR-GCC will compile with MingW32 4.6.1 if the libraries GMP, MFFR and MPC are compiled as static libraries rather than shared DLL's.
I have found patches for MPFR and MPC-0.9 which fix the configuration error for shared library compiling, but not for gmp. Sort of ironic that the new release of GCC breaks the configuration of its own required libraries.
The other comment on your biuld is that it leaves the three ( gmp, mpfr, mpc ) library include and object files in the avr-gcc install tree but these are libraries for the windows GCC compiler and so do not belong in the avr-gcc distribution. I have change the build to put them in a separate library directory. This required changing all the shell build scripts, but works fine.
Have been trying to compile from source over the weekend. ./configure fails in gmp, mpfr and mpc. I tracked this down to gcc spitting the dummy over "-no-undefined" which is a linker option. GCC prior to 6.6 series accepted this and passed on to linker but 4.6 series GCC requires "-Wl,-no-undefine" So all configure files will need to be patched. Seems odd when GCC 4.6.1 mingw compiler refuses to compile GCC 4.6.2 avr.
The scripts to download the development environment can be found in the devenv directory of the git repo.
I'll have to upgrade it somepoint, so this knowledge is useful
OK, so AVRdude is not working correctly in this new version of MHV_AVR_Tools. My set up was Windows 7, Eclipse 3.6 Helios, with the AVR Eclipse plugin with the .jar file you provide, and the previous version of the MHV_AVR_Tools. That set up was working, including being able to use AVRdude. I downloaded the latest MHV_AVR_Tools_20111106 to test GCC 4.6. So first I uninstalled the previous version of the toolchain. Then I installed the new version. Started up a sample project that compiled, and went to use AVRdude. I could not get AVRdude to run. What I mean by that is within Eclipse you cannot set up a programmer or even edit any AVRdude settings. So I tried to run AVRdude from the command line. It errors out telling me that "libusb0.dll cannot be found". The tool chain is in my system path. I looked in the bin directory and found libusb0.sys and libusb0_x86.dll, but no libusb0.dll. I tried copying and renaming the copies of libusb0_x86.dll and libusb0.sys to just libusb0.dll, but that did not work.
I am downloading the previous version to see if there was a file called libusb0.dll in there. Other than that I am out of ideas. Do you have any suggestions on how to get AVRdude working again? Would just downloading the latest version of libusb0.dll work? If that is possible, where would I put it.
Thanks for any help you can give me,
I was able to get it working. I did not find the file in the older version of the toolchain, so I downloaded the latest version of libusb0.dll. I started by putting a copy of the file into the bin directory. Then I ran AVRdude at the command prompt and AVRdude cam right up. Next I pulled up my project in Eclipse and was able to set AVRdude and download my code.
So anyone running into this problem, just Google (or whatever you use) for libusb0.dll and download the latest version and put it in the bin directory of the MHV AVR Tools installation.
Hope this helps someone. Also just wanted to say thanks for making an alternative set of tools for AVR development. I could use AVR Studio but I just like the Eclipse IDE layout better.
I am so glad someone is working on an uptodate avr-gcc for windows environment.
I am keen to remove the default search directories which appear in all the windows avr-gcc's that I have seen, in a similar way to what tdm-gcc has done for mingw32.
see the output of
which starts " c:/Program Files/atmel/avr tools/avr toolchain\bin/../libexec/gcc/avr/4.6.2/" etc.
These search directories clash with the atmel ide install.
The tdm patches to gcc make these search directories relative to the install directory and make the install truely relocatable.
To this end I have read your build scripts. I did not note any reference to ocaml and yet this is listed as a prerequisite for installing from source. At what point is ocaml used
I probably added it as a requirement for something that I have plans to build, but is not yet included in the release.