Fram
Про ошибки при сборке folly тут можно спрашивать?)
🦥Alex Fails
да
Vladislav
я только через час смогу ответить, за рулем
Fram
Собираю proxygen На шаге sudo ./deps.sh вот такое /bin/bash ./libtool --tag=CXX --mode=link g++ -std=gnu++1y -g -O2 -lboost_context -lboost_program_options -lboost_thread -lboost_filesystem -lboost_system -lboost_regex -lpthread -lboost_chrono -lssl -lcrypto -o generate_fingerprint_tables build/GenerateFingerprintTables.o libfollybase.la -lbz2 -llzma -lz -lsnappy -ldl -levent -ldouble-conversion -lglog -lgflags libtool: link: g++ -std=gnu++1y -g -O2 -o generate_fingerprint_tables build/GenerateFingerprintTables.o ./.libs/libfollybase.a -lboost_context -lboost_program_options -lboost_thread -lboost_filesystem -lboost_system -lboost_regex -lpthread -lboost_chrono -lssl -lcrypto -lbz2 -llzma -lz -lsnappy -ldl -levent -ldouble-conversion -lglog -lgflags build/GenerateFingerprintTables.o: In function `std::string* google::MakeCheckOpString<unsigned int, unsigned long long>(unsigned int const&, unsigned long long const&, char const*)': /usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()' ./.libs/libfollybase.a(Conv.o): In function `std::string* google::MakeCheckOpString<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const*)': /usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()' ./.libs/libfollybase.a(Format.o): In function `std::string* google::MakeCheckOpString<int, int>(int const&, int const&, char const*)': /usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()' collect2: error: ld returned 1 exit status На гитхабе советуют установить glog - установлен, cmake - тоже G++ 4.9.4 Ubuntu 16.04 x86_64
Anonymous
версия glog возможно несовместима или что-то в этом роде
Anonymous
если этот google::base::CheckOpMessageBuilder в glog
Anonymous
то может там его как-нибудь ренеймнули или что-то в этом роде
Anonymous
иди issue оформляй
Anonymous
не ну, сначала пройдись внимательно по инструкциям по сборке, вдруг что-то пропустил
Anonymous
если я правильно понял, чем ты там вообще занимаешься
Ivan
Зачем может понадобиться писать так: http://ideone.com/1wSuY7
Anonymous
думаю да
Anonymous
это единственный способ поймать исключения в списке инициализации в конструкторе класса
Anonymous
другого практического применения не знаю
Vladislav
Собираю proxygen На шаге sudo ./deps.sh вот такое /bin/bash ./libtool --tag=CXX --mode=link g++ -std=gnu++1y -g -O2 -lboost_context -lboost_program_options -lboost_thread -lboost_filesystem -lboost_system -lboost_regex -lpthread -lboost_chrono -lssl -lcrypto -o generate_fingerprint_tables build/GenerateFingerprintTables.o libfollybase.la -lbz2 -llzma -lz -lsnappy -ldl -levent -ldouble-conversion -lglog -lgflags libtool: link: g++ -std=gnu++1y -g -O2 -o generate_fingerprint_tables build/GenerateFingerprintTables.o ./.libs/libfollybase.a -lboost_context -lboost_program_options -lboost_thread -lboost_filesystem -lboost_system -lboost_regex -lpthread -lboost_chrono -lssl -lcrypto -lbz2 -llzma -lz -lsnappy -ldl -levent -ldouble-conversion -lglog -lgflags build/GenerateFingerprintTables.o: In function `std::string* google::MakeCheckOpString<unsigned int, unsigned long long>(unsigned int const&, unsigned long long const&, char const*)': /usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()' ./.libs/libfollybase.a(Conv.o): In function `std::string* google::MakeCheckOpString<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const*)': /usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()' ./.libs/libfollybase.a(Format.o): In function `std::string* google::MakeCheckOpString<int, int>(int const&, int const&, char const*)': /usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()' collect2: error: ld returned 1 exit status На гитхабе советуют установить glog - установлен, cmake - тоже G++ 4.9.4 Ubuntu 16.04 x86_64
Вангую что либа и хедеры разных версий
Vladislav
Glog
Anonymous
правда всегда удивляюсь, как оно так может получиться
Anonymous
хотя... чтобы понять, достаточно задуматься
Ivan
Почему нельзя внутри функции написать try {...
Ivan
В чём разница?
Anonymous
Почему нельзя внутри функции написать try {...
в контексте функции — разницы нет
Anonymous
сейчас, погоди, пример настрочу
Anonymous
надо, потомкам будет
Ivan
http://ideone.com/pNIETH вот
Anonymous
тут показывается не то, что я имел ввиду...
Anonymous
http://ideone.com/wk6lLU
Ivan
Эх, что-то не ловится
Anonymous
а должно
Ivan
Не-а
Anonymous
а, кажется... черт знает, если честно)
Ivan
What's less obvious, but clearly stated in the standard, is that if the catch block does not throw (either rethrow the original exception, or throw something new), and control reaches the end of the catch block of a constructor or destructor, then the original exception is automatically rethrown.
Anonymous
интересно
Ivan
Там вроде вызывается ещё одно исключение
Ivan
http://www.gotw.ca/gotw/066.htm
Alexander
Да
барух в чатике про cpp :) так скоро и господин Бугаенко подтянется, расскажет что такое ооп в крестах и как оно убого на самом деле :)
Alexander
в джава мире вроде зерно уже посеяно)
Alexander
интересный mental leap. Егору-то что здесь делать?
ну рассказать о тщетности объектно ориентированного бытия в мире крестов и направить на путь elegant objects :) а так - шучу конечно
Arseny
Судя по гуглу, речь о таком: https://github.com/yegor256/eo
JBáruch
don't ask
JBáruch
вам тут его не надо
JBáruch
секта единственно верного ООП (на самом деле - ФП на объектах). Та еще ересь.
JBáruch
шопиздец
JBáruch
такое
Vladislav
секта единственно верного ООП (на самом деле - ФП на объектах). Та еще ересь.
причем без GC (?). Бывают вообще ФП-языки без сборки мусора?
Berkus
> We want EO to be compilable to Java. We want to stay as close to Java and JVM as possible, mostly in order to re-use the eco-system and libraries already available. кек
JBáruch
Vladislav
это ты откуда взял? на JVM же, с GC значит
> These things we don't tolerate: > garbage collection (huh?)
JBáruch
я его интервьюировал. Народ должен знать своих героев. На самом деле он парень хороший, только ебанутый.
Vladislav
взаимоисключающие параграфы, да
JBáruch
> These things we don't tolerate: > garbage collection (huh?)
don't ask. Посмотрим как они будут выпиливать GC из JVM, и как им потом это понравится
Berkus
и пример hello world отличный, оверхед на импорты - 46%
Berkus
"Average one-liner in Java is 22 lines of code" ага
JBáruch
и пример hello world отличный, оверхед на импорты - 46%
импорты - совсем не главная проблема (их не видно, и в байткоде их вообще нет)
Berkus
в байт код мне смотреть не надо, если язык нормальный
Berkus
> A type may have one to four method declarations. dafuq?
Alexander
я его интервьюировал. Народ должен знать своих героев. На самом деле он парень хороший, только ебанутый.
да норм он чувак, может конечно в некторых моментах отродоксанльно ведет себя, но много хороших вещей говорит. Кстати речь в EO не только о JVM имплементации компилятора, JVM выбрана просто чтобы с чего начать, ну типа много либ там готовых и тд
JBáruch
JBáruch
в байт код мне смотреть не надо, если язык нормальный
ну тогда вообще какая разница сколько там импортов
JBáruch
Alexander
> A type may have one to four method declarations. dafuq?
по мне так имеет смысл, больше аргументов - сигнал о смысловой перегрузке скоупа
Ioann_
Ссылку если не сложно
Berkus
ну тогда вообще какая разница сколько там импортов
ну вот открыл ты файл а там 500 строк импортов, нафига ж
🦥Alex Fails
Вот Саша скинул
Berkus
по мне так имеет смысл, больше аргументов - сигнал о смысловой перегрузке скоупа
ну не знаю, тип в котором максимум четыре операции ты даже инт обычный не сможешь сделать )
Alexander
ну не знаю, тип в котором максимум четыре операции ты даже инт обычный не сможешь сделать )
не 4 операции а 4 аргумента в функции / конструкторе. Больше и не надо, есть же композиция
Alexander
а ну да, видать о методах тоже добавили)))
Alexander
ну опять же - композиция
Berkus
а по-моему - хуепозиция
JBáruch
позвать вам сюда Егора? :)