March 25, 2014
Hi Joakim!

On Tuesday, 25 March 2014 at 08:21:37 UTC, Joakim wrote:
> On Tuesday, 25 March 2014 at 06:23:33 UTC, Kai Nacke wrote:
>> Hi Joakim!
>>
>> On Monday, 24 March 2014 at 20:38:10 UTC, Joakim wrote:
>>> Alex already put in a fair amount of Solaris/x86 support into dmd and druntime.
>>
>> Good to hear! I installed OpenSolaris now. Let's see if I can get LDC running on it.
>
> What compiler do you plan on using to build ldc?  I had some experience porting to Solaris/x86 years ago and I had some problems with the compilers available, until I found a gcc and configuration that worked right.  Maybe that's not as much of a problem these days, now that OpenIndiana and other open-source builds have progressed further.

I just installed OpenIndiana and started looking around. But everything is a bit outdated. (Some people would certainly prefer the term "stable" :-) )
gcc 4.4, cmake 2.6, python 2.6 - you can't build LLVM 3.5 with this toolset.
I'll try to bootstrap LLVM/clang 3.3. If this works then I can build LDC.

>>> Now if I could only find an ARM vps... ;)
>>
>> For ARM development I bought a singleboard computer:
>> http://www.inforcecomputing.com/product/moreinfo/ifc6410.html
>
> That looks like a nice board, though I wonder how well it works with a Qualcomm chip, which I think are notorious for being pretty closed.  I bought a Pandaboard ES a couple years back, but had to leave it at a friend's place when I moved.  Maybe I'll get him to send it to me eventually.

The board runs fine. It works with  Android and Linux. I have it running with Gentoo linux. I choosed this board because of the RAM. You need at least 1GB RAM to built LLVM... LLVM has some support for the Qualcomm chip.

Regards,
Kai
March 25, 2014
On Tuesday, 25 March 2014 at 17:26:12 UTC, Kai Nacke wrote:
> I just installed OpenIndiana and started looking around. But everything is a bit outdated. (Some people would certainly prefer the term "stable" :-) )
> gcc 4.4, cmake 2.6, python 2.6 - you can't build LLVM 3.5 with this toolset.
> I'll try to bootstrap LLVM/clang 3.3. If this works then I can build LDC.

I had problems getting a gcc that would actually work properly back in 2011, as the main gcc from their package source repository wouldn't pack booleans right and cause seg faults.  I had to recompile one of the gcc versions with a specific flag to get it working.  I tried using clang back then but it was a mess, because it didn't seem to have all the same built-in globals and some other incompatibilities.  Hopefully that's been fixed since, but your best bet may be just to compile llvm with gcc.

> The board runs fine. It works with  Android and Linux. I have it running with Gentoo linux. I choosed this board because of the RAM. You need at least 1GB RAM to built LLVM... LLVM has some support for the Qualcomm chip.
I mentioned it because I heard Qualcomm is not good with releasing drivers.  In a similar way, that was one annoying aspect about the Pandaboard ES: you had to use a special ubuntu install with a bunch of binary blobs from TI to get proper GPU and hardware-accelerated video support, and even then 1080p video playback seemed to be dropping frames.

I actually bought it in early 2012 because I wanted to try running an ARM desktop.  But Android was unusable as a desktop and I've never liked ubuntu, plus the video issues, so it didn't work out.  I'd probably try it with Arch Linux Arm or FreeBSD these days, hopefully the hardware support for both has gotten better since then.
April 08, 2014
On Tuesday, 25 March 2014 at 18:23:15 UTC, Joakim wrote:
> I had problems getting a gcc that would actually work properly back in 2011, as the main gcc from their package source repository wouldn't pack booleans right and cause seg faults.

I start to understand the difficulties. I installed a gcc 4.6 from sfe repository - seems to work now. I now try to compile cmake 2.8 (the provided cmake 2.6 is too old)....

Regards,
Kai
April 08, 2014
Hi Joakim!

