Home

Advertisement

Не люблю проприетарщину/покажи свои сорцы

> Recent Entries
> Archive
> Friends
> User Info

October 8th, 2009


05:28 pm - Работа не работается
$ make
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
  CALL    scripts/checksyscalls.sh
  CHK     include/linux/compile.h
  CC [M]  net/bridge/br_fdb.o
gcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [net/bridge/br_fdb.o] Error 1
make[1]: *** [net/bridge] Error 2
make: *** [net] Error 2

dmesg:

Out of memory: kill process 7902 (cc1) score 384229 or a child
Killed process 7902 (cc1)
А вот при Путинена 11-й Федоре такого не было...
Current Music: Marduk "Panzer Division Marduk" - Blooddawn
Tags:

(Leave a comment)

October 5th, 2009


09:31 pm - Fedora начинает рулить
Нет, Федора определённо Дебианом становится! Только спонсор пожирнее, с миллиардами. На волне разбиения буста на куски решил сделать yum list, посмотреть и перечислить, чего изменилось. Затею с перечислением пришлось бросить, ибо появилось просто вагон нового софта, типа SGI OpenInventor, языка Io, куча пакетов с Хаскеллем, для R больше 50 пакетов. Перечислять смысла нет, лучше самому посмотреть :)

В общем, дискуссии на федора-девел по поводу сосущих зависимостей определённо начинают приносить плоды - порнография начинает потихоньку выправляться.
Current Music: Cavalera Conspiracy - Dark ark
Tags: ,

(10 comments | Leave a comment)

09:16 pm - Guess what?
Вах! Сплошные сюрпизы! И все радостные!
$ yum list boost*
Loaded plugins: dellsysidplugin2
Installed Packages
boost-filesystem.x86_64                               1.39.0-6.fc12                          installed
boost-python.x86_64                                   1.39.0-6.fc12                          installed
boost-system.x86_64                                   1.39.0-6.fc12                          installed
boost-thread.x86_64                                   1.39.0-6.fc12                          installed
Available Packages
boost.x86_64                                          1.39.0-6.fc12                          rawhide  
boost-date-time.i686                                  1.39.0-6.fc12                          rawhide  
boost-date-time.x86_64                                1.39.0-6.fc12                          rawhide  
boost-devel.i686                                      1.39.0-6.fc12                          rawhide  
boost-devel.x86_64                                    1.39.0-6.fc12                          rawhide  
boost-doc.x86_64                                      1.39.0-6.fc12                          rawhide  
boost-filesystem.i686                                 1.39.0-6.fc12                          rawhide  
boost-graph.i686                                      1.39.0-6.fc12                          rawhide  
boost-graph.x86_64                                    1.39.0-6.fc12                          rawhide  
boost-iostreams.i686                                  1.39.0-6.fc12                          rawhide  
boost-iostreams.x86_64                                1.39.0-6.fc12                          rawhide  
boost-math.i686                                       1.39.0-6.fc12                          rawhide  
boost-math.x86_64                                     1.39.0-6.fc12                          rawhide  
boost-program-options.i686                            1.39.0-6.fc12                          rawhide  
boost-program-options.x86_64                          1.39.0-6.fc12                          rawhide  
boost-python.i686                                     1.39.0-6.fc12                          rawhide  
boost-regex.i686                                      1.39.0-6.fc12                          rawhide  
boost-regex.x86_64                                    1.39.0-6.fc12                          rawhide  
boost-serialization.i686                              1.39.0-6.fc12                          rawhide  
boost-serialization.x86_64                            1.39.0-6.fc12                          rawhide  
boost-signals.i686                                    1.39.0-6.fc12                          rawhide  
boost-signals.x86_64                                  1.39.0-6.fc12                          rawhide  
boost-static.x86_64                                   1.39.0-6.fc12                          rawhide  
boost-system.i686                                     1.39.0-6.fc12                          rawhide  
boost-test.i686                                       1.39.0-6.fc12                          rawhide  
boost-test.x86_64                                     1.39.0-6.fc12                          rawhide  
boost-thread.i686                                     1.39.0-6.fc12                          rawhide  
boost-wave.i686                                       1.39.0-6.fc12                          rawhide  
boost-wave.x86_64                                     1.39.0-6.fc12                          rawhide
А раньше одним мегаблобом было... Я даже twinkle хакал, чтобы он ppcre вместо boost::regex юзало.
Current Music: Cavalera Conspiracy - Sanctuary
Tags: ,

