Re: Сборка модуля для LPT-HASP ключа
В Tue, 28 Dec 2010 13:21:54 +0200
vanessa <vanessa@rabitsa.org.ua> пишет:
> Скачал с сайта аладина файл aksparlnx-1.7-i386.tar.gz разпаковал,
> запустил ./build.sh и получил вот такой ответ
>
> ./build.sh
>
> ~/src/hasp/aksparlnx-1.7-i386
> make -C /lib/modules/2.6.32-5-686/build here=$(pwd)/ SUBDIRS=$(pwd)
> modules
> make[1]: Вхожу у каталог "/usr/src/linux-headers-2.6.32-5-686"
> /usr/src/linux-headers-2.6.32-5-common/scripts/Makefile.build:49: ***
> CFLAGS was changed in
> "/home/vanessa/src/hasp/aksparlnx-1.7-i386/Makefile". Fix it to use
> EXTRA_CFLAGS. Зупинка.
> make[3]: *** [_module_/home/vanessa/src/hasp/aksparlnx-1.7-i386] Помилка
> 2 make[2]: *** [sub-make] Помилка 2
> make[1]: *** [all] Помилка 2
> make[1]: Залишаю каталог "/usr/src/linux-headers-2.6.32-5-686"
> make: *** [kernel26] Помилка 2
>
> Я так понимаю нужно что-то исправить в файле ./Makefile, но что там
> исправить - не знаю. Не подскажет ли кто знает что исправить?
>
> ПС полностью адрес к файлу
> ftp://ftp.ealaddin.com/pub/aladdin.de/hardlock/linux/v1.7/i386/aksparlnx-1.7-i386.tar.gz
Надо закомментировать CFLAGS и TOPDIR,
а также подставить правильный путь к заголовочным файлам ядра.
Вот начало:
# $Id: Makefile.pub,v 1.6 2007/01/08 20:09:11 chris Exp $
#
# Makefile for Aladdin Linux Parallel Driver
# ------------------------------------------
#
# Copyright (c) 2005-2007 by Aladdin Knowledge Systems Ltd.
#
include $(here)linuxdefs.mk
TARGETARCH := $(shell uname -m | sed -e s/i.86/x86/)
HLMOD_DEFINES := -DHL_MAJOR=42 -DCPC_PCI
CC = gcc
#ifndef CFLAGS
#CFLAGS = $(MODULE_DEFINES) $(HLMOD_DEFINES)
#endif
MODULE_DEFINES := -D__KERNEL__ -DMODULE
CFLAGS.x86 = $(LINUX_COPTS) $(LINUX_DEFINE) $(LINUX_I386_OPTS) $(LINUX_I386_KERN_OPTS)
CFLAGS.alpha = $(LINUX_COPTS) $(LINUX_DEFINE) $(LINUX_ALPHA_OPTS) $(LINUX_ALPHA_KERN_OPTS)
CFLAGS.ia64 = $(LINUX_COPTS) $(LINUX_DEFINE) $(LINUX_IA64_OPTS) $(LINUX_IA64_KERN_OPTS)
CFLAGS.ppc = $(LINUX_COPTS) $(LINUX_DEFINE) $(LINUX_PPC_OPTS) $(LINUX_PPC_KERN_OPTS)
CFLAGS.x86_64 = $(LINUX_COPTS) $(LINUX_DEFINE) $(LINUX_AMD64_OPTS) $(LINUX_AMD64_KERN_OPTS)
#CFLAGS += $(CFLAGS.$(TARGETARCH))
help:
@echo "usage: $(MAKE) KERNSRC=kernelsourcedir kernel26"
@echo " build 2.6.x version"
@echo " $(MAKE) KERNSRC=kernelsourcedir kernel24"
@echo " build 2.4.x version"
@echo " $(MAKE) clean"
@echo " clean up"
KERNSRC ?= /usr/src/linux-headers-2.6.32-5-amd64
#ifdef TOPDIR
obj-m += aksparlnx.o
#endif
Но и после этого оно падает с ошибкой
yuray@keeper:/tmp/aksparlnx-1.7-x86_64$ ./build.sh --verbose
make -C /lib/modules/2.6.32-5-amd64/build here=$(pwd)/ SUBDIRS=$(pwd) modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'
CC [M] /tmp/aksparlnx-1.7-x86_64/aksparpub.o
/tmp/aksparlnx-1.7-x86_64/aksparpub.c:92: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__attribute_used__’
make[4]: *** [/tmp/aksparlnx-1.7-x86_64/aksparpub.o] Ошибка 1
make[3]: *** [_module_/tmp/aksparlnx-1.7-x86_64] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-amd64'
make: *** [kernel26] Ошибка 2
Тут уж извиняйте, не силён. Неужели у алладина нет более актуальной версии?
--
Best Regards,
Yuri Kozlov
Reply to: