Показаны сообщения с ярлыком Gentoo. Показать все сообщения
Показаны сообщения с ярлыком Gentoo. Показать все сообщения

2/15/2012

libreoffice + Gentoo = SIGILL

Ну вот как так можно собирать libreoffice-bin чтобы он падал по SIGILL?
После очередного обновления он именно этим и начал заниматься.


После расследования оказалось что падает при попытке исполнения инструкции vmovsd, которая является SIMD инструкцией AVX расширения процессора Intel и  на моем процессоре не поддерживается.

Багрепорт и немного расследования:
https://bugs.gentoo.org/show_bug.cgi?id=403931

Лечится сборкой LO из исходников или откатом на предыдущую версию.

2/01/2012

Linux_x86_64 и Skype

21 век на дворе а skype до сих пор не распространяется для 64-х битных
линуксов.
Постоянно приходится извращаться, потому что при каждом обновлении в Gentoo появляются проблемы с камерой и каждый раз при обновлении
приходится добавлять в /usr/bin/skype вот такую строчку:

export LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so

Чего-то надоело уже.

Может кто знает, чем его можно заменить, но так, чтобы было возможность общаться с контактами из skype'а?
Есть какой нибудь транспорт, как например в xmpp?

p.s. Пост был  из будущего

6/18/2011

Gentoo, Firefox и NS plugin wrapper.

Не забудьте после очередного обновления nspluginwrapper в Gentoo до версии 1.4.2 выполнить команду:

nspluginwrapper -i /opt/Adobe/flash-player32/plugin/libflashplayer.so

Иначе, у вас перестанет работать flash плагин.

9/11/2010

KDE 4.5.1 в Gentoo

Ура, в дерево portage в Gentoo Linux наконец то добавили новую версию KDE: KDE-4.5.1.

Только что обновился. Пересобрать  пришлось 151 пакет.
Вся перекомпиляция максимум заняла пару часов.

Из новшеств можно отметить следующее:
1. Область уведомлений работает удобней, красивше и адекватней :-)
2. Сделали нормальный интерфейс для управления настроками, разместив все на основной вкладке программы.
3. Добавились всякие новый плазмоиды.

9/07/2010

Gentoo : dbus-glib

После очередного обновления в Gentoo, похоже обновился dbus или же-что то с ним связанное.
И всякие приложения, использующие dbus начали падать. Вот так:

>pidgin
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pygst.py", line 28, in
    import sys
KeyError: 'pygst'
process 5938: arguments to dbus_connection_ref() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 2556.
This is normally a bug in some application using the D-Bus library.
  D-Bus not built with -rdynamic so unable to print a backtrace
Аварийный останов



Оказалось все просто. Нужно сделать emerge dbus-glib и все начнет работать.

4/28/2010

Gprbuild, xmlada для дистрибутивов Debian/Ubuntu и Gentoo Linux.

Привет.
Я подготовил пакеты QtAda (www.qtada.com), gprbuild, xmlada для дистрибутивов Debian/Ubuntu и Gentoo Linux.

Для Gentoo Linux  я создал спецальный оверлэй ada-overlay. В неместь ebuild файлы для
gnat-gcc-4.4.3, gprbuild, xmlada и qtada. Запакованный оверлэй можно скачать отсюда:

    https://sourceforge.net/projects/qtada/files/Gentoo/ada-overlay.tar.bz2/download

Для Debian и Ubun Linux я создал .deb пакеты дял gprbuild, xmlada и qtada.

gprbuild package:
    https://sourceforge.net/projects/qtada/files/Debian/gprbuild_1.3.0-1_i386.deb/download

xmlada package:
    https://sourceforge.net/projects/qtada/files/Debian/libxmlada-dev_4.3.1-1_i386.deb/download

qtada package:
https://sourceforge.net/projects/qtada/files/Debian/qtada-dev_3.0.0-1_i386.deb/download

P.S. Не обращайте внимание на имя проекта, которо отображается при скачивании =)

4/04/2010

gnat-gcc-4.4.3 в Gentoo Linux.

Кому интересно, я добавил ebuild для компилятора ады gnat-gcc-4.4.3 в gentoo Linux.
Теперь буду его тестировать.
Также планирую обновить пакеты xmlada и добавить пакет gprbuild.

Распределенная компиляция: Gentoo Ubuntu и distcc

На моей домашней машине стоит Gentoo Linux, а это значит я постоянно там что нибудь компиляю. Так вот я уже много всяких штук перепробовал для ускорения компиляции, таких как ccache, компиляция в оперативной памяти. И вот недавно, в связи с приобретением ноутбука, появилась возможность установить и настроить distcc для распределенной компиляции.

Итак что мы имеем:

1. Desktop :
  • AMD Athlon (tm) 64 3000+, 2 гб. оперативной памяти.
  • Gentoo Linux x86_64, 2.6.33 - linux kernel, gcc version 4.4.3
