PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : acerhk compilieren



cretard
09.03.09, 23:27
Hallo!

http://www.linuxforen.de/forums/showthread.php?t=248133

diesen Tip habe ich befolgt, bekomme aber trotzdem eine Fehlermeldung



~/acerhk-0.5.35/# make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/acerhk-0.5.35 modules
make[1]: Entering directory `/usr/src/linux-2.6.27.7´
CC [M] /home/user/acerhk-0.5.35/acerhk.o
gcc: -pg and -fomit-frame-pointer are incompatible
make[2]: *** [/home/user/acerhk-0.5.35/acerhk.o] Error 1
make[1]: *** [_module_/home/user/acerhk-0.5.35] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.7´
make: *** [acerhk.ko] Error 2
~/acerhk-0.5.35/#


hier weiß ich nicht weiter, ich weiß auch nicht wo das -pg Flag herkommt, kann mir da jemand weiterhelfen?

Rain_maker
10.03.09, 00:21
Das andere Flag im Makefile abschalten.

cretard
10.03.09, 10:52
Das andere Flag im Makefile abschalten.

das gibt auch einen Fehler und der -pg Schalter ist ein Debug-Schalter der sollte eigentlich weg, imho



~/acerhk-0.5.35/# make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/acerhk-0.5.35 modules
make[1]: Entering directory `/usr/src/linux-2.6.27.7´
CC [M] /home/user/acerhk-0.5.35/acerhk.o
... a warning ...
/home/user/acerhk-0.5.35/acerhk.c: In function 'call_bios_52x':
/home/user/acerhk-0.5.35/acerhk.c:615: error: bp cannot be used in asm here
make[2]: *** [/home/user/acerhk-0.5.35/acerhk.o] Error 1
make[1]: *** [_module_/home/user/acerhk-0.5.35] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.7´
make: *** [acerhk.ko] Error 2
~/acerhk-0.5.35/#


um folgende Funktion geht es, line 615 ist die letzte



static asmlinkage void call_bios_52x(struct register_buffer *buf)
{
if (bios_routine) {
local_irq_disable();
__asm__ __volatile__(
"movl %2,%%edx\n\t"
"pusha\n\t"
"movl %%edx,%%ebp\n\t"
"movl (%%ebp),%%eax\n\t"
"movl 4(%%ebp),%%ebx\n\t"
"movl 8(%%ebp),%%ecx\n\t"
"movl 12(%%ebp),%%edx\n\t"
"movl 16(%%ebp),%%edi\n\t"
"movl 20(%%ebp),%%esi\n\t"
"pushl %%ebp\n\t"
"movl %1, %%ebp\n\t"
"call *%0\n\t"
"popl %%ebp\n\t"
"movl %%eax, (%%ebp)\n\t"
"movl %%ebx, 4(%%ebp)\n\t"
"movl %%ecx, 8(%%ebp)\n\t"
"movl %%edx, 12(%%ebp)\n\t"
"movl %%edi, 16(%%ebp)\n\t"
"movl %%esi, 20(%%ebp)\n\t"
"popa\n\t"
:
:"m" (bios_routine), "m" (preg400), "m" (buf)
:"%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi", "%ebp"
);
local_irq_enable();
}
} /* line 615 */

pferdefreund
10.03.09, 11:54
dann mal ohne bp probieren - steht eventuell in de Makefile

cretard
10.03.09, 14:03
Ich weiß nicht wo das -pg Flag herkommt, es steht auch nicht im Makefile, CFLAGS und EXTRA_CFLAGS sind vor der Zuweisung ebenfalls leer.

edit: ohne bp? Dann müste ich ja die gesamte Assemblerroutine umprogrammieren. Ich hoffe es gibt einen weg über irgendwelche Schalter und Konfigurationen die ich nicht kenne.

Rain_maker
10.03.09, 23:29
Ich hoffe es gibt einen weg über irgendwelche Schalter und Konfigurationen die ich nicht kenne.


Wie wäre es mit einer der Alternativen zu acerhk?

