www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - LDC+Dub+Vibe.d work on SmartOS 64bit now

reply Alexandr Basko <asbasko gmail.com> writes:
At first, we have build ldc-lts-master on OmniOS(32bit arch). We 
did some corrections in AddLLVM.cmake file for build llvm_3.8. 
And soon we have received working "Hello world" on Dlang.
But when we try to build vibe.d it fall down. We should had do 
some corrections in vide.d source. After this vibe.d began 
working on OmniOS and SmartOS 32bit.
But in SmartOS 64 bit not only vibe.d not compiling, even "Hello 
world" not working. Many hours of analyzing and correcting errors 
during build bring success. Vibe.d works fine with libevent 
configuration in OmniOS, SmartOS 32bit and SmartOS 64bit.
All corrections are commited to druntime, phobos and vibe.d by 
Nykytenko Oleg.

PS. If anybody need more details, we will be happy to help and 
write completely "HOWTO"
Jun 08 2016
next sibling parent reply Joakim <dlang joakim.fea.st> writes:
On Wednesday, 8 June 2016 at 08:00:03 UTC, Alexandr Basko wrote:
 At first, we have build ldc-lts-master on OmniOS(32bit arch). 
 We did some corrections in AddLLVM.cmake file for build 
 llvm_3.8. And soon we have received working "Hello world" on 
 Dlang.
 But when we try to build vibe.d it fall down. We should had do 
 some corrections in vide.d source. After this vibe.d began 
 working on OmniOS and SmartOS 32bit.
 But in SmartOS 64 bit not only vibe.d not compiling, even 
 "Hello world" not working. Many hours of analyzing and 
 correcting errors during build bring success. Vibe.d works fine 
 with libevent configuration in OmniOS, SmartOS 32bit and 
 SmartOS 64bit.
 All corrections are commited to druntime, phobos and vibe.d by 
 Nykytenko Oleg.

 PS. If anybody need more details, we will be happy to help and 
 write completely "HOWTO"
Have you run the standard library's tests? There was a thread last summer about this: http://forum.dlang.org/thread/zhcduibirwprgbzqkpvy forum.dlang.org
Jun 08 2016
parent reply Oleg Nykytenko <oleg.nykytenko gmail.com> writes:
On Wednesday, 8 June 2016 at 08:43:59 UTC, Joakim wrote:
 Have you run the standard library's tests?  There was a thread 
 last summer about this:

 http://forum.dlang.org/thread/zhcduibirwprgbzqkpvy forum.dlang.org
We haven't run library's tests. What right way to run this tests? But: We ported our sufficiently big server application from Linux to SmartOS x64. All application tests is OK. Application working now on testing server in production like regime under full load. And it's working fine. We're planning to use it in production in future. Vibe.d simple http/https/web test applications work fine too.
Jun 08 2016
next sibling parent reply Joakim <dlang joakim.fea.st> writes:
On Wednesday, 8 June 2016 at 10:06:00 UTC, Oleg Nykytenko wrote:
 On Wednesday, 8 June 2016 at 08:43:59 UTC, Joakim wrote:
 Have you run the standard library's tests?  There was a thread 
 last summer about this:

 http://forum.dlang.org/thread/zhcduibirwprgbzqkpvy forum.dlang.org
We haven't run library's tests. What right way to run this tests? But: We ported our sufficiently big server application from Linux to SmartOS x64. All application tests is OK. Application working now on testing server in production like regime under full load. And it's working fine. We're planning to use it in production in future. Vibe.d simple http/https/web test applications work fine too.
That's great to hear. :) If I were you though, I'd at least double-check by running the ldc tests, as I don't think others are using that platform. With ldc, I believe it's just "make test".
Jun 08 2016
parent reply Alexandr Basko <asbasko gmail.com> writes:
On Wednesday, 8 June 2016 at 11:30:50 UTC, Joakim wrote:
 On Wednesday, 8 June 2016 at 10:06:00 UTC, Oleg Nykytenko wrote:
 On Wednesday, 8 June 2016 at 08:43:59 UTC, Joakim wrote:
 [...]