On Tuesday, 25 March 2014 at 06:23:33 UTC, Kai Nacke wrote:
> Hi Joakim!
>
> On Monday, 24 March 2014 at 20:38:10 UTC, Joakim wrote:
>> Alex already put in a fair amount of Solaris/x86 support into dmd and druntime.
>
> Good to hear! I installed OpenSolaris now. Let's see if I can get LDC running on it.

With the help of the sfe repository, I was able to compile ldc with LLVM 3.4 on latest OpenIndiana edition (merge-2.064 branch with my latest commit).
As usual, core.thread does not compile. I investigate...

Looks like a SPARC version could be created with reasonable effort...

Regards,
Kai
April 08, 2014
On Tuesday, 8 April 2014 at 15:54:52 UTC, Kai Nacke wrote:
> Hi Joakim!
>
> On Tuesday, 25 March 2014 at 06:23:33 UTC, Kai Nacke wrote:
>> Hi Joakim!
>>
>> On Monday, 24 March 2014 at 20:38:10 UTC, Joakim wrote:
>>> Alex already put in a fair amount of Solaris/x86 support into dmd and druntime.
>>
>> Good to hear! I installed OpenSolaris now. Let's see if I can get LDC running on it.
>
> With the help of the sfe repository, I was able to compile ldc with LLVM 3.4 on latest OpenIndiana edition (merge-2.064 branch with my latest commit).

Good to hear it.  If you start having segfaults in ldc because of memory issues, you may want to look into whether gcc is actually working properly, by running its testsuite.  I built gcc from source from pkgbuild back then, or whatever it is they use to generate the sfe packages, and had problems with the binaries their gcc would compile.  I had to recompile gcc with another flag to get it to work right.

> As usual, core.thread does not compile. I investigate...

Hmm, for X86, I doubt much will have to be done, but then I can't say I messed with Solaris threading.

> Looks like a SPARC version could be created with reasonable effort...

I'm sure Nordlöw is looking forward to it. :)
April 08, 2014
> Looks like a SPARC version could be created with reasonable effort...

That is good to hear! Keep up!
April 09, 2014
On 08/04/14 18:38, Joakim wrote:

> Hmm, for X86, I doubt much will have to be done, but then I can't say I
> messed with Solaris threading.

Doesn't druntime already support Solaris? I know I've seen a couple of version statements for Solaris.

-- 
/Jacob Carlborg
April 09, 2014
On Wednesday, 9 April 2014 at 06:29:39 UTC, Jacob Carlborg wrote:
> On 08/04/14 18:38, Joakim wrote:
>
>> Hmm, for X86, I doubt much will have to be done, but then I can't say I
>> messed with Solaris threading.
>
> Doesn't druntime already support Solaris? I know I've seen a couple of version statements for Solaris.

There is some support in Dmd and druntime- I ran across it when porting to bionic/Android- but it doesn't appear to be complete.
April 10, 2014
On Wednesday, 9 April 2014 at 08:14:02 UTC, Joakim wrote:
> On Wednesday, 9 April 2014 at 06:29:39 UTC, Jacob Carlborg wrote:
>> On 08/04/14 18:38, Joakim wrote:
>>
>>> Hmm, for X86, I doubt much will have to be done, but then I can't say I
>>> messed with Solaris threading.
>>
>> Doesn't druntime already support Solaris? I know I've seen a couple of version statements for Solaris.
>
> There is some support in Dmd and druntime- I ran across it when porting to bionic/Android- but it doesn't appear to be complete.

Yes, there is some support. But current dmd has some compile errors on Solaris (nothing serious, I'll prepare a pull for it). And I miss something like core.sys.solaris in druntime.

Regards,
Kai
April 10, 2014
> Doesn't druntime already support Solaris? I know I've seen a couple of version statements for Solaris.

Could someone just brielfy explain (sum up) to me what parts of druntime that is architecture/os specific? I already know about exception handling. What more?