Компиляция из исходников

Аватар пользователя dromanoff

Всем доброго времени суток!

Проблема в следующем.Не могу скомпелировать драйвер для LucentWinModeme из исходников. В чем дело разобраться не могу, посему возник ряд общих вопросов по компеляции из исходников ответ на который может быть удастся получить на форуме.
1. Есть ли разница как распаковывать архив или это непринципиально (имеется ввиду графический метод или через терминал)?
2. Есть ли разница из какой дирректории пытаться компелировать драйвер или с просто захожу в папку с исходниками (# cd <папка запуска>)?

Теперь про сам процесс компиляции. Во всех источниках какие мне попадались компиляция выполняется в четыре этапа:
# su
# ./configure
# make
# make install
Все ... дальше программа должна куда-то прописаться (скорее всего в usr/lib), и во всяком случае при обращении в терминале # <имя программы> должна запустится.
Еще в обязательном порядке рекомендуется изучить файл INSTALL где на вражеском языке изложена подробная инструкция по инсталяции.

Теперь что в моем случае:
имеем ядро 2.6.26.3-29.0.140asp.i686
имеем драйвер в исходниках martian-20060623.tar.gz (много где его рекомендовали ставить вместо ltmodem-2.6-alk-9.tar.bz2 , но и эти архивы есть у меня и они так же не хотят собираться)
имеется файл INSTALL следующего содержания:

**********************************************************************************************************************************************
Building.
In root directory run
$ make all

Installation.
In root directory run
$ su
# make install

Running.
Load module and run helper first.
# modprobe martian_drv
# martian_helper [Options] [Tty]

Now Tty is the name of the device file to represent your modem. You'll supply it to the dialer. /dev/ttySM0 if argument omitted.

See options available
# martian_helper --help

Notes.
For technical reasons carrier status support is not available for the modem client. Configure dialer respectively. For wvdial add "Check Carrier = No" line to the configuration file.

x86_64.
To compile and install driver do
$ make -C kmodule/ modules
$ su
# make -C kmodule/ install

Helper is 32-bit application. helper/Makefile is not fit for x86_64 environment. The best way is to build it on i386.
***************************************************************************************************************************************************

мои действия по сборке:
1. идем в папку с программой

[denis@localhost ~]$ cd /home/denis/Загрузки/Driver/164x
[denis@localhost 164x]$

2. набираем команду make all

[denis@localhost 164x]$ make all
make -C kmodule/ modules
make[1]: Entering directory `/home/denis/Загрузки/Driver/164x/kmodule'
make -C /lib/modules/2.6.26.3-29.0.140asp.i686/build M=/home/denis/Загрузки/Driver/164x/kmodule modules
make: Entering an unknown directory
make: *** /lib/modules/2.6.26.3-29.0.140asp.i686/build: Нет такого файла или каталога. Останов.
make: Leaving an unknown directory
make[1]: *** [modules] Ошибка 2
make[1]: Leaving directory `/home/denis/Загрузки/Driver/164x/kmodule'
make: *** [all] Ошибка 2
[denis@localhost 164x]$

при этом выдается ошибка смысл которой я постигнуть не в состоянии
3. переходим в режим суперпользователя

[denis@localhost 164x]$ su
Пароль:
[root@localhost 164x]#

4. набираем команду make install

[root@localhost 164x]# make install
make -C kmodule/ install
make[1]: Entering directory `/home/denis/Загрузки/Driver/164x/kmodule'
make -C /lib/modules/2.6.26.3-29.0.140asp.i686/build M=/home/denis/Загрузки/Driver/164x/kmodule modules_install
make: Entering an unknown directory
make: *** /lib/modules/2.6.26.3-29.0.140asp.i686/build: Нет такого файла или каталога. Останов.
make: Leaving an unknown directory
make[1]: *** [install] Ошибка 2
make[1]: Leaving directory `/home/denis/Загрузки/Driver/164x/kmodule'
make: *** [install] Ошибка 2
[root@localhost 164x]#

ВЫВОДЫ:
драйвер не установлен, соответственно модем не находится причем если выполнять ту инструкцию что приведена в конце файла INSTALL то резульат такой же

Подскажите пожалуйста, что я не так делаю?

Аватар пользователя Xandry

Re: компиляция из исходников

"1. Есть ли разница как распаковывать архив или это непринципиально (имеется ввиду графический метод или через терминал)?"

Нет.

"2. Есть ли разница из какой дирректории пытаться компелировать драйвер или с просто захожу в папку с исходниками (# cd <папка запуска>)?"

В инструкции же написано "In root directory run".

Вы пробовали делать ./configure перед make all, если, конечно, файл для конфигурации существует?

Аватар пользователя dromanoff

Re: компиляция из исходников

да пробовал, но что-то не срастается, т.е. выдается ошибка соответственно дальше процесс не идет
*********************************************************************
[root@localhost 164x]# ./configure
bash: ./configure: Нет такого файла или каталога
*********************************************************************

P.S. Конкретно проблему установки дров для LucentWinModeme я решил радикальной сменой оборудования. Аналоговый модем был заменен на на ADSL D-Link 2500U а так как он сам аппаратный, то и соответственно работает без проблем, но вот проблема компиляции из исходников не исчерпана. К примеру не могу поставить прогу для HPLaserJet 1018. Там то же самое драйвер + прога даны в исходниках и собрать из них не получается.

Аватар пользователя Дмитрий (dozhd)

Re: компиляция из исходников

dromanoff,

прежде всего нужно установить следующие rpm пакеты (их можно взять, допустим, с CD, который идет с ASPLINUX):
kernel-devel
kernel-headers

(проверить установлен ли у тебя этот пакет можно командой rpm -q <имя пакета>, например: "rpm -q kernel-devel").

# скопируй их с диска куда-нть в домашнюю директорию и запусти инсталл: rpm -i <имя пакета>

Потом нужно установить gcc, а он в свою очередь, возможно, потребует наличия glib, так что в итоге нужно будет сначала установить их:
glib-devel
glib-headers

а после установи gcc командой rpm -i gcc_версия.rpm

Как только все это установишь, этих ошибок при make и make install твоих драйверов не будет.

dozhd

RSS-материал