{"id":275753,"date":"2016-03-09T15:17:02","date_gmt":"2016-03-09T12:17:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=275753"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=275753","title":{"rendered":"\u041f\u0438\u0448\u0435\u043c \u043d\u0430 D \u0434\u043b\u044f Raspberry Pi"},"content":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c80\/673\/cc0\/c80673cc01b1448ea2ee5e434c431407.png\"\/><br \/>  Dlang, \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e D \u2014 \u043c\u043e\u043b\u043e\u0434\u043e\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439. \u041d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u044f\u0437\u044b\u043a \u0441 \u0442\u0430\u043a\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e, \u0442\u043e, \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f D2 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e D, \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438 \u0441\u043b\u0430\u0431\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u0430. \u041f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 D \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e, \u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 C++, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043e\u043d \u0434\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0434\u043e ARM \u0438 \u0435\u0433\u043e \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0435\u0439 Android \u0438 iOS. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0440\u0430\u0441\u0442\u0451\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443 \u0432\u0435\u0449\u0435\u0439 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0440\u0442\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c.<br \/>  \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u0440\u043e\u0441\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 dlang \u0434\u043b\u044f Raspberry Pi. \u0412 \u044d\u0442\u043e\u043c \u043d\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e, \u0434\u0430 \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043e. \u0414\u0430\u043d\u043d\u0430\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043c\u0430\u043d\u0443\u0430\u043b \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f D \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0432 \u0446\u0435\u043b\u043e\u043c \u0438 Raspberry Pi \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>Hello, World <\/h2>\n<p>  \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f:  <\/p>\n<ul>\n<li> \u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0441 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u043c (\u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 Ubuntu 14.04 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0435) <\/li>\n<li> Raspberry Pi \u0441 ssh \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 Raspberry Pi B+) <\/li>\n<\/ul>\n<p>  \u041d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0440\u044f\u043c\u043e \u043d\u0430 Raspberry Pi, \u043b\u0443\u0447\u0448\u0435 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435. \u041d\u0430 \u0441\u0430\u043c\u043e\u0439 \u043c\u0430\u043b\u0438\u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u043e \u043f\u0430\u043c\u044f\u0442\u0438, \u0430 \u043a\u0440\u043e\u0441\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u043f\u043e\u0434 Raspberry Pi \u2013 \u0434\u0435\u043b\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e\u0435. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 dlang \u0434\u043b\u044f Raspberry Pi. \u0422\u0443\u0442 \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430: LDC (LLVM based D Compiler) \u0438 GDC (GNU D Compiler). \u041f\u0440\u043e\u0449\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e GDC. LDC \u043f\u043e\u0434 ARM \u0435\u0441\u0442\u044c \u0438 \u0435\u0433\u043e \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e GDC. <br \/>  \u0418\u0434\u0451\u043c \u043d\u0430 \u0441\u0430\u0439\u0442 GDC \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <a href=\"http:\/\/gdcproject.org\/downloads\">downloads<\/a>.<br \/>  \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c x86_64 \u0441\u0431\u043e\u0440\u043a\u0443 \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b arm-linux-gnueabihf (\u0442\u0443\u0442 \u043f\u043e-\u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u0435\u0435, \u0441\u0430\u043c GDC \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043d\u0430 x86, \u0430 \u0442\u0430\u0440\u0433\u0435\u0442 armhf; \u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 GDC \u0434\u043b\u044f arm, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c, \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438.<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">wget http:\/\/gdcproject.org\/downloads\/binaries\/5.2.0\/x86_64-linux-gnu\/gdc-5.2.0-arm-linux-gnueabihf+2.066.1.tar.xz <\/code><\/pre>\n<p>  \u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c  <\/p>\n<pre><code class=\"bash\">tar -xf gdc-5.2.0-arm-linux-gnueabihf+2.066.1.tar.xz <\/code><\/pre>\n<p>  \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u044f \u0435\u0449\u0451 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b \u043f\u0430\u043f\u043a\u0443  <\/p>\n<pre><code class=\"bash\">mv arm-unknown-linux-gnueabihf gdc-arm <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u044f \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0430\u043f\u043a\u0443 \u0441 gdc \u0432 \/usr\/bin \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u0430\u043b\u0438\u0430\u0441 gdc-arm, \u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u043c \u0432\u0441\u0451 \u0434\u0435\u043b\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432 \u043f\u0430\u043f\u043a\u0435. \u0418 \u0442\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u0441\u044b\u043b\u043a\u0443-\u0448\u043e\u0440\u0442\u043a\u0430\u0442:  <\/p>\n<pre><code class=\"bash\">ln -s gdc-arm\/bin\/arm-linux-gnueabihf-gdc gdc <\/code><\/pre>\n<p>  \u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u044d\u0442\u043e\u0433\u043e \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c D \u043a\u043e\u0434 \u043f\u043e\u0434 Raspberry PI. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Hello, world. \u0418\u0442\u0430\u043a \u043f\u0438\u0448\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a:  <\/p>\n<pre><code class=\"java\">import std.stdio; void main() {     writeln(&quot;Hello, World!&quot;); } <\/code><\/pre>\n<p>  \u0418 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 hello.d. \u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">.\/gdc hello.d -o hello <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043d\u0430 \u0434\u0435\u0432\u0430\u0439\u0441 \u0438\u0434\u0451\u043c \u043d\u0430 \u043d\u0435\u0433\u043e \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c. \u0423 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u043e \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">scp hello pi@192.168.1.85\/~\/dlang\/hello <\/code><\/pre>\n<p>  \u0410 \u043d\u0430 \u0434\u0435\u0432\u0430\u0439\u0441\u0435:  <\/p>\n<pre><code class=\"bash\">pi@raspberrypi:~\/dlang $ .\/hello  Hello, World! <\/code><\/pre>\n<p>  <\/p>\n<h2>\u0423\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u043c \u0437\u0430\u0434\u0430\u0447\u0443 \u2013 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/h2>\n<p>  \u0412\u0441\u0451, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0432\u044b\u0448\u0435, \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u043e \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438. \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u00abHello, vibe.d\u00bb, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 <a href=\"http:\/\/vibed.org\/\">web \u0444\u0440\u0435\u0439\u043c\u0432\u0451\u0440\u043a\u0435 vibe.d<\/a>. \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e HelloWorld \u043e\u0434\u043d\u043e \u2013 \u043d\u0443\u0436\u043d\u043e \u043b\u0438\u043d\u043a\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041a\u0440\u043e\u0441\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f dlang \u0432 \u044d\u0442\u043e\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0435 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 C, C++ \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043a\u0440\u043e\u0441\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0430 Raspberry Pi. <br \/>  \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0438 \u0438\u0445 \u043b\u0443\u0447\u0448\u0438\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u2013 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 Raspberry \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e <a href=\"https:\/\/www.raspbian.org\/RaspbianRepository\">https:\/\/www.raspbian.org\/RaspbianRepository<\/a>. \u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u0440\u044f\u043c\u043e \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043d\u0430 \u043d\u0451\u043c (\u043e\u0447\u0435\u043d\u044c \u043f\u043b\u043e\u0445\u0430\u044f \u0438\u0434\u0435\u044f, \u043e\u0447\u0435\u043d\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0438 \u0432\u0435\u0447\u043d\u043e \u0432 \u0441\u0432\u043e\u043f\u0435), \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b. \u0425\u043e\u0440\u043e\u0448\u0435\u0439 \u0438\u0434\u0435\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c sshfs (\u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0437\u0434\u0435\u0441\u044c: <a href=\"http:\/\/wiki.dlang.org\/GDC\/Cross_Compiler\/Existing_Sysroot\">wiki.dlang.org\/GDC\/Cross_Compiler\/Existing_Sysroot<\/a>). \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u2013 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0430\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u041d\u0435 \u0432\u0430\u0436\u043d\u043e \u043a\u0430\u043a\u043e\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0431\u0443\u0434\u0443\u0442 \u0432\u0437\u044f\u0442\u044b \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0438 \u043d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430 \u0438\u043b\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u043f\u043e\u0434\u0446\u0435\u043f\u0438\u0442\u044c Raspbian \u043a\u0430\u043a \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0441\u0430\u043c\u043e\u0439 \u0431\u0438\u043b\u0434-\u043c\u0430\u0448\u0438\u043d\u0435<\/b><\/p>\n<div class=\"spoiler_text\">\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u0432\u0441\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0435 \u0443\u0432\u0435\u043d\u0447\u0430\u043b\u0438\u0441\u044c \u0443\u0441\u043f\u0435\u0445\u043e\u043c. \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u043b\u0433\u0438\u0445 \u043c\u0443\u0447\u0435\u043d\u0438\u0439, \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u043d\u0430 \u044d\u0442\u0438: <a href=\"https:\/\/answers.launchpad.net\/ubuntu\/+source\/build-essential\/+question\/250970\">answers.launchpad.net\/ubuntu\/+source\/build-essential\/+question\/250970<\/a> \u0437\u0430\u0442\u0435\u044f \u0431\u044b\u043b\u0430 \u0437\u0430\u0431\u0440\u043e\u0448\u0435\u043d\u0430.  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u0432\u0437\u044f\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 ubuntu \u0434\u043b\u044f arm<\/b><\/p>\n<div class=\"spoiler_text\">\u0415\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c. \u0425\u043e\u0442\u044f \u043f\u043e\u0437\u0436\u0435 \u0432\u0441\u0451 \u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438 \u0434\u0430\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c, \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b Illegal Instruction \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 armhf \u0438\u043c\u0435\u0435\u0442 \u0435\u0449\u0451 \u043a\u0443\u0447\u0443 \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0444\u043b\u0430\u0433\u043e\u0432 \u0438 \u043d\u0430\u0434\u043e \u0435\u0449\u0451 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0438 \u043d\u0430\u0439\u0442\u0438 \u0442\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 Raspberry Pi.  <\/div>\n<\/div>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0430\u043f\u043a\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0432\u0441\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 Raspberry Pi \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0435\u0451 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"bash\">mkdir rpi echo $RPIROOT  export RPIROOT=~\/test_pi\/rpi\/ echo $RPIROOT \/home\/user\/test_pi\/rpi\/ <\/code><\/pre>\n<p>  \u041c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0447\u0435\u0440\u0435\u0437 sshfs:  <\/p>\n<pre><code class=\"bash\">sshfs -o idmap=user,follow_symlinks pi@192.168.1.85:\/ $RPIROOT <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043f\u0443\u0442\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u043b\u0438\u0431, \u0434\u043b\u044f \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0448\u043e\u0440\u0442\u043a\u0430\u0442. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b\u0438\u043a gdc-rpi \u0438 \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0442\u0443\u0434\u0430 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 GDC \u0441 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u0444\u043b\u0430\u0433\u0430\u043c\u0438.  <\/p>\n<pre><code class=\"bash\">#!\/bin\/bash ~\/test_pi\/gdc -march=armv6j -mfpu=vfp -mfloat-abi=hard --sysroot=$RPIROOT -B$RPIROOT\/usr\/lib\/arm-linux-gnueabihf &quot;$@&quot; <\/code><\/pre>\n<p>  \u0422\u0443\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435: -march=armv6j -mfpu=vfp -mfloat-abi=hard \u2013 \u044d\u0442\u043e \u0444\u043b\u0430\u0433\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 Raspberry Pi. sysroot \u2014 \u0440\u0443\u0442 \u0434\u0435\u0432\u0430\u0439\u0441\u0430, -B \u2013 \u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043b\u0438\u0431, \u0443 \u043d\u0430\u0441 \u043e\u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0436\u0435 \u0434\u0435\u0432\u0430\u0439\u0441\u0435 \u0432 usr\/lib<br \/>  \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0430\u0432 \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">user@ubuntu:~\/test_pi$ chmod 777 gdc-rpi  user@ubuntu:~\/test_pi$ .\/gdc-rpi gdc: fatal error: no input files compilation terminated. <\/code><\/pre>\n<p>  \u0412\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0430 \u0431\u0438\u043b\u0434-\u043c\u0430\u0448\u0438\u043d\u0435 \u043d\u0443\u0436\u0435\u043d DUB (\u044d\u0442\u043e \u0431\u0438\u043b\u0434-\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438 \u0437\u0430 \u043e\u0434\u043d\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439). \u041a\u0430\u0447\u0430\u0435\u043c \u0438 \u0441\u0442\u0430\u0432\u0438\u043c \u0435\u0433\u043e \u043b\u044e\u0431\u044b\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c <a href=\"https:\/\/code.dlang.org\/download\">\u0437\u0434\u0435\u0441\u044c<\/a>.<br \/>  \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 vibe.d:  <\/p>\n<pre><code class=\"bash\">dub init -tvibe.d test_vibe_pi <\/code><\/pre>\n<p>  DUB \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043f\u0430\u043f\u043a\u0443 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0432\u043d\u0443\u0442\u0440\u0438. \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">cd test_vibe_pi\/ dub build --compiler=..\/gdc-rpi <\/code><\/pre>\n<p>  \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u043c\u0435\u0435\u043c \u0444\u0430\u0439\u043b\u0438\u043a test_vibe_pi. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0447\u0435\u0433\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 libcurl, \u0442\u043e \u0438\u0434\u0451\u043c \u043d\u0430 \u0434\u0435\u0432\u0430\u0439\u0441 \u0438 apt-get&#8217;\u043e\u043c \u0441\u0442\u0430\u0432\u0438\u043c \u0432\u0441\u0451 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435. \u0423 \u043c\u0435\u043d\u044f \u0443\u0436\u0435 \u0432\u0441\u0451 \u0431\u044b\u043b\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432.<br \/>  \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u0434\u0435\u0432\u0430\u0439\u0441 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">cp test_vibe_pi $RPIROOT\/home\/pi\/dlang <\/code><\/pre>\n<p>  \u041d\u0430 Raspberry Pi:  <\/p>\n<pre><code class=\"bash\">pi@raspberrypi:~\/dlang $ .\/test_vibe_pi Listening for requests on http:\/\/[::1]:8080\/ Listening for requests on http:\/\/127.0.0.1:8080\/ Please open http:\/\/127.0.0.1:8080\/ in your browser. <\/code><\/pre>\n<p>  \u0412\u0441\u0451, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442\u0438\u043a, \u043e\u0442\u0434\u0430\u044e\u0449\u0438\u0439 \u00abHello, World!\u00bb \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 <a href=\"http:\/\/127.0.0.1\">127.0.0.1<\/a>:8080\/, \u0433\u043e\u0442\u043e\u0432. <\/p>\n<h2>\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435<\/h2>\n<p>  \u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u0441\u0442\u043e\u043b\u044c \u0441\u043b\u0430\u0431\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u2014 \u043f\u043b\u043e\u0445\u0430\u044f \u0438\u0434\u0435\u044f, \u043d\u043e \u0438\u043d\u043e\u0433\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 \u0434\u0435\u0432\u0430\u0439\u0441 \u0432 \u0432\u0438\u0434\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432. GDC \u0434\u043b\u044f Raspberry \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439, \u043c\u043e\u0436\u043d\u043e \u0438\u0434\u0442\u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b ARM <a href=\"http:\/\/gdcproject.org\/downloads\">gdcproject.org\/downloads<\/a> \u0438 \u043a\u0430\u0447\u0430\u0442\u044c armhf \u0432\u0435\u0440\u0441\u0438\u044e. \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f DUB \u0438 \u0432\u043e\u0442 \u0435\u0433\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u044c \u0441 \u0441\u0430\u0439\u0442\u0430 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 Raspberry Pi B+.<br \/>  \u041a\u0430\u0447\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0441 \u0441\u0430\u0439\u0442\u0430 <a href=\"https:\/\/code.dlang.org\/download\">https:\/\/code.dlang.org\/download<\/a> (\u043c\u043e\u0436\u043d\u043e \u0441 \u0433\u0438\u0442\u0445\u0430\u0431\u0430, \u044d\u0442\u043e \u0443\u0436 \u043a\u0430\u043a \u0445\u043e\u0447\u0435\u0442\u0441\u044f). \u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c, \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u0435\u043c  <\/p>\n<pre><code class=\"bash\">user@ubuntu:~\/test_pi$ wget https:\/\/github.com\/rejectedsoftware\/dub\/archive\/v0.9.24.tar.gz user@ubuntu:~\/test_pi$ tar -xf v0.9.24.tar.gz  user@ubuntu:~\/test_pi$ mv dub-0.9.24\/ dub user@ubuntu:~\/test_pi$ cd dub <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0434 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c GDC \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442: build-gdc.sh. \u041e\u043d \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u0447\u0442\u043e gdc \u0435\u0441\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043b\u0438\u0431\u043e \u0437\u0430\u0434\u0430\u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f GDC. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e. \u041f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u0434\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430-\u0448\u043e\u0440\u0442\u043a\u0430\u0442\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">GDC=..\/gdc-rpi .\/build-gdc.sh  Generating version file... .\/build-gdc.sh: 15: .\/build-gdc.sh: git: not found Running ..\/gdc-rpi... DUB has been built as bin\/dub.  You may want to run sudo ln -s \/home\/user\/test_pi\/dub\/bin\/dub \/usr\/local\/bin now. <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u044d\u0442\u043e\u0442 \u0432\u044b\u0432\u043e\u0434 \u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438, \u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0439 DUB \u0434\u043b\u044f Raspberry Pi. \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043d\u0430 \u0434\u0435\u0432\u0430\u0439\u0441 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c.  <\/p>\n<pre><code class=\"bash\">user@ubuntu:~\/test_pi\/dub$ cd .. user@ubuntu:~\/test_pi$ cp dub\/bin\/dub rpi\/home\/pi\/dlang\/dub-test\/dub <\/code><\/pre>\n<p>  \u041d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435:  <\/p>\n<pre><code class=\"bash\">pi@raspberrypi:~\/dlang\/dub-test $ .\/dub  Neither a package description file, nor source\/app.d was found in \/home\/pi\/dlang\/dub-test Please run DUB from the root directory of an existing package, or run &quot;dub init --help&quot; to get information on creating a new package.  Failed to find a package named ''. <\/code><\/pre>\n<p>  DUB \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u0438 \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043f\u0430\u043f\u043a\u0435. \u041f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443 \u043d\u0430\u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0442, \u0430 \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u0430 \u2013 DUB \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 Raspberry Pi.<\/p>\n<p>  \u0412\u043e\u0442 \u0438 \u0432\u0441\u0451, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043d\u0430 D \u043f\u043e\u0434 Rapberry Pi. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u0415\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 MQTT \u0432 \u0432\u0438\u0434\u0435 <a href=\"http:\/\/code.dlang.org\/packages\/vibe-mqtt\">\u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/a> \u043a vibe.d, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e C \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443.               <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/278775\/\"> https:\/\/habrahabr.ru\/post\/278775\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c80\/673\/cc0\/c80673cc01b1448ea2ee5e434c431407.png\"\/><br \/>  Dlang, \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e D \u2014 \u043c\u043e\u043b\u043e\u0434\u043e\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439. \u041d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u044f\u0437\u044b\u043a \u0441 \u0442\u0430\u043a\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e, \u0442\u043e, \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f D2 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e D, \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438 \u0441\u043b\u0430\u0431\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u0430. \u041f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 D \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e, \u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 C++, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043e\u043d \u0434\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0434\u043e ARM \u0438 \u0435\u0433\u043e \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0435\u0439 Android \u0438 iOS. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0440\u0430\u0441\u0442\u0451\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443 \u0432\u0435\u0449\u0435\u0439 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0440\u0442\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c.<br \/>  \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u0440\u043e\u0441\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 dlang \u0434\u043b\u044f Raspberry Pi. \u0412 \u044d\u0442\u043e\u043c \u043d\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e, \u0434\u0430 \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043e. \u0414\u0430\u043d\u043d\u0430\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043c\u0430\u043d\u0443\u0430\u043b \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f D \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0432 \u0446\u0435\u043b\u043e\u043c \u0438 Raspberry Pi \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-275753","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=275753"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275753\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=275753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=275753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=275753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}