Данная статья посвящена недавно вышедшему дистрибутиву Fedora Core.
В статье рассматриваются некоторые рекомендации и исправления
части найденых проблем, думаю, что эта статья будет многим интересна,
так как она затрагивает некоторую часть основных моментов.
Ну все примерно так и есть, но вот чем помешал Unicode? С ним проблем кромее ввода русских букв в консоли (70% разумно мыслящего населения планеты не нужного) нету.
Так это mc, а не консоль, а в консоли, я имею, ввиду командную строку, по русски все вводится. А редактор mc, да ну его на. vi самый лучший редактор для консоли.
>А нафига локаль то на кои менять. Это ж шаг назад!
А utf-8 это вперед? Мне много приходится работать с приложениями,
которые не могут работать с utf-8, тут уже был упомянут mc, но
он не единственный, можно перечесть много консольных приложений,
которые этого не могут, да и зачем в консоли utf-8? Для Х-ов
вообще фиолетово, что там у вас за локаль, KDE и GNOME2 давно
уникодные, как впрочем и все современные Х-ые приложения...
P.S. Устраивает utf-8, ради бога, а мне с ней возиться надоело,
да и чего плохово в том, что есть выбор? Ненравится, не ставь,
нравится, используй...
>Ну все примерно так и есть, но вот чем помешал Unicode? С ним проблем
>кромее ввода русских букв в консоли (70% разумно мыслящего
>населения планеты не нужного) нету.
Ну и как мне читать логи, в которых попадает мусор типа \200\204\305,
а ведь патч для syslog'а в RedHat посылался, и где это исправление?
Если бы это только единственная программа была, которая выдает
такой мусор.... Лично мое мнение, что ситуацию буржуи исправлять
не будут, у них то с латиницей, что UTF8, что не UTF8, проблем нет,
а наши кроме на самих себя расчитывать не приходится, вот поэтому
используя RH или FC, лучше ставить то, что давно отработано и сломать
сложно, а c utf8 пусть занимаются ASP/Alt Linux, а пока это сыро, да
и особо не нужно....
Все уже, кстати, заметили что в Mozilla из Fedora Core не работает "save link target as"? (та самая штука из которой выбирать куда сохранять скачиваемый файлик).
>Все уже, кстати, заметили что в Mozilla из Fedora Core не работает "save
>link target as"? (та самая штука из которой выбирать куда сохранять
>скачиваемый файлик).
Почему у меня с твоим pppd интерфейс с ppp не поднимается из-под wvdial
или kppp? Из-за доп. параметров? Нельзя ли еще доку для тупых, что
изменить, чтобы эти проги тоже работали?
> А utf-8 это вперед?
я считаю что для всех, не пользующихся латиницей как основным алфавитом - это маздай. Он сразу усложняет алгоритмы обработки и увеличивает документы в 1.5-2 раза. Сразу видно что это просто очередной ASCII (7-битный, если кто не в курсе). IMHo надо сразу переходить на UTF-16 - гемору в итоге меньше.
>Надо было в документ твой еще строчку добавить - как альсу под него
>собрать, чтобы она работала. А то пойдут опять вопросы.
>
>(т.е. о том, что в исходники ядра нужно положить пустой файлик
>touch include/linux/workqueue.h)
Зачем? Вроде все собирается и так, кроме одного места, которое
я исправил:
--- alsa-driver-0.9.8/drivers/serialmidi.c.orig 2003-09-24 20:41:33.000000000 +0400
+++ alsa-driver-0.9.8/drivers/serialmidi.c 2003-11-15 03:33:51.000000000 +0300
@@ -161,7 +161,7 @@
retval = -EIO;
goto __end;
}
- if (tty->count > 1) {
+ if (atomic_read(&(tty->count)) > 1) {
snd_printk(KERN_ERR "tty %s is already used", serial->sdev);
retval = -EBUSY;
goto __end;
?
Вообще-то обычная альса 0.9.8 и так нормально собиралась, просто
при инициализации модулей вылезала любимая ошибка про unresolved
symbols schedule_work.
Подскажите плиз,в каком пакете находиться файл /etc/sysconfig/prelink и какой файл и в каком пакете нужен cron'у для Prelinking?А то к АСПу ядро McMCC прикрутил,но этого ведь мало.
У меня тоже не заработало, пока nomppe не воткнул.
Ядро было стандартное fedora + патчи из твоего архива с пометкой
mc (кроме патча для lm_sensors - во-первых, у меня все равно их нет,
а во-вторых, почему-то с ними модули не собирались - копаться не стал).
Поддержка mppe собрана, modules.conf изменен.
P.S. Так получается, что работать сжатие не будет?
> а c utf8 пусть занимаются ASP/Alt Linux, а пока это сыро, да и особо не нужно....
Вот типичная позиция типичного линуксоида. Платить за нормальнный софт я не намерен, прилагать свои усилия к доведению до нармального состояния свободного софта я не буду - пусть другие горбатяться. Но зато пока другие работатют, а буду пиздить и корчить из себя крутого гуру.
>Вот типичная позиция типичного линуксоида. Платить за нормальнный
>софт я не намерен, прилагать свои усилия к доведению до нармального
>состояния свободного софта я не буду - пусть другие горбатяться. Но
>зато пока другие работатют, а буду пиздить и корчить из себя крутого
>гуру.
В чем же дело дорогой, вперед!!! Все что могу делать я, я делаю
и угрызение совести меня не мучает, а тебя?
>?
>Вообще-то обычная альса 0.9.8 и так нормально собиралась, просто
>при инициализации модулей вылезала любимая ошибка про unresolved
>symbols schedule_work.
2jackill: Давай ты напишешь дополнительный обзор по ALSA, я ее просто
не использую, но ошибку эту помню, так как мы ее в форуме
рассматривали, и помойму я даже патч под это дело описывал, просто
не думал, что и в 0.9.8 она тоже проявляется, если напишешь, то
мы дополнительно его в текст вставим, как закончишь, шли на email....
>У меня тоже не заработало, пока nomppe не воткнул.
Я ведь давал ссылку в статье на страницу автора этого патча, там
все написано про это, если не используешь MPPE, то надо ставить
nomppe, а MPPC с этим не связано, оно должно работать по любому...
Увидел линки на сокс пятый - хочу спросить - как предоставленные Вами пакеты учитывают то факт что насколько мне известно сокс-сервер под лин с давних пор перестал быть опен-сорс. У них только триальный сокскап можно скачать... Или что-то уже изменилось ?
>Вообще-то обычная альса 0.9.8 и так нормально собиралась, просто
>при инициализации модулей вылезала любимая ошибка про unresolved
>symbols schedule_work.
Да, действительно, после установки лезет такая фигня, но то как
ты советовал, создать пустой файл, это сверх неправильно! Ты
бы посмотрел, что ты предлагаешь для начало:)))), ты предлагаешь
уничтожить файл из-за того, что не собирается ALSA, а ведь для
ядра он нужен...
>Или у тебя есть какая-то особо хитрая?
Теперь есть, вот патч который решает проблему с unresolved
и с tty, только больше так не делай:))
--- alsa-driver/drivers/serialmidi.c.orig 2003-09-24 20:41:33.000000000 +0400
+++ alsa-driver/drivers/serialmidi.c 2003-11-15 03:33:51.000000000 +0300
@@ -161,7 +161,7 @@
retval = -EIO;
goto __end;
}
- if (tty->count > 1) {
+ if (atomic_read(&(tty->count)) > 1) {
snd_printk(KERN_ERR "tty %s is already used", serial->sdev);
retval = -EBUSY;
goto __end;
--- alsa-driver/include/adriver.h.orig 2003-10-12 20:39:45.000000000 +0400
+++ alsa-driver/include/adriver.h 2003-11-17 01:27:39.000000000 +0300
@@ -345,6 +345,8 @@
/* workqueue-alike; 2.5.45 */
#include <linux/workqueue.h>
+int snd_compat_schedule_work(struct work_struct *work);
+#define schedule_work(w) snd_compat_schedule_work(w)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 45) && !defined(__WORK_INITIALIZER)
struct work_struct {
void (*func)(void *);
>Увидел линки на сокс пятый - хочу спросить - как предоставленные Вами
>пакеты учитывают то факт что насколько мне известно сокс-сервер под
>лин с давних пор перестал быть опен-сорс. У них только триальный
>сокскап можно скачать... Или что-то уже изменилось ?
Это тот, который был раньше в свободном хождении, поэтому я его
и выложил, что они больше его не дают, но и не запрещают уже
когда-то розданное выкладывать....
А я посмотрел :)
Помнишь, я как-то месяца два назад спрашивал в форуме, как от этого
избавиться? Ты там еще в главный хидер предложил добавить четыре строчки
(навскидку не помню).
Короче говоря, я сначала так попробовал. Не работает.
Полез в гугл. Нашел в редхатовской рассылке такой ответ и сделал, как
они сказали (надо заметить, что файлика этого не было, так что я ничего
не уничтожал):
schedule_work is a new function for Linux that isn't available in all
distributions yet. Alsa uses schedule_work but checks for its presence to see
whether or not to actually use it.
If your kernel files contain the file include/linux/workqueue.h, then
alas-driver's ./configure will use that file when compiling alsa, expecting tha
t
schedule_work is available on the system.
If it doesn't find that file, it will use (or create) an
include/linux/workqueue.h file in the alsa-driver's source directories. Then
schedule_work will be defined in adriver.h if your kernel level is less than
2.5.45.
In my distribution of RedHat 9 which is kernel level 2.4.20-18, the kernel file
s
contain include/linux/workqueue.h but the function schedule_work isn't in the
kernel. It turns out alsa compiles but snd.o won't load properly because of th
e undefined symbol schedule_work.
The workaround I used has been mentioned in other posts. Namely, AFTER you run
./configure for alsa-driver, create an empty workqueue.h file, and then do the
make and make install. Here is a sample set of commands. Note that I redirect
the output to a file so I can check for errors.
[alsa-driver-N]$ ./configure
[alsa-driver-N]$ touch include/linux/workqueue.h
[alsa-driver-N]$ make > make.log
[alsa-driver-N]$ make install > makeinstall.log
If you have the schedule_work problem on your system, the makeinstall.log file
will contain a message about unresolved symbols in .../snd.o. If so, you can d
o
"make clean", do the touch, and then do the make and make install again.
After more time and frustration than I want to admit, I finally got alsa-0.9.4
working on Red Hat 9 with an Asus A7V8X-X motherboard. At least it works with
MythTV and "aplay -D hw:0,1 fn.wav" which is all I'm interested in. I kept
playing with alsamixer, modules.conf, and lots of other suggestions with no
success. The last thing I did was use alsaconf (you will find it in the
alsa-driver directory). After this both aplay and MythTV (using /dev/adsp as m
y
audio output device) played sound. (I haven't listened to it enough yet to
comment on the quality but initial sounds over cheap speakers seemed fine.)
My other suggestion is that you follow Alsa's installation instructions TO THE
LETTER. Deviate at your own risk. (Yes, I'm guilty.)
Только он это делает в исходниках ALSA, а не в исходниках ядра,
как ты предлагал... Разница вообще-то есть.... Но всеравно,
предложенный метод не совсем правильный, так как в ядровом
workqueue.h все уже есть, кроме переопределения schedule_work,
правильнее было бы сделать как
....
#include <linux/workqueue.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 45) && defined(__WORK_INITIALIZER)
int snd_compat_schedule_work(struct work_struct *work);
#define schedule_work(w) snd_compat_schedule_work(w)
#define RH_FC_LINUX 1
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 45) && !defined(__WORK_INITIALIZER)
...
а в serialmidi
#ifdef RH_FC_LINUX
if (atomic_read(&(tty->count)) > 1) {
#else
if (tty->count > 1) {
#endif
И закинуть такой патч разработчикам ALSA...