Thread overview
DMD on ARM/Linux (for controlling EV3 Lego Mindstorm)?
Aug 02, 2016
Sai
Aug 03, 2016
rikki cattermole
Aug 03, 2016
Seb
Aug 03, 2016
Kagamin
Aug 22, 2016
Sai
Aug 22, 2016
rikki cattermole
August 02, 2016
I see that there are ports of go compiler on ev3dev (ARM, debian based) for controlling the EV3 lego mindstorm robot. (http://www.ev3dev.org/docs/libraries/)

Is there a port of a D compiler for ARM? How about libraries? I need a basic file IO and console IO for controlling the robot.

Thanks in advance
Sai



August 03, 2016
On 03/08/2016 4:31 AM, Sai wrote:
> I see that there are ports of go compiler on ev3dev (ARM, debian based)
> for controlling the EV3 lego mindstorm robot.
> (http://www.ev3dev.org/docs/libraries/)
>
> Is there a port of a D compiler for ARM? How about libraries? I need a
> basic file IO and console IO for controlling the robot.
>
> Thanks in advance
> Sai

GDC may work, but you will need to handle all the interfacing code to the platform. Also don't expect e.g. threading to work I suspect.

August 03, 2016
On Tuesday, 2 August 2016 at 16:31:30 UTC, Sai wrote:
> I see that there are ports of go compiler on ev3dev (ARM, debian based) for controlling the EV3 lego mindstorm robot. (http://www.ev3dev.org/docs/libraries/)
>
> Is there a port of a D compiler for ARM? How about libraries? I need a basic file IO and console IO for controlling the robot.
>
> Thanks in advance
> Sai

The reference compiler DMD doesn't support ARM, but LDC does and since recently it's quite up-to-date with the latest D-frontend release.
Have a look at the LDC wiki entry and the linked entries:

https://wiki.dlang.org/LDC#ARM
August 03, 2016
There's also official armv7hf release https://github.com/ldc-developers/ldc/releases
August 22, 2016
Thanks all for your replies.

I tried to use GDC first, I couldn't find windows binary targeting windows (for initial testing) which I thought was weird. https://gdcproject.org/downloads

So I tried to build it in Cygwin env, using these instructions:
http://wiki.dlang.org/GDC/Installation/Generic
(I used gcc-5.2 sources for this).

Unfortunately, it failed with the following error. Any ideas?

I am tempting towards go, looks like their windows binary supports compiling to both windows and arm. Unfortunately I don't want to use go as it lacks templates (or generics) and operator overloading, as I tend to use lot of vector/matrix math in my programs.


        gcc/d/dfrontend -Id ../../gcc-5.2.0/gcc/d/dfrontend/filename.c
        ../../gcc-5.2.0/gcc/d/dfrontend/filename.c: In static member function ‘static bool FileName::ensurePathExists(const char*)’:
        ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:602:43: error: ‘sep’ was not declared in this scope
                     if (path[strlen(path) - 1] != sep)
                                                   ^
        ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:611:21: error: ‘r’ was not declared in this scope
                         if (r)
                             ^
        ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:616:25: error: ‘errno’ was not declared in this scope
                             if (errno != EEXIST)
                                 ^
        ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:616:34: error: ‘EEXIST’ was not declared in this scope
                             if (errno != EEXIST)
                                          ^
        make[2]: *** [../../gcc-5.2.0/gcc/d/Make-lang.in:115: d/filename.o] Error 1
        make[2]: *** Waiting for unfinished jobs....
        rm gcc.pod gdc.pod
        make[2]: Leaving directory '/home/sai/gdc/objdir/gcc'
        make[1]: *** [Makefile:4127: all-gcc] Error 2
        make[1]: Leaving directory '/home/sai/gdc/objdir'
        make: *** [Makefile:867: all] Error 2

August 22, 2016
On 22/08/2016 5:22 PM, Sai wrote:
> Thanks all for your replies.
>
> I tried to use GDC first, I couldn't find windows binary targeting
> windows (for initial testing) which I thought was weird.
> https://gdcproject.org/downloads
>
> So I tried to build it in Cygwin env, using these instructions:
> http://wiki.dlang.org/GDC/Installation/Generic
> (I used gcc-5.2 sources for this).
>
> Unfortunately, it failed with the following error. Any ideas?
>
> I am tempting towards go, looks like their windows binary supports
> compiling to both windows and arm. Unfortunately I don't want to use go
> as it lacks templates (or generics) and operator overloading, as I tend
> to use lot of vector/matrix math in my programs.
>
>
>         gcc/d/dfrontend -Id ../../gcc-5.2.0/gcc/d/dfrontend/filename.c
>         ../../gcc-5.2.0/gcc/d/dfrontend/filename.c: In static member
> function ‘static bool FileName::ensurePathExists(const char*)’:
>         ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:602:43: error: ‘sep’
> was not declared in this scope
>                      if (path[strlen(path) - 1] != sep)
>                                                    ^
>         ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:611:21: error: ‘r’
> was not declared in this scope
>                          if (r)
>                              ^
>         ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:616:25: error:
> ‘errno’ was not declared in this scope
>                              if (errno != EEXIST)
>                                  ^
>         ../../gcc-5.2.0/gcc/d/dfrontend/filename.c:616:34: error:
> ‘EEXIST’ was not declared in this scope
>                              if (errno != EEXIST)
>                                           ^
>         make[2]: *** [../../gcc-5.2.0/gcc/d/Make-lang.in:115:
> d/filename.o] Error 1
>         make[2]: *** Waiting for unfinished jobs....
>         rm gcc.pod gdc.pod
>         make[2]: Leaving directory '/home/sai/gdc/objdir/gcc'
>         make[1]: *** [Makefile:4127: all-gcc] Error 2
>         make[1]: Leaving directory '/home/sai/gdc/objdir'
>         make: *** [Makefile:867: all] Error 2

I've seen that error before, specifically not finding errno. If I remember right its not using the right c++ language version. That is what you should try and Google. I would do it myself but I can't right this minute.