Archiv verlassen und diese Seite im Standarddesign anzeigen : Kernel-Headers in Ubuntu Edgy Eft
Hi!
Ich konnte ein paar Pakete nicht kompilieren, also hab ich ein bisschen
gegoogelt.
Nun habe ich in Erfahrung gebracht, dass trotz installierter linux-libc-dev sowie
linux-headers-generic (bzw. linux-headers-$(uname -r)) die Header-Files nicht mehr in /usr/lib/include vorhanden sind, weil es anscheinend nicht unbedingt gebraucht wird.
So habe ich im Source #include <linux/compiler.h> auskommentiert, was auch funktioniert hat.
Jedoch fehlts jetzt wieder bei asm/unaligned.h , und die kann ich leider nicht so einfach auskommentieren ...
Weiß jemand, wie ich die includes wieder zum Laufen bekomme?
MfG schne_re
So habe ich im Source #include <linux/compiler.h> auskommentiert, was auch funktioniert hat.
Genau, die ist auch nur so pro Forma drin. Das ist ein alter Programmiererwitz, die einzubinden.
Ne, im Ernst:
Was versuchst du zu kompilieren, und wie exakt lautet die Fehlermeldung?
Was sagt "dpkg -l | grep header" (kleines L)?
Mein Debian hat übrigends nichtmal ein /usr/lib/include, wie kommst du darauf, dass die Header ausgerechnet da sein sollten?
Also,
dpkg -l | grep header:
ii libssl-dev
ii linux-headers-2.6.17-10
ii linux-headers-2.6.17-10-386
ii linux-headers-2.6.17-10-generic
ii linux-headers-386
ii linux-headers-generic
uname -r : 2.6.17-10-386
make:
make -C ./PLUGINS/src/myprog all
make[1]: Betrete Verzeichnis '/usr/bak/hda/Backup/myprog/PLUGINS/src/myprog'
make[1]: Verlasse Verzeichnis '/usr/bak/hda/Backup/myprog/PLUGINS/src/myprog'
make[1]: Betrete Verzeichnis '/usr/bak/hda/Backup/myprog/PLUGINS/src/myprog'
g++ -O2 -g -fPIC -Wall -Woverloaded-virtual -c -DPLUGIN_NAME_I18N='"myprog"' -DOPENSSL_HAS_AES -DAPIVERSNUM=10331 -D_GNU_SOURCE -I../../../include myprog.c
myprog.c:24:27: error: asm/unaligned.h: No such file or directory
myprog.c: In member function ‘void cDes::Des(unsigned char*, const unsigned char*, int) const’:
myprog.c:321: error: ‘get_unaligned’ was not declared in this scope
myprog.c:322: error: ‘get_unaligned’ was not declared in this scope
myprog.c:323: error: ‘get_unaligned’ was not declared in this scope
myprog.c:324: error: ‘get_unaligned’ was not declared in this scope
myprog.c:345: error: ‘put_unaligned’ was not declared in this scope
make[1]: *** [myprog.o] Fehler 1
make[1]: Verlasse Verzeichnis '/usr/bak/hda/Backup/myprog/PLUGINS/src/myprog'
make: *** [plugin] Fehler 2
Das mit den usr/lib/include hab ich auf einer Seite gelesen, wo Bugs über Ubuntu Edgy gepostet
werden, da stand auch was, wie man das get_unaligned bzw put_unaligned umgehen kann, dafür
hätt ich aber mehr programmierkentnisse gebaraucht, da es nicht wirklich beschrieben war.
Jedenfalls ist das get_unaligned irgendwas, was die Performance des Programms verbessern soll,
jedoch nicht wirklich was bringt ...
MfG
Ok, ich habe das Problem nun doch selbst lösen können.
Da das Problem bei mehreren verschiedenen Applikationen auftreten kann, hier die Lösung:
#include <asm/unaligned.h> ersetzen durch:
// #include <asm/unaligned.h>
#ifndef __I386_UNALIGNED_H
#define __I386_UNALIGNED_H
#define get_unaligned(ptr) (*(ptr))
#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
#else
#include <asm/unaligned.h>
#endif
mfg schne_re
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.