digitalmars.D.ldc - SPARC Solaris Support
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (4/4) Mar 24 2014 Does LDC have sparc solaris backend support?
- Kai Nacke (9/14) Mar 24 2014 LLVM can generate code for sparc-v8/v9. I don't know how good
- Joakim (11/26) Mar 24 2014 Nowadays, you can rent out all kinds of exotic hardware online.
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (6/12) Mar 24 2014 Unfortunately I don't see any way in the near future to rent out
- Joakim (8/20) Mar 24 2014 I think you misunderstand my suggestion. For $45, you could rent
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (3/11) Mar 24 2014 Ok. Got it.
- John Colvin (4/5) Mar 24 2014 Not VPS, but dedicated:
- Joakim (7/12) Mar 24 2014 Oh cool, thanks for the links. :) Looks like I was using the
- Kai Nacke (8/11) Mar 24 2014 Good to hear! I installed OpenSolaris now. Let's see if I can get
- Joakim (12/21) Mar 25 2014 What compiler do you plan on using to build ldc? I had some
- Kai Nacke (15/39) Mar 25 2014 I just installed OpenIndiana and started looking around. But
- Kai Nacke (10/16) Apr 08 2014 With the help of the sfe repository, I was able to compile ldc
- Joakim (11/27) Apr 08 2014 Good to hear it. If you start having segfaults in ldc because of
- Jacob Carlborg (5/7) Apr 08 2014 Doesn't druntime already support Solaris? I know I've seen a couple of
- Joakim (3/9) Apr 09 2014 There is some support in Dmd and druntime- I ran across it when
- Kai Nacke (6/18) Apr 09 2014 Yes, there is some support. But current dmd has some compile
- Kai Nacke (12/30) May 04 2014 The DMD compile errors are fixed now. I also created a pull
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (3/5) Apr 10 2014 Could someone just brielfy explain (sum up) to me what parts of
- Jacob Carlborg (13/16) Apr 10 2014 I did a quick grep for "linux" and "Posix" and this is what I came up wi...
- Kai Nacke (6/23) Apr 10 2014 I like to add:
- Jacob Carlborg (15/20) Apr 10 2014 Is accessing sections/segments limited to this module now? I know that
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (1/3) Apr 08 2014 That is good to hear! Keep up!
- Dejan Lekic (8/8) May 01 2014 I can give access to my ODROID-U2 (home) "server" if there is
- Dejan Lekic (2/3) May 01 2014 One more thing - you know pretty well that nowadays anyone can
- Joakim (3/7) May 01 2014 Yeah, I've heard that QEMU's slow and can be buggy though. I may
Does LDC have sparc solaris backend support? I'm trying to make my company use D and we have a bunch of legacy machines that unfortunately run on sparc-solaris 2.10. /Per
Mar 24 2014
Hi Per! On Monday, 24 March 2014 at 09:39:10 UTC, Nordlöw wrote:Does LDC have sparc solaris backend support? I'm trying to make my company use D and we have a bunch of legacy machines that unfortunately run on sparc-solaris 2.10. /PerLLVM can generate code for sparc-v8/v9. I don't know how good this support is. I also think there is no dedicated support in druntime. You have to simply try it. One of the problems here is that it is not easy to get access to a sparc-solaris machine, otherwise I would already have done it. Regards, Kai
Mar 24 2014
On Monday, 24 March 2014 at 12:11:44 UTC, Kai Nacke wrote:Hi Per! On Monday, 24 March 2014 at 09:39:10 UTC, Nordlöw wrote:Nowadays, you can rent out all kinds of exotic hardware online. Googling for "sparc zone vps," I get two results, although the second one doesn't give much RAM for the developer plan: http://www.thoughtwave.com/index.php/services/solaris/solaris-sparc-zones http://www.net5.com.au/hosting/zones If Per wants to use ldc and can't give you access to his company's machines, maybe he can rent out one of those zones and give you access and a bounty for a sparc port. Alex already put in a fair amount of Solaris/x86 support into dmd and druntime. Now if I could only find an ARM vps... ;)Does LDC have sparc solaris backend support? I'm trying to make my company use D and we have a bunch of legacy machines that unfortunately run on sparc-solaris 2.10. /PerLLVM can generate code for sparc-v8/v9. I don't know how good this support is. I also think there is no dedicated support in druntime. You have to simply try it. One of the problems here is that it is not easy to get access to a sparc-solaris machine, otherwise I would already have done it.
Mar 24 2014
Unfortunately I don't see any way in the near future to rent out our company machines. If I were running my own business I would hand it to you directly...but "our" IT organization is *very* beuraucratic. Thanks for all the good answers anyway, PerOne of the problems here is that it is not easy to get access to a sparc-solaris machine, otherwise I would already have done it.Nowadays, you can rent out all kinds of exotic hardware online. Googling for "sparc zone vps," I get two results, although the second one doesn't give much RAM for the developer plan:
Mar 24 2014
On Monday, 24 March 2014 at 21:18:49 UTC, Nordlöw wrote:I think you misunderstand my suggestion. For $45, you could rent out a zone at that first link for a month and give Kai access to it. That way, you don't give someone outside the company access to your machines. Sometimes the host will offer free access for open source projects, as that will mean more software developed for their platform. As for what kind of bounty it'd take for Kai to work on a port, you'd have to ask him. :)Unfortunately I don't see any way in the near future to rent out our company machines. If I were running my own business I would hand it to you directly...but "our" IT organization is *very* beuraucratic. Thanks for all the good answers anyway, PerOne of the problems here is that it is not easy to get access to a sparc-solaris machine, otherwise I would already have done it.Nowadays, you can rent out all kinds of exotic hardware online. Googling for "sparc zone vps," I get two results, although the second one doesn't give much RAM for the developer plan:
Mar 24 2014
I think you misunderstand my suggestion. For $45, you could rent out a zone at that first link for a month and give Kai access to it. That way, you don't give someone outside the company access to your machines. Sometimes the host will offer free access for open source projects, as that will mean more software developed for their platform. As for what kind of bounty it'd take for Kai to work on a port, you'd have to ask him. :)Ok. Got it. Thx, Per
Mar 24 2014
On Monday, 24 March 2014 at 20:38:10 UTC, Joakim wrote:Now if I could only find an ARM vps... ;)Not VPS, but dedicated: http://www.nx-box.net/en/cubiebox http://www.mininodes.com/product/single-mininodes/
Mar 24 2014
On Monday, 24 March 2014 at 21:41:46 UTC, John Colvin wrote:On Monday, 24 March 2014 at 20:38:10 UTC, Joakim wrote:Oh cool, thanks for the links. :) Looks like I was using the wrong keywords on google to search for an ARM-based shell account, although it looks like miniNodes just launched a couple weeks back. I don't know why nx-box requires a 1-year commitment. miniNodes looks promising, will have to consider them.Now if I could only find an ARM vps... ;)Not VPS, but dedicated: http://www.nx-box.net/en/cubiebox http://www.mininodes.com/product/single-mininodes/
Mar 24 2014
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.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 Regards, Kai
Mar 24 2014
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: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.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.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.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
Mar 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: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.Hi Joakim! On Monday, 24 March 2014 at 20:38:10 UTC, Joakim wrote: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.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.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, KaiThat 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.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
Mar 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.
Mar 25 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
Apr 07 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: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, KaiAlex 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.
Apr 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: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.Hi Joakim! On Monday, 24 March 2014 at 20:38:10 UTC, Joakim wrote: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).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.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. :)
Apr 08 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
Apr 08 2014
On Wednesday, 9 April 2014 at 06:29:39 UTC, Jacob Carlborg wrote:On 08/04/14 18:38, Joakim wrote: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.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.
Apr 09 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: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, KaiOn 08/04/14 18:38, Joakim wrote: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.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.
Apr 09 2014
On Thursday, 10 April 2014 at 05:56:05 UTC, Kai Nacke wrote:On Wednesday, 9 April 2014 at 08:14:02 UTC, Joakim wrote:The DMD compile errors are fixed now. I also created a pull request to enable Solaris support in druntime (again). For LDC, the translation of the following files in druntime is missing: <link.h>, <elf.h>, <sys/link.h>, <sys/elf.h> These files are required to for section support. (DMD uses brackets here. For FreeBSD, I used section information from ELF. The same code can be used for Solaris.) Any volunteers? Phobos has still some compile errors because socket constants are missing. I did not yet identify the missing module. Regards, KaiOn Wednesday, 9 April 2014 at 06:29:39 UTC, Jacob Carlborg wrote: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.On 08/04/14 18:38, Joakim wrote: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.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.
May 04 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?
Apr 10 2014
On 2014-04-10 19:31, "Nordlöw" wrote: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?I did a quick grep for "linux" and "Posix" and this is what I came up with: * Quite a lot of bindings to C Posix functions/types * Threading * Synchronization * TLS * The GC has some minor parts * dmain2.d, the code that boots a D application * Some math related code (cmath2.d) * alloca * Time -- /Jacob Carlborg
Apr 10 2014
On Thursday, 10 April 2014 at 19:11:58 UTC, Jacob Carlborg wrote:On 2014-04-10 19:31, "Nordlöw" wrote:I like to add: * Fibers (part of core.thread) * Module discovery (rt.sections) * Math (std.math) * Vararg-support (core.stdc.vararg)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?I did a quick grep for "linux" and "Posix" and this is what I came up with: * Quite a lot of bindings to C Posix functions/types * Threading * Synchronization * TLS * The GC has some minor parts * dmain2.d, the code that boots a D application * Some math related code (cmath2.d) * alloca * Time
Apr 10 2014
On 11/04/14 06:57, Kai Nacke wrote:I like to add: * Fibers (part of core.thread) * Module discovery (rt.sections)Is accessing sections/segments limited to this module now? I know that the GC and threads and some other parts are dependent on this.* Math (std.math) * Vararg-support (core.stdc.vararg)If we include Phobos as well, there are quite a lot of code that differs on Posix vs Windows: * Environment variables (std.process) * Running external processes, forking (std.process) * There's a function for getting the path to the current executable, somewhere * Probably some IO parts * Handling of file system paths * Date/Time (here as well) But these are not required to use the language. -- /Jacob Carlborg
Apr 10 2014
Looks like a SPARC version could be created with reasonable effort...That is good to hear! Keep up!
Apr 08 2014
I can give access to my ODROID-U2 (home) "server" if there is need... It is a quad-core ARM with 2GiB RAM. :) If I remember well, Zor also has an ARM machine used for CI and I am sure he will gladly help. SourceForge had their compile farm, but I think they discontinued that feature (too bad, it was awesome), but I think there are several other similar systems on-line. Googling gave me this: https://en.wikipedia.org/wiki/Compile_farm
May 01 2014
Now if I could only find an ARM vps... ;)One more thing - you know pretty well that nowadays anyone can have a testing ARM machine using QEMU ... :)
May 01 2014
On Thursday, 1 May 2014 at 11:11:01 UTC, Dejan Lekic wrote:Yeah, I've heard that QEMU's slow and can be buggy though. I may just test Android/ARM on my phone or tablet.Now if I could only find an ARM vps... ;)One more thing - you know pretty well that nowadays anyone can have a testing ARM machine using QEMU ... :)
May 01 2014