https://bugzilla.novell.com/show_bug.cgi?id=475418

Oder wistron_btns.ko ..

pferdefreund
11.03.09, 07:05
Irgendwo muß die Option ja herkommen - dann halt mal den ganzen
ordner auf den string -bp durchsuchen. Steht eventuell irgendwo in ner
configure.in makefile.in oder wo auch immer - von nix kommt nix.
Hatte gerade das Problem, daß meine CFLAGS nicht berücksichtigt wurden - die
oben erwähnte string-suche hat mir dann gezeigt, welches Schweinerl meine CFLAGS
überschrieben hat.

cretard
11.03.09, 12:13
Wie wäre es mit einer der Alternativen zu acerhk?

https://bugzilla.novell.com/show_bug.cgi?id=475418

Oder wistron_btns.ko ..

Was willst du mir mit dem Link sagen? Da steht doch nur das acerhk in opensuse 11.1 nicht mehr dabei ist. BTW ich habe Slackware 12.2

wistron_btns kannte ich nicht, habe es sofort ausprobiert:



~# modprobe wistron_btns
FATAL: Error inserting wistron_btns (/lib/modules/2.6.27.7-smp/kernel/drivers/input/misc/wistron_btns.ko): No such device


ich habe ein Acer TravelMate 290

cretard
11.03.09, 12:20
Irgendwo muß die Option ja herkommen - dann halt mal den ganzen
ordner auf den string -bp durchsuchen. ...

-pg nicht -bp

in dem ordner sind nur wenige textfiles (README, etc.), ein dir (doc/), das Makefile, eine *.c und eine *.h Datei. Im Makefile ist die Zeichenfolge "pg" nicht enthalten. *.c und *.h habe ich spasseshalber auch durchsucht und nix gefunden.

Rain_maker
11.03.09, 12:20
Nein, da steht noch mehr drin.

cretard
11.03.09, 12:28
dann stehe ich total auf dem Schlauch. Was ist dort relevant für mein Kompilierproblem?

Rain_maker
11.03.09, 12:31
2) The newer Travelmate series (starting with 290, 530, 650, 800) aren't
supported very well, since Acer uses different hardware. It is the same as
found in some HP Omnibook notebooks, look at the related project omke.

Das meinte ich mit Alternative (nach der Du Dich wahrscheinlich eh so bald wie möglich umsehen musst, acerhk wird seit Jahren nicht mehr weiterentwickelt).

cretard
11.03.09, 12:42
Das meinst du. ;) Das war mir bekannt. Bei meiner suche nach Alternativen bin ich aber nicht fündig geworden. Google gibt mir nur posts wo auf acerhk verwiesen wird, wenn es darum geht die WLAN-Hardware auf dem Laptop zu aktivieren.

Rain_maker
11.03.09, 12:49
Jetzt probiers doch einfach mal mit omke aus.

//Edit:

Kompiliert hier jedenfalls gegen 2.6.27.19 ohne Ärger.



svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk omnibook
A omnibook/kbc.c
A omnibook/debian
A omnibook/debian/control
A omnibook/debian/compat
A omnibook/debian/changelog
A omnibook/debian/patches
A omnibook/debian/patches/01_disable-debug.dpatch
A omnibook/debian/patches/00list
A omnibook/debian/copyright
A omnibook/debian/docs
A omnibook/debian/rules
A omnibook/debian/control.modules.in
A omnibook/debian/README.Debian
A omnibook/hardware.h
A omnibook/init.c
A omnibook/laptop.h
A omnibook/display.c
A omnibook/nbsmi.c
A omnibook/acpi.c
A omnibook/dock.c
A omnibook/fan_policy.c
A omnibook/doc
A omnibook/doc/BUGS
A omnibook/doc/ChangeLog
A omnibook/doc/COPYING
A omnibook/doc/CREDITS
A omnibook/doc/README
A omnibook/blank.c
A omnibook/cooling.c
A omnibook/info.c
A omnibook/Makefile
A omnibook/temperature.c
A omnibook/throttling.c
A omnibook/muteled.c
A omnibook/lcd.c
A omnibook/fan.c
A omnibook/polling.c
A omnibook/dump.c
A omnibook/bluetooth.c
A omnibook/lib.c
A omnibook/touchpad.c
A omnibook/battery.c
A omnibook/misc
A omnibook/misc/dmi_strings.txt
A omnibook/misc/README.mmkeys
A omnibook/misc/mmkeys.patch
A omnibook/misc/onetouch-xkb-2003-02-10.patch
A omnibook/misc/hotkeys
A omnibook/misc/hotkeys/README.hotkeys
A omnibook/misc/hotkeys/ob5xx.def
A omnibook/misc/hotkeys/nx9xxx.def
A omnibook/misc/hotkeys/xt155.def
A omnibook/misc/hotkeys/xe4xxx.def
A omnibook/misc/hotkeys/xe3gc.def
A omnibook/misc/hotkeys/xe3gf.def
A omnibook/misc/omnibook-integration.patch
A omnibook/compal.c
A omnibook/omnibook.h
A omnibook/ac.c
A omnibook/hotkeys.c
A omnibook/sections.lds
A omnibook/pio.c
A omnibook/ec.c
A omnibook/compat.h
A omnibook/wireless.c
Ausgecheckt, Revision 280.

cd omnibook

make
make -C /lib/modules/2.6.27.19-3.2-default/build SUBDIRS=/tmp/omnibook modules
make[1]: Entering directory `/usr/src/linux-2.6.27.19-3.2-obj/x86_64/default'
make -C ../../../linux-2.6.27.19-3.2 O=/usr/src/linux-2.6.27.19-3.2-obj/x86_64/default/. modules
CC [M] /tmp/omnibook/init.o
CC [M] /tmp/omnibook/lib.o
CC [M] /tmp/omnibook/ec.o
CC [M] /tmp/omnibook/kbc.o
CC [M] /tmp/omnibook/pio.o
CC [M] /tmp/omnibook/compal.o
CC [M] /tmp/omnibook/acpi.o
/tmp/omnibook/acpi.c: In function ‘set_tsx205_wireless_status’:
/tmp/omnibook/acpi.c:689: warning: ISO C90 forbids mixed declarations and code
/tmp/omnibook/acpi.c: In function ‘omnibook_hci_set_hotkeys’:
/tmp/omnibook/acpi.c:848: warning: ISO C90 forbids mixed declarations and code
CC [M] /tmp/omnibook/nbsmi.o
CC [M] /tmp/omnibook/ac.o
CC [M] /tmp/omnibook/battery.o
CC [M] /tmp/omnibook/blank.o
CC [M] /tmp/omnibook/bluetooth.o
CC [M] /tmp/omnibook/cooling.o
CC [M] /tmp/omnibook/display.o
CC [M] /tmp/omnibook/dock.o
CC [M] /tmp/omnibook/dump.o
CC [M] /tmp/omnibook/fan.o
CC [M] /tmp/omnibook/fan_policy.o
CC [M] /tmp/omnibook/hotkeys.o
CC [M] /tmp/omnibook/info.o
CC [M] /tmp/omnibook/lcd.o
CC [M] /tmp/omnibook/muteled.o
CC [M] /tmp/omnibook/polling.o
CC [M] /tmp/omnibook/temperature.o
CC [M] /tmp/omnibook/touchpad.o
CC [M] /tmp/omnibook/wireless.o
CC [M] /tmp/omnibook/throttling.o
LD [M] /tmp/omnibook/omnibook.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/omnibook/omnibook.mod.o
LD [M] /tmp/omnibook/omnibook.ko
make[1]: Leaving directory `/usr/src/linux-2.6.27.19-3.2-obj/x86_64/default'

cretard
11.03.09, 14:16
Jetzt probiers doch einfach mal mit omke aus. ...

