Giter Club home page Giter Club logo

Comments (11)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
gcc 4.7.0 is needed!
Here: avr-gcc (Fedora 4.7.0-0.fc16.1.20120302) 4.7.0 20120302 (prerelease)

Original comment by [email protected] on 23 Apr 2012 at 7:35

  • Changed state: WontFix

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
Damn. Oh well, that's me out for the count then, probably. It isn't available 
(or considered stable) for the Mac, far as I know. (Wasn't last I looked, about 
two months back.) I'll have another look tomorrow. I might be able to manually 
compile it. Not holding out much hope though.

Original comment by [email protected] on 23 Apr 2012 at 9:12

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
Latest version of AVR-GCC I can find for the Mac just now is gcc: 4.5.1. (I'm 
currently using v4.3.3.)

It's not good to rely on bleeding edge compilers that have not been ported to 
all systems yet.

Original comment by [email protected] on 23 Apr 2012 at 9:15

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
We simply can't support all compilers. We have worked hard to test and solve 
the bugs that gcc 4.7.0 brought (i.e. the memcpy one on non aligned structs). 

Original comment by [email protected] on 23 Apr 2012 at 9:21

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
Having looked some more, I don't believe this is in fact  a compiler
problem.

There's something funny going on with the (apparently auto-created) file
allsrc.cpp. The first two lines end up as ...

-n
# 1 "board_gruvin9x.cpp"

... which is obviously not going to be accepted by any compiler.

If I delete those errant lines, then open9x compiles perfectly clean -- not
a single warning.

The next time I run make (even without a make clean, it seems) then those
lines get put back into allsrc.cpp again and of course, it breaks the
compile, again.

So I guess there's just some script somewhere that isn't doing quite the
right thing -- perhaps only on my system.

Where should I start looking?

Bryan.

Original comment by [email protected] on 24 Apr 2012 at 12:20

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
FOund it. Makefile line 632.

"echo -n" is not a Unix command, so we literally get a -n stuck in the new
allsrc.cpp file, from the command @echo -N > allsrc.cpp.

'touch' is a Unix command and should also have been supplied with the
compiler, as part of the standard set of utilities most Windows avr-gcc
installations come with. (Is is definitely there in my Windows installation
of WinAVR.) If this is true for you r version as well. then you could fix
this problem by changing the @echo -n allsec.cpp line to ...

touch allsrc.cpp

... which creates an empty file, named allsrc.cpp -- or sets the date/time
of an existing file to "now".

- - -

I was also really surprised to see cortex-m3 as a valid CPU target. This
suggests that the one, single installation of (is it WinAVR?) can compile
for both AVR and ARM. Is that true? If so. Wow -- I can see why you wanted
this version!

How far along is the ARM board? I haven't heard anything at all about it
since it was first announced and some mock drawings were posted.

Bryan.

Original comment by [email protected] on 24 Apr 2012 at 2:23

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
No the ARM board came after open9x!!! And yes, I took a different approach than 
ersky9x: the same firmware with the same Makefile for the 3 boards. 
arm-none-eabi-gcc used. Of course not all functions available everywhere. It 
works. Features list a little bit behind v4.1 though, but far faster and a lot 
of limits removed ...
http://9xforums.com/forum/viewforum.php?f=7

I will fix the problem you found, you are right.

Bertrand.

Original comment by [email protected] on 24 Apr 2012 at 5:44

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
But ... have a look:
http://unixhelp.ed.ac.uk/CGI/man-cgi?echo

Original comment by [email protected] on 24 Apr 2012 at 6:56

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
Cool stuff re the ARM compiler etc.

Yes -- you are right about -n being acceptable in Unix for echo (BASH shell, at 
least.)

But the Makefile echo -n for some reason puts the -n into allsrc.cpp. I guess 
that echo is gmake internal command. So I suppose we need something like ...

@shell 'echo -n > allsrc.cpp'

???

Original comment by [email protected] on 25 Apr 2012 at 10:02

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
I tried $(shell sh -c 'echo -n > allsrc.cpp'). That command also puts the -n in 
allsrc.cpp!!! I Don't understand. WTF? :/ And if that is not confusing enough, 
see what I just tested on my Windows 7 machine...

C:\Users\Bryan>echo -n >> t

C:\Users\Bryan>cat t
-n

!!!!! Am I going mad? :/ No ... the -n option is not available for Windows. It 
is not available internally for my version of gmake on the Mac either. Yet it 
works for your gmake, under Windows. CRAZY.

In then end though, simply replacing the echo line with ...

@rm -f allsrc.cpp

... is a working solution for 'all'(?) systems, since >> (append) will create 
the file if it does not already exist.  (This is not even strictly needed, if 
the last make was successful, because allsrc.cpp is then deleted.)



Original comment by [email protected] on 25 Apr 2012 at 10:18

from open9x.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
Yes I do like the rm solution.
Commited in the arm branch.
Will port it to the trunk today or tomorrow

Original comment by [email protected] on 26 Apr 2012 at 5:42

  • Changed state: Fixed

from open9x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.