We haven't run library's tests. What right way to run this tests? But: We ported our sufficiently big server application from Linux to SmartOS x64. All application tests is OK. Application working now on testing server in production like regime under full load. And it's working fine. We're planning to use it in production in future. Vibe.d simple http/https/web test applications work fine too.
That's great to hear. :) If I were you though, I'd at least double-check by running the ldc tests, as I don't think others are using that platform. With ldc, I believe it's just "make test".
Ok. I try to run these tests on server. Tomorrow i will post results, then i came back to working place
Jun 08 2016
parent reply Alexandr Basko <asbasko gmail.com> writes:
On Wednesday, 8 June 2016 at 13:30:26 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 11:30:50 UTC, Joakim wrote:
 On Wednesday, 8 June 2016 at 10:06:00 UTC, Oleg Nykytenko 
 wrote:
 On Wednesday, 8 June 2016 at 08:43:59 UTC, Joakim wrote:
 [...]
We haven't run library's tests. What right way to run this tests? But: We ported our sufficiently big server application from Linux to SmartOS x64. All application tests is OK. Application working now on testing server in production like regime under full load. And it's working fine. We're planning to use it in production in future. Vibe.d simple http/https/web test applications work fine too.
That's great to hear. :) If I were you though, I'd at least double-check by running the ldc tests, as I don't think others are using that platform. With ldc, I believe it's just "make test".
Ok. I try to run these tests on server. Tomorrow i will post results, then i came back to working place
Some tests failed. More than that, they walked to the core.sync.semaphore test and frozen on it (no more resources are eating by OS from last evening: PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 74206 root 7376K 3564K sleep 56 0 0:00:00 0.0% druntime-test-r And I don't know why? :-( Other results are: [root 936da159-6e0d-ed52-cbc6-a9456004e081 ~/work/test_ldc]# gmake test Running tests... Test project /root/work/test_ldc Start 1: build-druntime-ldc-unittest 1/673 Test #1: build-druntime-ldc-unittest ................. Passed 611.86 sec Start 2: build-druntime-test-runner 2/673 Test #2: build-druntime-test-runner .................. Passed 1.43 sec Start 3: build-phobos2-ldc-unittest 3/673 Test #3: build-phobos2-ldc-unittest ..................***Failed 525.34 sec Start 4: build-phobos2-test-runner 4/673 Test #4: build-phobos2-test-runner ...................***Failed 0.43 sec Start 5: build-druntime-ldc-unittest-debug 5/673 Test #5: build-druntime-ldc-unittest-debug ........... Passed 70.82 sec Start 6: build-druntime-test-runner-debug 6/673 Test #6: build-druntime-test-runner-debug ............ Passed 1.41 sec Start 7: build-phobos2-ldc-unittest-debug 7/673 Test #7: build-phobos2-ldc-unittest-debug ............***Failed 125.51 sec Start 8: build-phobos2-test-runner-debug 8/673 Test #8: build-phobos2-test-runner-debug .............***Failed 0.30 sec Start 9: core.simd 9/673 Test #9: core.simd ................................... Passed 0.01 sec Start 10: core.exception 10/673 Test #10: core.exception .............................. Passed 0.01 sec Start 11: core.atomic 11/673 Test #11: core.atomic ................................. Passed 0.01 sec Start 12: core.memory 12/673 Test #12: core.memory ................................. Passed 0.01 sec Start 13: core.bitop 13/673 Test #13: core.bitop .................................. Passed 0.02 sec Start 14: core.cpuid 14/673 Test #14: core.cpuid .................................. Passed 0.01 sec Start 15: core.time 15/673 Test #15: core.time ...................................***Failed 0.01 sec Start 16: core.demangle 16/673 Test #16: core.demangle ............................... Passed 0.01 sec Start 17: core.checkedint 17/673 Test #17: core.checkedint ............................. Passed 0.01 sec Start 18: core.thread 18/673 Test #18: core.thread ................................. Passed 0.12 sec Start 19: core.runtime 19/673 Test #19: core.runtime ................................ Passed 0.01 sec Start 20: core.math 20/673 Test #20: core.math ................................... Passed 0.01 sec Start 21: core.vararg 21/673 Test #21: core.vararg ................................. Passed 0.01 sec Start 22: core.internal.hash 22/673 Test #22: core.internal.hash .......................... Passed 0.01 sec Start 23: core.internal.traits 23/673 Test #23: core.internal.traits ........................ Passed 0.01 sec Start 24: core.internal.convert 24/673 Test #24: core.internal.convert ....................... Passed 0.01 sec Start 25: core.sync.rwmutex 25/673 Test #25: core.sync.rwmutex ........................... Passed 0.01 sec Start 26: core.sync.config 26/673 Test #26: core.sync.config ............................ Passed 0.01 sec Start 27: core.sync.mutex 27/673 Test #27: core.sync.mutex ............................. Passed 0.01 sec Start 28: core.sync.condition 28/673 Test #28: core.sync.condition ......................... Passed 0.02 sec Start 29: core.sync.semaphore If need more details, I have log for this tests.
Jun 09 2016
parent reply Joakim <dlang joakim.fea.st> writes:
On Thursday, 9 June 2016 at 12:48:24 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 13:30:26 UTC, Alexandr Basko wrote:
 [...]
Some tests failed. More than that, they walked to the core.sync.semaphore test and frozen on it (no more resources are eating by OS from last evening: [...]
Until you figure it out, you can skip a module's tests with ctest -E, ie "ctest -E core.sync.semaphore".
 Other results are:

 [...]
You may need to add some library flags for curl, as I did last summer: http://forum.dlang.org/post/eipycgdrrjtuuyglppfk forum.dlang.org
Jun 09 2016
parent reply Alexandr Basko <asbasko gmail.com> writes:
On Thursday, 9 June 2016 at 14:25:07 UTC, Joakim wrote:
 On Thursday, 9 June 2016 at 12:48:24 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 13:30:26 UTC, Alexandr Basko 
 wrote:
 [...]
Some tests failed. More than that, they walked to the core.sync.semaphore test and frozen on it (no more resources are eating by OS from last evening: [...]
Until you figure it out, you can skip a module's tests with ctest -E, ie "ctest -E core.sync.semaphore".
 Other results are:

 [...]
You may need to add some library flags for curl, as I did last summer: http://forum.dlang.org/post/eipycgdrrjtuuyglppfk forum.dlang.org
I will do these tests (according your recommendations) again on Monday and post results here after getting them.
Jun 09 2016
parent Alexandr Basko <asbasko gmail.com> writes:
On Thursday, 9 June 2016 at 19:37:29 UTC, Alexandr Basko wrote:
 On Thursday, 9 June 2016 at 14:25:07 UTC, Joakim wrote:
 On Thursday, 9 June 2016 at 12:48:24 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 13:30:26 UTC, Alexandr Basko 
 wrote:
 [...]
Some tests failed. More than that, they walked to the core.sync.semaphore test and frozen on it (no more resources are eating by OS from last evening: [...]
Until you figure it out, you can skip a module's tests with ctest -E, ie "ctest -E core.sync.semaphore".
 Other results are:

 [...]
You may need to add some library flags for curl, as I did last summer: http://forum.dlang.org/post/eipycgdrrjtuuyglppfk forum.dlang.org
I will do these tests (according your recommendations) again on Monday and post results here after getting them.
I have made tests, but some tests failed. We are analyzing errors, and will done all for tests passed.
Jun 15 2016
prev sibling parent reply Johan Engelen <j j.nl> writes:
On Wednesday, 8 June 2016 at 10:06:00 UTC, Oleg Nykytenko wrote:
 On Wednesday, 8 June 2016 at 08:43:59 UTC, Joakim wrote:
 Have you run the standard library's tests?  There was a thread 
 last summer about this:

 http://forum.dlang.org/thread/zhcduibirwprgbzqkpvy forum.dlang.org
We haven't run library's tests. What right way to run this tests? But: We ported our sufficiently big server application from Linux to SmartOS x64. All application tests is OK. Application working now on testing server in production like regime under full load. And it's working fine. We're planning to use it in production in future.
Are you interested in running a buildbot for LDC on your platform to detect issues early? See: http://forum.dlang.org/thread/hikcbbqqnpvvyirxgzxu forum.dlang.org Thanks, Johan
Jun 08 2016
next sibling parent Oleg Nykytenko <oleg.nykytenko gmail.com> writes:
On Wednesday, 8 June 2016 at 15:35:32 UTC, Johan Engelen wrote:
 Are you interested in running a buildbot for LDC on your 
 platform to detect issues early?
Yes, interested. But our servers can't to use for this purpose. They use for data acquisition from electrical substation's automation system and do not have access from Internet for sequrity reasons.
Jun 09 2016
prev sibling parent flamencofantasy <flamencofantasy gmail.com> writes:
On Wednesday, 8 June 2016 at 15:35:32 UTC, Johan Engelen wrote:
 On Wednesday, 8 June 2016 at 10:06:00 UTC, Oleg Nykytenko wrote:
 On Wednesday, 8 June 2016 at 08:43:59 UTC, Joakim wrote:
 [...]
We haven't run library's tests. What right way to run this tests? But: We ported our sufficiently big server application from Linux to SmartOS x64. All application tests is OK. Application working now on testing server in production like regime under full load. And it's working fine. We're planning to use it in production in future.
Are you interested in running a buildbot for LDC on your platform to detect issues early? See: http://forum.dlang.org/thread/hikcbbqqnpvvyirxgzxu forum.dlang.org Thanks, Johan
What are the system requirements for a SmartOS buildbot?
Jun 20 2016
prev sibling parent reply flamencofantasy <flamencofantasy gmail.com> writes:
On Wednesday, 8 June 2016 at 08:00:03 UTC, Alexandr Basko wrote:
 At first, we have build ldc-lts-master on OmniOS(32bit arch). 
 We did some corrections in AddLLVM.cmake file for build 
 llvm_3.8. And soon we have received working "Hello world" on 
 Dlang.
 But when we try to build vibe.d it fall down. We should had do 
 some corrections in vide.d source. After this vibe.d began 
 working on OmniOS and SmartOS 32bit.
 But in SmartOS 64 bit not only vibe.d not compiling, even 
 "Hello world" not working. Many hours of analyzing and 
 correcting errors during build bring success. Vibe.d works fine 
 with libevent configuration in OmniOS, SmartOS 32bit and 
 SmartOS 64bit.
 All corrections are commited to druntime, phobos and vibe.d by 
 Nykytenko Oleg.

 PS. If anybody need more details, we will be happy to help and 
 write completely "HOWTO"
Excellent! Please post a howto. I would very much like to move my server from an LX branded zone to SmartOS.
Jun 08 2016
parent reply Alexandr Basko <asbasko gmail.com> writes:
On Wednesday, 8 June 2016 at 12:19:08 UTC, flamencofantasy wrote:
 On Wednesday, 8 June 2016 at 08:00:03 UTC, Alexandr Basko wrote:
 [...]
Excellent! Please post a howto. I would very much like to move my server from an LX branded zone to SmartOS.
Can I post howto in this thread? If yes, than i`m post it tomorrow also
Jun 08 2016
next sibling parent reply flamencofantasy <flamencofantasy gmail.com> writes:
On Wednesday, 8 June 2016 at 13:41:59 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 12:19:08 UTC, flamencofantasy 
 wrote:
 On Wednesday, 8 June 2016 at 08:00:03 UTC, Alexandr Basko 
 wrote:
 [...]
Excellent! Please post a howto. I would very much like to move my server from an LX branded zone to SmartOS.
Can I post howto in this thread? If yes, than i`m post it tomorrow also
Yes, please. Or if that's too much trouble just send to my email. Thanks!
Jun 08 2016
parent reply Alexandr Basko <asbasko gmail.com> writes:
On Wednesday, 8 June 2016 at 14:13:48 UTC, flamencofantasy wrote:
 On Wednesday, 8 June 2016 at 13:41:59 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 12:19:08 UTC, flamencofantasy 
 wrote:
 On Wednesday, 8 June 2016 at 08:00:03 UTC, Alexandr Basko 
 wrote:
 [...]
Excellent! Please post a howto. I would very much like to move my server from an LX branded zone to SmartOS.
Can I post howto in this thread? If yes, than i`m post it tomorrow also
Yes, please. Or if that's too much trouble just send to my email. Thanks!
I wrote and post howto on https://wiki.dlang.org/LDC%2BDub%2BVibe.d_on_SmartOS_64bit. It need to format, but it fully functional.
Jun 09 2016
parent reply flamencofantasy <flamencofantasy gmail.com> writes:
On Thursday, 9 June 2016 at 12:30:30 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 14:13:48 UTC, flamencofantasy 
 wrote:
 On Wednesday, 8 June 2016 at 13:41:59 UTC, Alexandr Basko 
 wrote:
 On Wednesday, 8 June 2016 at 12:19:08 UTC, flamencofantasy 
 wrote:
 On Wednesday, 8 June 2016 at 08:00:03 UTC, Alexandr Basko 
 wrote:
 [...]
Excellent! Please post a howto. I would very much like to move my server from an LX branded zone to SmartOS.
Can I post howto in this thread? If yes, than i`m post it tomorrow also
Yes, please. Or if that's too much trouble just send to my email. Thanks!
I wrote and post howto on https://wiki.dlang.org/LDC%2BDub%2BVibe.d_on_SmartOS_64bit. It need to format, but it fully functional.
Thank you very much! I followed the instructions and I was able to build ldc, dub but not vibe.d's examples. I get some errors, in one case I get this; # dub Performing "debug" build using ldc2 for x86_64. vibe-d:utils 0.7.30-alpha.2+commit.13.g4fcdbe9: target for configuration "library" is up to date. vibe-d:data 0.7.30-alpha.2+commit.13.g4fcdbe9: target for configuration "library" is up to date. vibe-d:core 0.7.30-alpha.2+commit.13.g4fcdbe9: target for configuration "libevent" is up to date. vibe-d:http 0.7.30-alpha.2+commit.13.g4fcdbe9: target for configuration "library" is up to date. http-server-example ~master: building configuration "application"... ld: fatal: library -levent: not found ld: fatal: library -levent_pthreads: not found ld: fatal: file processing errors. No output written to .dub/build/application-debug-posix.solaris-x86_64-ldc_0-A00A2E31B9B960EA3878168DFC41B6A8/http-server-example collect2: error: ld returned 1 exit status Error: /opt/local/bin/gcc failed with status: 1 ldc2 failed with exit code 1. In another one I get the following; ]# dub Performing "debug" build using ldc2 for x86_64. vibe-d:utils 0.7.28: target for configuration "library" is up to date. vibe-d:data 0.7.28: target for configuration "library" is up to date. vibe-d:core 0.7.28: building configuration "libevent"... ../../../.dub/packages/vibe-d-0.7.28/vibe-d/source/vibe/core/core.d(570): Error: static assert "Unsupported OS!" ldc2 failed with exit code 1. I'll see if I can figure out what's happening sometime later when I have more time. Thanks again!
Jun 10 2016
next sibling parent reply Oleg Nykytenko <oleg.nykytenko gmail.com> writes:
On Friday, 10 June 2016 at 21:40:22 UTC, flamencofantasy wrote:
 ld: fatal: library -levent: not found
I think need install libevent. In howto on https://wiki.dlang.org/LDC%2BDub%2BVibe.d_on_SmartOS_64bit. I think misprint in line: # pkgin in binutils gmake cmake scmgit python35 autoconf gcc49 gcc49-libs unzip libconfig livevent change "livevent" -> "libevent".
Jun 10 2016
parent Alexandr Basko <asbasko gmail.com> writes:
On Friday, 10 June 2016 at 22:20:20 UTC, Oleg Nykytenko wrote:
 On Friday, 10 June 2016 at 21:40:22 UTC, flamencofantasy wrote:
 ld: fatal: library -levent: not found
I think need install libevent. In howto on https://wiki.dlang.org/LDC%2BDub%2BVibe.d_on_SmartOS_64bit. I think misprint in line: # pkgin in binutils gmake cmake scmgit python35 autoconf gcc49 gcc49-libs unzip libconfig livevent change "livevent" -> "libevent".
Sorry this is my misprint. I already corrected howto
Jun 12 2016
prev sibling next sibling parent Oleg Nykytenko <oleg.nykytenko gmail.com> writes:
On Friday, 10 June 2016 at 21:40:22 UTC, flamencofantasy wrote:
 In another one I get the following;
 ]# dub
 Performing "debug" build using ldc2 for x86_64.
 vibe-d:utils 0.7.28: target for configuration "library" is up 
 to date.
 vibe-d:data 0.7.28: target for configuration "library" is up to 
 date.
 vibe-d:core 0.7.28: building configuration "libevent"...
 ../../../.dub/packages/vibe-d-0.7.28/vibe-d/source/vibe/core/core.d(570):
Error: static assert  "Unsupported OS!"
 ldc2 failed with exit code 1.
My pull request with fix this issue merged to version 0.7.29. Use please version 0.7.29 or higher.
Jun 10 2016
prev sibling parent reply Alexandr Basko <asbasko gmail.com> writes:
On Friday, 10 June 2016 at 21:40:22 UTC, flamencofantasy wrote:
 On Thursday, 9 June 2016 at 12:30:30 UTC, Alexandr Basko wrote:
 [...]
Thank you very much! I followed the instructions and I was able to build ldc, dub but not vibe.d's examples. [...]
You only need to install additional package libevent. # pkgin in libevent Nothing else need to change, your project will be builded with vibe.d version > 0.7.30-alpha1
Jun 12 2016
parent flamencofantasy <flamencofantasy gmail.com> writes:
On Monday, 13 June 2016 at 06:10:22 UTC, Alexandr Basko wrote:
 On Friday, 10 June 2016 at 21:40:22 UTC, flamencofantasy wrote:
 On Thursday, 9 June 2016 at 12:30:30 UTC, Alexandr Basko wrote:
 [...]
Thank you very much! I followed the instructions and I was able to build ldc, dub but not vibe.d's examples. [...]
You only need to install additional package libevent. # pkgin in libevent Nothing else need to change, your project will be builded with vibe.d version > 0.7.30-alpha1
Yes, it all works now. The only thing I noticed is build time of my project has increased to a few minutes up from a few seconds when using DMD. But overall I am very happy. Thanks!
Jun 14 2016
prev sibling parent Johan Engelen <j j.nl> writes:
On Wednesday, 8 June 2016 at 13:41:59 UTC, Alexandr Basko wrote:
 On Wednesday, 8 June 2016 at 12:19:08 UTC, flamencofantasy 
 wrote:
 On Wednesday, 8 June 2016 at 08:00:03 UTC, Alexandr Basko 
 wrote:
 [...]
Excellent! Please post a howto. I would very much like to move my server from an LX branded zone to SmartOS.
Can I post howto in this thread? If yes, than i`m post it tomorrow also
You could make a new page on the wiki so the Howto will be easier to locate.
Jun 08 2016