2. Laptop :
  • Intel(r) Core(tm) i3 CPU M 330, 2.13GHz, 3 гб. оперативной памяти.
  • Ubuntu Linux x86_64, 2.6.33 - linux kernel, gcc version 4.4.3
Для того, чтобы собранные с помощью distcc бинарники работали, необходимо, чтобы
первые две цифры в версии компилятора были одинаковыми.

Настройка Ubuntu.
Устанавливаем компиляторы и distcc:

sudo apt-get install gcc g++ distcc

Затем добавляем в файл /etc/distcc/hosts адрес хоста, на котором можно запускать кrомпиляцию и через "/" максимальное количество потоков, которое способен принять для компиляции компьютер:

echo "192.168.2.1/2" > /etc/distcc/hosts

Далее нужно настроить демон distcc который будет принимать файлы для компиляции от Desktop компьютера. Для этого редактируем файл /etc/default/distcc где устанавливаем какой интерфейс слушать, сколько работ может принимать хост для компляции и т.д. Вот пример моего файла конфигурации:

STARTDISTCC="true"
ALLOWEDNETS="127.0.0.1 192.168.2.1"
LISTENER="192.168.2.2"
NICE="10"
JOBS="4"

После этого запускаем демон distcc:

/etc/init.d/distcc start

Настройка Gentoo.
Устанавливаем distcc :

emerge -v distcc

Указываем список хостов, на которые передавать данные для компиляции и количество потоков:

/usr/bin/distcc-config --set-hosts "
192.168.2.1/2 192.168.2.2/4"

настраиваем демон distcc, добавляя в файл /etc/conf.d/distccd следующие строки:

DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.2.2"
DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.2.1"
DISTCCD_OPTS="${DISTCCD_OPTS} --jobs 2"


запускаем distcc:

/etc/init.d/distccd start

Для того, чтобы проверить, что все настроено правильно добавляем в Gentoo в файл /etc/make.conf строчку:

FEATURES="distcc"

и пробуем собрать какой нибудь пакет:

emerge dev-libs/glib

И в то же самое время, смотрим на Ubuntu файл логов distcc. Если все работает нормально, то сообщения должны быть примерно такими:

distccd[5791] (dcc_job_summary) client: 192.168.2.1:55352 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:67ms x86_64-pc-linux-gnu-gcc /var/tmp/ccache/api.tmp.ZION.23853.i

Возможные проблемы.

Я столкнулся со следующей проблемой. В логах на машине с Ubuntu у меня появлялась строчка:

distccd[4506] (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-g++: No such file or directory.

Это сообщение появлялось из за того, что в Gentoo компилятор называется x86_64-pc-linux-gnu-g++ а в Ubuntu x86_64-linux-gnu-g++.
Чтобы это вылечить, нужно создать в каталоге /usr/bin/ символическую ссылку:

ln -s g++ x86_64-pc-linux-gnu-g++

10/27/2008

Ускорение компиляции пакетов в Gentoo.

Как советует gentoo-wiki.org для ускорения компиляции софта в make.conf следует добавить такие строки:

CC="gcc-4.1.2"
CXX="g++-4.1.2"
MAKEOPTS="-j2"

первые две - для ускорения вызова GCC, хотя это наверное сомнительно, ведь скорее всего скрипт configure должен правлиьно определять настоящее имя компилятора.
Ну а последняя опция - для запуска компиляции в несколько потоков.
Вот собственно и все.
P.S. сегодян обновил portage до версии 2.2-rc12.
Полет нормальный ))

Так же для ускорения поиска пакетов по имени и информации рекомендую установить прогармму esearch.

8/24/2008

Сага о MTU, iptables и провайдерах...

Есть значит у меня комптьютер, подключенный к интернету через USB модем. Понадобилось мне превратить мой компьютер в роутер, и дать доступ через NAT к интернету всей подсети, весящей на интерфейсе eth0 (192.168.0.0/24).
Как я всегда думал настройка NAT выполняется с помощью магической команды iptables:
/sbin/iptables -t nat -F POSTROUTING; /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/24 -j SNAT --to-source xxx.xxx.xxx.xxx
Однако, ж вопреки моим ожиданиям инет на клиенте так и не заработал, причем не работал он весьма странным образом. ping до сайтов ходил, имена сайтов резолвились, curl загружал страничики, но на этом все и заканчивалось.
Ни firefox, ни icq, ни links никто не мог ничего открыть. Такие симтомы в моей практике встречались впервые. Все говорило о том что tcp/ip работал как то не так.
Запустив wireshark я убедился что, действительно, в сети наблюдается куча неправильных tcp/ip пакетов. Вопрос был почему???
Оказалось, что при MTU установленном в значение, меньшее 1500, некоторые провайдеры болкируют фрагментированные ICMP пакеты, и с сетью начинает происходить что то странное и не понятное. Мой провайдер был именно из таких.
Лечится это все двумя способами:
1. увеличить MTU на интерфейсе, смотрящев в интернет.
или
2. необходимое правило для iptables:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Решение было подсмотренно Здесь