У меня ALTLinix Master 2.4 (на сервере) ничего не компилилось ..на моем десктопе ASPLinux 10. (все прошло без ошибок)А в результате выяснилось что причина в другом... вот тебе решение...
Спасибо доброму человеку! Репала В.В. http://repalo.narod.ru/Moxa.html
А насчет последнего твоего вопроса.. "что это может быть" - это может быть (то, что разработчики твоего дистрибутива при компилировании ядра не включили в него опции
`pci_resource_start' `pci_resource_len' .
- это текст той статьи.
Как я "трахался" с Moxa Smartio C168H/PCI под линукс Mandrake версий (кажется) 9.2 и 10.0
Я, конечно, в шоке проблема была такой простой, а я её не мог решить так долго!.
Есть у нас старенькая мультипортовка Moxa Smartio C168H/PCI, которая верой и правдой служила нам "долгие годы" под ранними версиями Линуксов. С сайта мохи я давным-давно скачал инсталляцию драйвера (mxser.tgz)и с тех пор - горя не знал. После каждой (штатной/нештатной) переустановки линукса я спокойненько перекомпилировал этот драйвер, создавал файлы устройств /dev/ttyM0, /dev/ttyM1, ... /dev/ttyM7 и наслаждался работой на нескольких портах. Но вот настал чёрный день, и я установил линукс Mandrake 9.2. Спокойненько начал перекомпилировать драйвер для моей моксы и был сильно удивлён количеством ошибок на экране. Не к моей чести будет сказано, я не особо разобрался почему так получилось - похоже "умники", создающие ядро, пересмотрели всю суть своей работы, и те .h-файлы, которые использует "фирменный" драйвер моксы, просто перестали поддерживаться. В этих .h-файлах даже было написано что-то типа "А теперь для того чтобы ваши программы счастливо компилировались, нужно делать всё не так, а вот так..." Но беда то в том, что я не писал этот драйвер, и не знаю что там и как. Короче, мои жалкие попытки переделать исходники закончились закономерным провалом.
"Фигня!" - сказал я себе, - "В этой версии линукса есть свой, встроенный драйвер моксы. Щас мы его запустим..." И действительно, встроенный драйвер моксы (скомпилированный в виде модуля) чудесно запустился. Дальше я с удивлением обнаружил что в системе отсутствуют необходимые файлы устройств /dev/ttM*. "Фигня!" - сказал я себе опять, - "В фирменном комплекте был скрипт, который эти файлы создаёт..." Я запустил скрипт msmknod, и (ответив на все вопросы про Major и Minor numbers по умолчанию) получил желаемые файлы /dev/ttM*.
Всё. На этом мои успехи кончились. Программы отказывались работать с этими устройстваии. Minicom, например, писал:
minicom: cannot open /dev/ttyM1: No such device
Я провёл массу времени в Интернете, шукаючи решение этой проблемы, но нашёл только одного "брата по разуму", который в какой-то конференции когда-то описал такую-же проблему с моксой, что и у меня, но... ему никто не ответил. Плюнул я уже на эту моксу, почти выкинул на помойку.
И вот вчера (без всякого энтузиазма) я поставил новую версию линукса (Mandrake 10.0). Сел и думаю "А дай попробую в последний разок эту моху присобачить." Короче, с перекомпилированием фирменного драйвера я уже не трахался, а сразу запустил родной, мандрагоровский, модуль. Модуль запустился. От нечего делать я глянул в лог-файл. Смотрю, а там, среди прочего, такое вот написано: "Tty devices major number = 174". Бросилось мне это в глаза, т.к. я точно помнил что фирменный скрипт создания файлов /dev/ttyM* спрашивал что-то про Major/Minor numbers. Запустил я этот скрипт и вижу что по умолчанию там предлагается major number 30. Ввёл я ему 174, и ВСЁ ЗАРАБОТАЛО КАК ЧАСЫ!!! Оказывается, всё это время я мучился из-за неправильного major номера устройств /dev/ttyM* !!!
Короче, логи нада внимательнее читать...