(3 comments | Leave a comment)

October 4th, 2009


08:37 pm - F12 Beta
В начале следующей недели 12-я Федора перейдёт в статус беты. Обычно это означает, что самым нетерпеливым можно апгрейдить свою систему без особого риска потерять зубы и волосы.

На этот раз я воспользовался рекомендуемым способом апгрейда: обновил fedora-release, поставил preupgrade и по собственной инициативе снёс все тяжёлые пакеты, а также всё 32-битное. К неимоверному удивлению, сам процесс апгрейда при помощи preupgrade прошёл без сучка и задоринки. Просто в менюшке выбрал "Rawhide", нажал Apply, подождал минут 10, готово!

В новой системе обнаружилось две с половиной траблы:

1. Селинукс мешал самосборному stumpwm запуститься, отказывая в mmap. По всей видимости, это MMAP_MIN_ADDR мешает, но точно ещё не смотрел. Временно setenforce 0. UPD: chcon --reference=/usr/bin/sbcl /path/to/stumpwm

2. С поддержкой Лиспа в Федоре[*] - проблема. Умудрились испортить чуть ли не единственный пакет - SBCL, обучив его по (lisp-implementation-version) ругаться "1.0.30-2.fc12". Какая-то из asdf-установленных библиотек (clx или cl-ppcre) такой финт не смогла распарсить. Буду жаловаться. Пока использую самосборный sbcl из хомяка. Это сам stumpwm не мог распарсить. Патч ниже.

3. Половина проблемы: StumpWM с новым X.org отказывается видеть префикс-кей на клавише-модификаторе (у меня он повешан на винкей). С этой проблемой я несколько месяцев назад сталкивался, пофиксил вот таким образом:
diff --git a/input.lisp b/input.lisp
index 989dbbb..9bfc63e 100644
--- a/input.lisp
+++ b/input.lisp
@@ -574,7 +574,7 @@ input (pressing Return), nil otherwise."
             mod1-codes
             mod2-codes
             mod3-codes
-            mod4-codes
+           (remove-if (lambda (x) (eql x 133)) mod4-codes) ; hack for buggy X in fc12
             mod5-codes)))
 
 (defun get-modifier-map ()
Про этот хак, естественно, уже успел забыть, но нагуглил собственный солюшен в интернетах =)

А так, неожиданно и очень гладко прямо-таки процесс прошёл. Даже бэкапный тарболл не понадобится, похоже.

* Кстати, окамловских пакетов и раньше дофигища было, а теперь и хаскеллевских вагон добавили. Судя по федоровской вики, будут даже специальный хаскеллевский спин дистрибутива делать. Жалко, что Лисп не так популярен...

UPD: Патч для злого SBCL
diff --git a/wrappers.lisp b/wrappers.lisp
index 5aa2426..aeaeb8a 100644
--- a/wrappers.lisp
+++ b/wrappers.lisp
@@ -261,7 +261,7 @@ they should be windows. So use this function to make a window out of them."
   ;; FIXME: seems like there ought to be a less cumbersome way to run
   ;; different code based on the version.
   #+sbcl (macrolet ((dir (p)
