
Виталий
22.06.2018
05:27:28
хм, надо или что-то установить, или что-то удалить)) осталось разобраться что именно)) и тут выяснится (возможно) почему dlangide не компилится)
арч вообще свеженький, две недели назад накатал)

Maxim
22.06.2018
05:29:14
ну, по логу-то понятно, что происходилт: линкер не может найти символы из-за того, что либо библиотека не установлена, либо ее не указали линкеру
и копать в этом направлении надо

Google

Maxim
22.06.2018
05:29:50
libssl и libcrypto имеется в виду

Виталий
22.06.2018
05:30:32
libssl: /usr/lib/libssl3.so /usr/lib/libssl.so
libcrypto: /usr/lib/libcrypto.so

Stepanos
22.06.2018
05:31:13
:) круто вам, у вас есть время арч ставить/обновлять

Виталий
22.06.2018
05:31:53
ssd ставишь на ноут, и времени много не уходит)

Evil
22.06.2018
05:32:18

Stepanos
22.06.2018
05:32:53
у меня на одной тачке 14.04 убунту, еще на двох 16.04, обновлять некогда

Maxim
22.06.2018
05:33:20

Виталий
22.06.2018
05:33:37

Evil
22.06.2018
05:34:43

Виталий
22.06.2018
05:34:45
в обед попробую на макоси, может это я проклят кривыми руками)
теоретически можно вбить dub fetch vibe.d и самому ручками написать рабочий пример,

Google

Dmitry
22.06.2018
05:48:19
Че там с libev, не нашли причину зависаний?
Я тут попробовал аналогичную прогу (сервер, отвечающий на все запросы HTTP заголовком и телом "ОК") сделать на Pony. Исходник в 4 раза короче (ибо не такой низкоуровневый), бинарник в 6-7 раз меньше (чем DMD делает) - сто с лишним КБ. Работает без зависаний, скорость похожая (вроде 27k RPS на моем ноуте).
https://gist.github.com/thedeemon/bbeaa06fe6768c7315a638fafee9cd28
Но памяти ест заметно больше, и latency в среднем похуже.
Обе проги, с исходниками и линуксовыми бинарниками:
http://stuff.thedeemon.com/okserver/

Evil
22.06.2018
05:53:47
dub build -v 2>&1|grep 'dmd '
Вот что покажет точно запуск компилятора

Виталий
22.06.2018
06:05:14
dub init td vibe-d - у меня создает хелловорлд под названием td, который в любом случае компилиться
import vibe.vibe;
void main()
{
auto settings = new HTTPServerSettings;
settings.port = 8080;
settings.bindAddresses = ["::1", "127.0.0.1"];
listenHTTP(settings, &hello);
logInfo("Please open http://127.0.0.1:8080/ in your browser.");
runApplication();
}
void hello(HTTPServerRequest req, HTTPServerResponse res)
{
res.writeBody("Hello, World!");
}
в таким кодом не хочет
здесь в телеграмме кстати код как-то можно форматировать?

Evil
22.06.2018
06:15:48
Сингл ` для инлайна и трипл для текста

Виталий
22.06.2018
06:19:07

Evil
22.06.2018
06:20:17

Виталий
22.06.2018
06:27:00
болит пример vibe)))
на макосе все прекрасно собралось?

Google

Виталий
22.06.2018
06:28:07
аааааааааааааааааааааарч, за чтоооооооооооо?????????

Evil
22.06.2018
06:29:36

Виталий
22.06.2018
06:30:13
Та млин, нафиг такое счастье????

Evil
22.06.2018
06:30:32

Виталий
22.06.2018
06:30:35
Из всех операционное так подводит самая любимая

Evil
22.06.2018
06:30:55
Это даб говно
Вот
https://github.com/vibe-d/vibe.d/issues/1748
А вот и решение

Dmitry
22.06.2018
06:48:48
Даб надо научить на ненайденный openssl ругаться

Dmitry
22.06.2018
06:48:53
Частая ошибка

Evil
22.06.2018
06:49:38
Это система сборки, а не компилятор

Виталий
22.06.2018
06:53:52
Linking...
/usr/bin/ld: cannot find -lssl.so
/usr/bin/ld: cannot find -lcrypto.so
пробовал уже до того как сюда писать

Evil
22.06.2018
06:55:52

Виталий
22.06.2018
06:55:56
твою ж.... минус в начале строчки означал убрать строку, плюс оставить

Evil
22.06.2018
06:56:30

Google

Виталий
22.06.2018
06:56:50
должно быть:

Admin
ERROR: S client not available

Виталий
22.06.2018
06:56:52
dub.json:
....
"libs-posix": [
":libssl.so.1.0.0",
":libcrypto.so.1.0.0"
],
....
очень надеюсь что это только в vibe и больше нигде такого гемороя не будет))) а ну и dlangide исчо, но больше нигде надеюсь не будет))))
ну, что можно меня поздравить с первым рабочим примером сложнее hello world))))

Evil
22.06.2018
07:01:32

Виталий
22.06.2018
07:40:23
Дааааааааааааааа
нашел решение проблемы: https://github.com/vibe-d/vibe.d
dub.json
{
...
"dependencies": {
...
"vibe-d:tls": "*"
},
"subConfigurations": {
...
"vibe-d:tls": "openssl-1.1"
}
}
помогает еще лучше с учетом "официального ответа", но млин для того чтобы его найти надо было заходить на гитхаб((((

Oleg
22.06.2018
09:34:57
это частая проблема, как я понял?
или это чисто с арчем вопрос?

Виталий
22.06.2018
09:49:46
Я как бы третий день его только изучаю))) скорее с арчем судя по всему

Pavel
22.06.2018
10:20:10

Виталий
22.06.2018
10:47:38

Pavel
22.06.2018
10:48:29
Это самый простой путь
Никаких возней с библиотеками, все работает

Eto
22.06.2018
11:43:30

Google

Stepanos
22.06.2018
11:48:31

Dmitry
22.06.2018
12:11:22
Объясните простыми словами или дайте ссылку на статью про "композицию" в програмировании. В контексте композиция vs наследование
мне суть композиции не понятна, а статьи какие-то мутные все

Maxim
22.06.2018
12:13:31
самыми простыми словами: вместо наследования в объекте создаешь другой объект и манипулируешь им)

Dmitry
22.06.2018
12:15:10
копию объекта?

Eto
22.06.2018
12:15:43

Maxim
22.06.2018
12:20:28
копию объекта?
в каком плане копию? есть у тебя объект, который внутри себя создает другие объекты, а методы этого базового объекта просто вызывают методы созданных внутри объектов, «делегируя» им работу
таким образом создается некая композиция объектов)
ну это самый примитивный способ, дальше там можно наворотить всяких интерфейсов, DI, то-сё, пятое-десятое

Pavel
22.06.2018
12:49:30
композиция - это когда какая-то херня сама состоит из других более мелких херней