habe ich, kompiliert auch nicht. :(



~/sources/omnibook-2.20070211$ make
make -C /lib/modules/2.6.27.7-smp/build SUBDIRS=/home/user/sources/omnibook-2.20070211 modules
make[1]: Entering directory `/usr/src/linux-2.6.27.7'

WARNING: Symbol version dump /usr/src/linux-2.6.27.7/Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M] /home/user/sources/omnibook-2.20070211/init.o
In file included from /home/user/sources/omnibook-2.20070211/init.c:26:
/home/user/sources/omnibook-2.20070211/laptop.h:25: warning: initialization from incompatible pointer type
... jede Menge obiger Warnungen gelöscht ...
/home/user/sources/omnibook-2.20070211/init.c: In function 'dmi_matched':
/home/user/sources/omnibook-2.20070211/init.c:141: warning: assignment discards qualifiers from pointer target type
CC [M] /home/user/sources/omnibook-2.20070211/lib.o
CC [M] /home/user/sources/omnibook-2.20070211/ec.o
CC [M] /home/user/sources/omnibook-2.20070211/kbc.o
CC [M] /home/user/sources/omnibook-2.20070211/pio.o
CC [M] /home/user/sources/omnibook-2.20070211/compal.o
CC [M] /home/user/sources/omnibook-2.20070211/acpi.o
/home/user/sources/omnibook-2.20070211/acpi.c:76: warning: initialization from incompatible pointer type
CC [M] /home/user/sources/omnibook-2.20070211/nbsmi.o
/home/user/sources/omnibook-2.20070211/nbsmi.c:396: warning: initialization from incompatible pointer type
CC [M] /home/user/sources/omnibook-2.20070211/ac.o
/home/user/sources/omnibook-2.20070211/ac.c:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ac_driver'
/home/user/sources/omnibook-2.20070211/ac.c: In function '__check_ac':
/home/user/sources/omnibook-2.20070211/ac.c:57: error: 'ac_driver' undeclared (first use in this function)
/home/user/sources/omnibook-2.20070211/ac.c:57: error: (Each undeclared identifier is reported only once
/home/user/sources/omnibook-2.20070211/ac.c:57: error: for each function it appears in.)
/home/user/sources/omnibook-2.20070211/ac.c: At top level:
/home/user/sources/omnibook-2.20070211/ac.c:57: error: 'ac_driver' undeclared here (not in a function)
make[2]: *** [/home/user/sources/omnibook-2.20070211/ac.o] Error 1
make[1]: *** [_module_/home/user/sources/omnibook-2.20070211] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.7'
make: *** [omnibook.ko] Error 2
~/sources/omnibook-2.20070211$

Rain_maker
11.03.09, 14:47
Lies doch meinen Post mal genau, dann siehst Du, daß ich nicht diese uralte Version verwende.

Und Deine Buildumgebung ist auch nicht gerade ordentlich:


WARNING: Symbol version dump /usr/src/linux-2.6.27.7/Module.symvers
is missing; modules will have no dependencies and modversions.(daran liegts aber nicht, daß es nicht baut)

cretard
11.03.09, 15:12
Lies doch meinen Post mal genau, dann siehst Du, daß ich nicht diese uralte Version verwende.


Ok, nächster Versuch ...



~/sources$ svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk omnibook
Error validating server certificate for 'https://omnibook.svn.sourceforge.net:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: *.svn.sourceforge.net
- Valid: from Tue, 11 Nov 2008 20:25:27 GMT until Mon, 11 Jan 2010 20:25:27 GMT
- Issuer: Equifax Secure Certificate Authority, Equifax, US
- Fingerprint: 04:b2:70:e9:ba:cf:70:fc:e8:8a:22:86:14:13:51:97:1b :6a:de:38
(R)eject, accept (t)emporarily or accept (p)ermanently? t
A omnibook/kbc.c
A omnibook/debian
A omnibook/debian/control
A omnibook/debian/compat
A omnibook/debian/changelog
A omnibook/debian/patches
A omnibook/debian/patches/01_disable-debug.dpatch
A omnibook/debian/patches/00list
A omnibook/debian/copyright
A omnibook/debian/docs
A omnibook/debian/rules
A omnibook/debian/control.modules.in
A omnibook/debian/README.Debian
A omnibook/hardware.h
A omnibook/init.c
A omnibook/laptop.h
A omnibook/display.c
A omnibook/nbsmi.c
A omnibook/acpi.c
A omnibook/dock.c
A omnibook/fan_policy.c
A omnibook/doc
A omnibook/doc/BUGS
A omnibook/doc/ChangeLog
A omnibook/doc/COPYING
A omnibook/doc/CREDITS
A omnibook/doc/README
A omnibook/blank.c
A omnibook/cooling.c
A omnibook/info.c
A omnibook/Makefile
A omnibook/temperature.c
A omnibook/throttling.c
A omnibook/muteled.c
A omnibook/lcd.c
A omnibook/fan.c
A omnibook/polling.c
A omnibook/dump.c
A omnibook/bluetooth.c
A omnibook/lib.c
A omnibook/touchpad.c
A omnibook/battery.c
A omnibook/misc
A omnibook/misc/dmi_strings.txt
A omnibook/misc/README.mmkeys
A omnibook/misc/mmkeys.patch
A omnibook/misc/onetouch-xkb-2003-02-10.patch
A omnibook/misc/hotkeys
A omnibook/misc/hotkeys/README.hotkeys
A omnibook/misc/hotkeys/ob5xx.def
A omnibook/misc/hotkeys/nx9xxx.def
A omnibook/misc/hotkeys/xt155.def
A omnibook/misc/hotkeys/xe4xxx.def
A omnibook/misc/hotkeys/xe3gc.def
A omnibook/misc/hotkeys/xe3gf.def
A omnibook/misc/omnibook-integration.patch
A omnibook/compal.c
A omnibook/omnibook.h
A omnibook/ac.c
A omnibook/hotkeys.c
A omnibook/sections.lds
A omnibook/pio.c
A omnibook/ec.c
A omnibook/compat.h
A omnibook/wireless.c
Checked out revision 280.


~/sources$ cd omnibook


~/sources/omnibook$ make
make -C /lib/modules/2.6.27.7-smp/build SUBDIRS=/home/user/sources/omnibook modules
make[1]: Entering directory `/usr/src/linux-2.6.27.7'

WARNING: Symbol version dump /usr/src/linux-2.6.27.7/Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M] /home/user/sources/omnibook/init.o
CC [M] /home/user/sources/omnibook/lib.o
CC [M] /home/user/sources/omnibook/ec.o
CC [M] /home/user/sources/omnibook/kbc.o
CC [M] /home/user/sources/omnibook/pio.o
CC [M] /home/user/sources/omnibook/compal.o
CC [M] /home/user/sources/omnibook/acpi.o
/home/user/sources/omnibook/acpi.c: In function 'set_tsx205_wireless_status':
/home/user/sources/omnibook/acpi.c:689: warning: ISO C90 forbids mixed declarations and code
/home/user/sources/omnibook/acpi.c: In function 'omnibook_hci_set_hotkeys':
/home/user/sources/omnibook/acpi.c:848: warning: ISO C90 forbids mixed declarations and code
CC [M] /home/user/sources/omnibook/nbsmi.o
CC [M] /home/user/sources/omnibook/ac.o
CC [M] /home/user/sources/omnibook/battery.o
CC [M] /home/user/sources/omnibook/blank.o
CC [M] /home/user/sources/omnibook/bluetooth.o
CC [M] /home/user/sources/omnibook/cooling.o
CC [M] /home/user/sources/omnibook/display.o
CC [M] /home/user/sources/omnibook/dock.o
CC [M] /home/user/sources/omnibook/dump.o
CC [M] /home/user/sources/omnibook/fan.o
CC [M] /home/user/sources/omnibook/fan_policy.o
CC [M] /home/user/sources/omnibook/hotkeys.o
CC [M] /home/user/sources/omnibook/info.o
CC [M] /home/user/sources/omnibook/lcd.o
CC [M] /home/user/sources/omnibook/muteled.o
CC [M] /home/user/sources/omnibook/polling.o
CC [M] /home/user/sources/omnibook/temperature.o
CC [M] /home/user/sources/omnibook/touchpad.o
CC [M] /home/user/sources/omnibook/wireless.o
CC [M] /home/user/sources/omnibook/throttling.o
LD [M] /home/user/sources/omnibook/omnibook.o
Building modules, stage 2.
MODPOST 1 modules
/bin/sh: scripts/mod/modpost: No such file or directory
make[2]: *** [__modpost] Error 127
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.7'
make: *** [omnibook.ko] Error 2
~/sources/omnibook$