-                      (if (>= (parse-integer (third (split-seq (lisp-implementation-version) '(#\.))))
+                      (if (>= (parse-integer (third (split-seq (lisp-implementation-version) '(#\.))) :junk-allowed t)
                               24)
                           `(directory ,p :resolve-symlinks nil)
                           `(directory ,p))))

Current Music: Behexen "My Soul For His Glory" - Let the Horror and Chaos Come
Tags: ,

(9 comments | Leave a comment)

September 26th, 2009


04:15 am - Смерть кащея
Чтобы не мешать жене спать, отстегнул ноут от шнурков, ушёл в другое место. К вайфаю никак не удавалось подцепиться... Посмотрел в лог - не может загрузить бинарную прошивку. На счастье, на винте оказалась исошка с с альфой 12-й Федоры. Порядок действий для доставания прошивки:

1. Смонтировать образ в iso, найти образ в squashfs;
2. Смонтировать образ в squashfs, найти образ в ext3;
3. Смонтировать образ в ext3, найти прошивку.

Вместо 3-го пункта я ожидал поиск рпмки и доставание нужных файлов оттуда, но, на счастье, оказалось, что всё уже распаковано.

Вот. Думаю, что сборщики Федоры увлекаются русским народным фольклором. Особенно их вставил момент про сабж.
Current Music: NIL "NIL" - NIL
Tags:

(6 comments | Leave a comment)

September 22nd, 2009


04:51 pm - Что-то не так в датском королевстве...
Небесная Дискета! Смотрю в сорцы ядра FreeBSD и плакать хочется: до чего же просто, очевидно и ясно! Понятно, что по фичам всё гораздо скучнее, чем в Линуксе, но всё же...
Current Music: Mortician "Chainsaw Dismemberment" - Mater Tenebrarum
Tags: ,

(8 comments | Leave a comment)

September 21st, 2009


11:40 am - Console-Kit
$ ps ax -L | grep -c console-kit-daemon
64

Ж8-[   =   ]
Bad design as is...
Tags: ,

(7 comments | Leave a comment)

August 10th, 2009


03:58 pm - X11 proto sniffer
Подскажите, чем можно посмотреть ход общения между программой и иксами? Сейчас systemtap'ом ловлю обмен, но там pixmap'ы льются, выскребать непосредственно запросы ещё нужно. Есть какой-то xmon, но он древний, как г. мамонта, и требует такую же древнюю libsocket, которую я собирать не хочу.
Ответ: цепляйся tcp-сокетом, а не unix, и лови wireshark'ом :)
Tags:

(3 comments | Leave a comment)

July 5th, 2009


01:37 pm - Fedora rawhide опять умерла...
После yum update что-то такое обновилось (не glibc), что система начала на все команды выдавать ошибку, на хардварный poweroff не реагировала. Жёстко вырубил питание, на корневом ext4 похерилось две сотни inod'ов, системе пришёл капец. Отлично...

Загрузился с "живой" флешки с F11-beta, скачал dvd с F11, не нашёл на ней, как раньше, файла, который можно было сделать dd на флешку и загрузиться с неё. Оказалось, теперь нужно live-iso-to-disk запускать, но такого утиля на флешке не было. Ладно, сделал yum install, собрал инсталляционную флешку, загрузился с неё. При выборе места, где валяется образ дистрибутива, LVM'ом не пахнет, а у меня только /boot на отдельном разделе :-\ Отлично...

Гружусь обратно с "живой" флешки, но, блин, она, похоже, обновление корневого раздела, сделанного yum, не перенесла, образ умер. Отлично...

Гружусь в Дебиан, валяющийся на винте на всякий случай. Пишу образ F11 на диск, гружусь с него, начинаю установку. При нажатии на самый последний "Next", т.е. когда даже ненужные пакеты убраны, Анаконда падает. Хм... Бывает. Гружусь опять, делаю всё по-дефолту, только рутовому разделу ставлю галку "шифровать". Падает там же. Гружусь, делаю вообще всё по дефолту, падает на разбиении диска, потому что предыдущая установка что-то luks'ово-шифровательное прописала на раздел. Гружусь в дебиан, форматирую будущий рут, гружусь с dvd, делаю всё строго по дефолту. Падает. Отлично...

Достаю из загашника dvd с F11-Alfa, с которой раньше точно грузился и ставил систему. Теперь падает с kernel panic. Отлично...

Положил МПХ на Федору, загрузился в Дебиан, обновился до unstable (хомяк на ext4, нужно новое ядро), пока буду сидеть в нём. Проблемы с Федорой буду решать в рабочее время.
UPD: скопировал рут с другого ноутбука, на котором установлена бета 11-ки.
Current Music: Abigor "Nachthymnen (From The Twilight Kingdom)" - Unleashed Axe Age
Tags: ,

(14 comments | Leave a comment)

June 29th, 2009


03:22 pm
Вчера вернулись из отпуска. Ощущения от смены страны как-то притупились, особых чувств не было ни в том, ни в другом направлении. Ну, разве что, чистенький свеженький Аэробус в гораздо лучше старой вонючей ТУшки :)

Ноги за 2 недели без педалей атрофировались, ехать на работу как-то сложно даже в самом начале было. А раньше утром на старте как впедалишь... Надо тренироваться, восстанавливаться быстрей.

В Барнауле появилось много китайских велосипедов, выглядящих очень модно для непосвещённых. Почти все - "двухподвесы". Например, такой: к нижней трубе перпендикулярно приварена труба, к которой приварен стакан под седло. Всё вокруг обвешано мишурой, создающей видимость демпфера, но амортизации на заднем колесе вообще нет :) Или вот очень прочувствовался от двухподвеса с примерно похожим на правду демпфером, но с жёсткой вилкой =) Управляемости в тряске никакой, но зато, наверное, жопе мягко. Остальные бастарды сварены из гнутых всяко разно труб громадных размеров под немыслимыми углами друг к другу. Присутствуют декоративные трубки, типа выхлопы у мотоциклов и т.п. В веломагазинах продают всякие STELS и STARK, ещё и собранные как попало. Даже эксцентрики при сборке умудряются неправильно затянуть (не с той стороны, рычаг смотрит вниз). В общем, дикий рынок.

11-я Федора работает суперстабильно. Обновился до rawhide, всё хитромудро сломалось, полдня восстанавливал работоспособность.

Кстати, значение слова "безлимитный" у операторов связи в России (МТС) какое-то своё, особенное :)
Tags:

(2 comments | Leave a comment)

June 17th, 2009


11:51 pm - Performance counters
В ядре 2.6.31 появится новая подсистема мониторинга "Performance counters". Эта штука позволяет использовать аппаратные возможности процессоров для контроля над некоторыми аспектами исполнения кода (кол-во потреблённых циклов, попаданий в кэш и т.п.), а также для очень точного профилирования кода.

В -rc1 код уже смержен и его можно использовать. На скорую руку с использованием cffi накидал проверочную библиотеку:
* (require :perfcounters)

("PERFCOUNTERS")

* (in-package :perfcounters)

#<PACKAGE "PERFCOUNTERS">

* (time+ (time (compile-file "example.lisp")))

Evaluation took:
  0.062 seconds of real time
  0.060991 seconds of total run time (0.056991 user, 0.004000 system)
  [ Run times consist of 0.014 seconds GC time, and 0.047 seconds non-GC time. ]
  98.39% CPU
  41 forms interpreted
  89 lambdas converted
  135,805,483 processor cycles
  4,037,280 bytes consed
  
Performance monitor:
  76,656,816 CPU cycles consumed
  66,294,621 instructions executed
  3,622,533 cache hits
  114,287 cache misses
  6,105,628 branch instructions
  316,953 branch missess
  55,965,525 bus cycles
  
NIL
Вот такая клёвая штука, и это только малая часть возможностей! Теперь можно более детально вылизывать код, учитывая такие важные показатели, как отношение удачных/неудачных обращений в кэш и предсказаний условного перехода.

Надо будет спереть дизайн из демонстрационной утилиты linux-2.6/tools/perf, там много интересных игрушек сделано :)

UPD: http://repo.or.cz/w/perfcounters.git
Current Music: Enslaved "RUUN" - Essence
Tags: ,

(6 comments | Leave a comment)

January 22nd, 2009


09:20 pm - Fedora + selinux = -xdm
После переустановки системы у меня опять включился selinux, который я полгода назад временно выключил, а потом всё никак не решался включил обратно. Соответственно, на новой системе отвалился xdm (а также libvirt и много другой фигни): вместо "Welcome to ..." он писал "This session is unsecure", и попытки залогиниться приводили к перезапуску иксов. Оказалось, что это бага в xdm, вернее, в его неправильном федоровском пакетировании :-\ В рулесах selinux'а прописан правильный каталог для иксовых файлов авторизации /var/lib/xdm, но в конфиге xdm это никак не обозначено, поэтому xdm создавал нужные для него каталоги в /etc/X11/xdm, но selinux запрещал ему туда что-либо писать.
--- /etc/X11/xdm/xdm-config.orig        2009-01-22 21:12:06.000000000 +0100
+++ /etc/X11/xdm/xdm-config     2009-01-22 21:11:53.000000000 +0100
@@ -11,6 +11,7 @@
 
 
 
+DisplayManager.authDir:                /var/lib/xdm
 DisplayManager.errorLogFile:   /var/log/xdm.log
 DisplayManager.pidFile:                /var/run/xdm.pid
 DisplayManager.keyFile:                /etc/X11/xdm/xdm-keys

А также сам каталог:
mkdir /var/lib/xdm
restorecon /var/lib/xdm

Current Music: Xasthur "Suicide In Dark Serenity" - Suicide In Dark Serenity
Tags:

(Leave a comment)

January 9th, 2009


09:02 pm - kdump and s390
[root@rhel4 ~]# rpm -qi diskdumputils
Name        : diskdumputils                Relocations: (not relocatable)
Version     : 1.4.1                             Vendor: Red Hat, Inc.
Release     : 5                             Build Date: Tue 25 Mar 2008 04:34:07 PM CET
Install Date: Fri 25 Jul 2008 08:56:07 AM CEST      Build Host: hs20-bc2-2.build.redhat.com
Group       : System Environment/System     Source RPM: diskdumputils-1.4.1-5.src.rpm
Size        : 260258                           License: GPL
Signature   : DSA/SHA1, Tue 25 Mar 2008 05:32:23 PM CET, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Summary     : diskdump utilities
Description :
The diskdump utilities set up the kernel to save memory image to
the specified partition.
Сия вещь нужна, чтобы запаниковавшему ядру сбрасывать дамп памяти на диск для дальнешего ковыряния с помощью crash (мегавесчь!). Для всех поддерживаемых RHEL-4 платформ этот пакет есть, а для s390(x) нету. Первая мысль у меня была: "Неужто какая-то архитектурная особенность не даёт реализовать такую фичу?!". Ан нет, netdump для s390 есть (то же самое, только дамп по сети льёт), значит, дело в чём-то другом. Быстрое гугление по нашему сайту нашло страничку: http://kbase.redhat.com/faq/docs/DOC-3366. Т.е. kdump на s390 (на самом деле, z/Arch) не нужен по той причине, что такие вещи быстрее и удобнее делаются средствами гипервизора z/VM.
Current Music: 1349 "Beyond the Apocalypse" - Chasing Dragons
Tags: ,

(Leave a comment)

December 22nd, 2008


12:20 pm - Глюки с ACPI
В процессе разбирательств с Hercules заметил, что процессор вдруг перестал с 800 МГц на 2.2 ГГц переключаться, т.е. и так не шустрый эмулятор стал работать в 3 раза медленнее. В логах увидел такое:
Dec 20 23:56:23 gravicappa kernel: ACPI: EC: missing confirmations, switch off interrupt mode.
Dec 20 23:56:24 gravicappa kernel: ACPI Exception (evregion-0419): AE_TIME, Returned by Handler for [EmbeddedControl] [20080609]
Dec 20 23:56:24 gravicappa kernel: ACPI Error (psparse-0530): Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88007e350100), AE_TIME
Dec 20 23:56:24 gravicappa kernel: ACPI Error (psparse-0530): Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff88007e3ec240), AE_TIME
Dec 20 23:56:24 gravicappa kernel: ACPI Exception (processor_perflib-0145): AE_TIME, Evaluating _PPC [20080609]
На сколько я понимаю происходящее, DSDT тоже башню сносит.
Current Music: Khold "Krek" - Grepet Om Kniven
Tags:

(3 comments | Leave a comment)

July 28th, 2008


02:32 pm - 2.6.27
В 2.6.27 добавят возможность делать асинхронную загрузку (пробирование железа, запуск подсистем). Собрал последний x86-tip (экспериментальное дерево для x86, которое майнтейнит Инго Молнар), до появления надписи Welcome to Fedora ядро буквально за секунду доходит. Правда, в конфиге моего тестового ядра многое вырезано, но сам факт постоянного прогресса радует. Как результат, каждые пару недель ломается systemtap, приходится делать ему git pull и пересобирать :)
Current Music: Naglfar "Sheol" - Abysmal Descent
Tags: ,

(4 comments | Leave a comment)


> Go to Top
LiveJournal.com

Advertisement