alogic: (war)
alogic ([personal profile] alogic) wrote2016-09-16 03:39 am
Entry tags:

Haskell и смартфон

Купил за $122 смартфон Lenovo K80M с 4Гб оперативки, 64Гб карты памяти и Intel процессором. Везли из Китая почти месяц. Вот, думал, теперь можно будет Haskell компилировать сколько хочешь. Планшет Dell Venue 7 со своим 1Гб уже не тянет. Однако, не тут то было. Поставил GNU Root Debian, но все сборки GHC - 7.8.4, 7.10.3, 8.0.1 - выдают:

ghc: failed to create OS thread: Cannot allocate memory

В Гугле говорят про какой-то SELinux и что это из-за него. Так что осталась надежда, что получив права root проблему можно будет решить.

Update: Проблему решило
ulimit -s 820000

[identity profile] link0ff.livejournal.com 2016-09-16 07:17 pm (UTC)(link)
У меня был смартфон Lenovo ровно 10 лет назад - единственным недостатком было отсутствие Андроида в то время :)

Насчет "Cannot allocate memory" у меня была такая проблема, когда я запускал Erlang на shared hosting виртуалке. Чтобы разобраться в проблеме, я скомпилировал виртуальную машину Erlang, запустил под дебаггером, и выяснилось, что проблема в значениях ulimit! Попробуй поднять все лимиты "ulimit -a", и у тебя должно получиться запустить GHC.

[identity profile] alogic.livejournal.com 2016-09-17 05:24 am (UTC)(link)
Спасибо! Как ни странно, сработало понижение. Там стояло 2359296, а запустилось при
ulimit -s 820000

Ещё `git` ошибку с тредами выдавал. Пришлось сделать
git config --global pack.threads "1"

[identity profile] link0ff.livejournal.com 2016-09-17 09:49 am (UTC)(link)
Может логика такая: меньше памяти для стека - при том же общем размере даёт больше памяти для кучи (heap).

[identity profile] alogic.livejournal.com 2016-09-18 05:52 am (UTC)(link)
Очень может быть. Посмотрел, кстати, что дают на бесплатном сервере https://sagemath.com -- какие-то скромные 8Мб под стек и всё отлично компилиуется.
Edited 2016-09-18 05:52 (UTC)

[identity profile] andy-shev.livejournal.com 2016-10-07 10:08 pm (UTC)(link)
О, слушай, а ты можешь там позапускать всякие интересные команды? Там по идее Moorefield, которого у меня под рукой нет.

Хочется на нём upstream ядро поднять.

[identity profile] andy-shev.livejournal.com 2016-10-07 10:09 pm (UTC)(link)
И да, ссылку на продавца / лот?

[identity profile] alogic.livejournal.com 2016-10-08 12:27 pm (UTC)(link)
Вот тут скидка была
http://www.gearbest.com/cell-phones/pp_281634.html

Давай команды, самому интересно.

[identity profile] andy shevchenko (from livejournal.com) 2016-12-20 05:47 pm (UTC)(link)
У меня вот рядом уже месяц такой телефон лежит, бесполезный кусок железа. Lenovo -- невероятные козлы.

Придётся теперь покупать Zf2.

А команды простые,
lspci -vv -nk -xxx
cat /proc/interrupts

[identity profile] alogic.livejournal.com 2016-12-21 03:25 am (UTC)(link)
И ты молчал о том, что ты там с ним делал? Нехорошо. :)
Если что, с моего телефона инфа здесь
https://github.com/alogic0/blog/tree/master/LENOVOK80M
Edited 2016-12-21 04:24 (UTC)