Klappt auch nicht :(

Die Meldung "/bin/sh: scripts/mod/modpost: No such file or directory" sagt mir nicht viel mehr als das da ein dir oder file fehlt.



Und Deine Buildumgebung ist auch nicht gerade ordentlich:
...


Da habe ich auch kenen Plan warum das so ist. Ich kompiliere seit einigen Tagen neue Kernel ohne Probleme und für was anderes habe ich den gcc noch nicht benutzt. Außer um acerhk oder jetzt omnibook zu kompilieren.

Rain_maker
11.03.09, 15:16
Deine Kernelquellen sind nicht ordentlich konfiguriert.

Ergebnisse 1 - 10 von ungefähr 1.740 für /bin/sh: scripts/mod/modpost: No such file or directory. (0,16 Sekunden) (http://www.google.com/search?hl=de&client=opera&rls=de&hs=FQQ&q=%2Fbin%2Fsh%3A+scripts%2Fmod%2Fmodpost%3A+No+suc h+file+or+directory&btnG=Suche&lr=)

Da findest Du genügend mögliche Lösungsansätze.

cretard
11.03.09, 18:20
cd /usr/src/linux
make scripts


danach konnte ich omnibook ohne den Fehler kompilieren, aber make install führte dann nicht zum Ziel.



sources/omnibook# make install
# Removing module from locations used by previous versions
rm -f /lib/modules/2.6.27.7-smp/kernel/drivers/char/omnibook.ko
rm -f /lib/modules/2.6.27.7-smp/kernel/drivers/misc/omnibook.ko
make INSTALL_MOD_PATH= INSTALL_MOD_DIR=extra -C /lib/modules/2.6.27.7-smp/build M=/home/user/sources/omnibook modules_install
make[1]: Entering directory `/usr/src/linux-2.6.27.7'
INSTALL /home/user/sources/omnibook/omnibook.ko
DEPMOD 2.6.27.7-smp
make[1]: Leaving directory `/usr/src/linux-2.6.27.7'


sources/omnibook# modprobe omnibook.ko
FATAL: Module omnibook.ko not found.


auch folgendes ist fehlgeschlagen



sources/omnibook# mkdir /lib/modules/`uname -r`/kernel/drivers/extras
sources/omnibook# install -m 644 omnibook.ko /lib/modules/`uname -r`/kernel/drivers/extras
sources/omnibook# /sbin/depmod -a
sources/omnibook# insmod ./omnibook.ko


nichts tat sich und ein weiteres modprobe lieferte wieder den gleichen Fehler

cretard
12.03.09, 09:58
Arrghh, es darf natürlich nicht
# modprobe omnibook.ko heißen, sondern muss
# modprobe omnibook lauten. Der link http://www.linuxforen.de/forums/showthread.php?t=247773 behandelt das Thema omnibook installation auch.

Nun, omnibook scheint mein Acer Travelmate 290 nicht zu unterstützen, denn nach
$ cd /proc/omnibook
$ ls habe ich nur die beiden files "dmi" und "version". Das bedeutet laut dieser Quelle: http://ubuntuforums.org/showthread.php?t=316358&highlight=omnibook, daß mein Laptop nicht direkt unterstützt wird und ob ich den Risiko behafteten work around ausprobieren soll, weiß ich nicht. Lieber wäre mir das acerhk ans laufen zu kriegen.

Kann man eigentlich acerhk generell auf neuerem Kernel nicht kompilieren oder geht das nur bei mir nicht?