Kann bristuff nicht kompilieren

OttTheTormentor

Neuer User
Mitglied seit
29 Sep 2006
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe zwei Versionen von bristuff probiert, bristuff-0.3.0-PRE-1s und danach bristuff-0.2.0-RC8s. Die erstere Version läuft soweit durch bis zum make für asterisk, dann erhalte ich:

Code:
gcc  -pipe  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3  -Iinclude -I.
./include -D_REENTRANT -D_GNU_SOURCE  -O6 -march=i686 -DZAPTEL_OPTIMIZATIONS         -fomit-frame-po
inter  -fPIC   -c -o app_capiNoES.o app_capiNoES.c
In file included from app_capiNoES.c:20:
/usr/include/linux/capi.h:80: error: variable or field '__user' declared void
/usr/include/linux/capi.h:80: error: syntax error before '*' token
/usr/include/linux/capi.h:115: error: syntax error before 'capi_manufacturer_cmd'
/usr/include/linux/capi.h:117: error: syntax error before '}' token
make[1]: *** [app_capiNoES.o] Fehler 1
make[1]: Leaving directory `/usr/src/bristuff-0.3.0-PRE-1s/asterisk-1.2.10/apps'
make: *** [subdirs] Fehler 1

Nach einiger Zeit Rumsuchen habe ich dann alles gelöscht, was in /etc, /usr/include und /usr/lib neu angelegt wurde und dann die 0.2.0 probiert, da kam dann gleich bei zaptel ein Fehler:

Code:
  /usr/src/bristuff-0.2.0-RC8s/zaptel-1.0.10/zaptel.c:6520: warning: passing argument 2 of 'class_de
vice_create' makes pointer from integer without a cast
  /usr/src/bristuff-0.2.0-RC8s/zaptel-1.0.10/zaptel.c:6520: warning: passing argument 3 of 'class_de
vice_create' makes integer from pointer without a cast
  /usr/src/bristuff-0.2.0-RC8s/zaptel-1.0.10/zaptel.c:6520: warning: passing argument 4 of 'class_de
vice_create' from incompatible pointer type
  /usr/src/bristuff-0.2.0-RC8s/zaptel-1.0.10/zaptel.c:6520: error: too few arguments to function 'cl
ass_device_create'
  make[2]: *** [/usr/src/bristuff-0.2.0-RC8s/zaptel-1.0.10/zaptel.o] Fehler 1
  make[1]: *** [_module_/usr/src/bristuff-0.2.0-RC8s/zaptel-1.0.10] Fehler 2
  make[1]: Leaving directory `/usr/src/linux-2.6.18.1'
  make: *** [linux26] Fehler 2

(vorher noch jede Menge Warnungen)

Fehlt in meinem System noch ein besonderes Paket, das ich *vor* bristuff installieren muss? Laut dem INSTALL sollte alles da sein.
 
Hallo kombjuder,

es kamen doch mehrere Sachen zusammen, bevor ein Make (s.u.) durchlief:

1. bison war nicht installiert (apt-get bison)
2. curl war nich installiert (curl-7.15.5.orig.tar.gz geholt und make install)
3. dieses '__user declared void' ist wohl neu in 2.6.18, das habe ich mit einem zusätzlichen #include behoben:
Code:
--- linux-2.6.18.1/include/linux/capi.h.org     2006-11-16 14:25:23.000000000 +0100
+++ linux-2.6.18.1/include/linux/capi.h 2006-11-16 14:25:42.000000000 +0100
@@ -14,6 +14,7 @@

 #include <asm/types.h>
 #include <linux/ioctl.h>
+#include <linux/compiler.h>
 #ifndef __KERNEL__
 #include <linux/kernelcapi.h>
 #endif

Danach ließ es sich ohne Fehler kompilieren.

Statt dem compile.sh habe ich ein kleines Makefile benutzt:
Code:
# main Makefile for bristuff
#

.EXPORT_ALL_VARIABLES:

DIRS = zaptel libpri libgsmat ztgsm qozap cwain zaphfc asterisk

clean all install:
        @set -e ; for i in $(DIRS) ; do $(MAKE) -C $$i $@ ; done

# eof

Damit das für "make install" auch richtig funktioniert, ist in 3 anderen Makefiles jeweils eine kleine Änderung nötig:

Code:
--- bristuff-0.3.0-PRE-1s/cwain/Makefile.org    2006-11-16 14:03:06.000000000 +0100
+++ bristuff-0.3.0-PRE-1s/cwain/Makefile        2006-11-16 14:03:21.000000000 +0100
@@ -78,7 +78,7 @@
        insmod ./cwain.ko debug=1
        ztcfg -v

-install:       install$(BUILDVER)
+install:       all install$(BUILDVER)

 installlinux26:
        install -D -m 644 cwain.ko $(INSTALL_PREFIX)/lib/modules/`uname -r`/misc/cwain.ko
--- bristuff-0.3.0-PRE-1s/qozap/Makefile.org    2006-11-16 14:02:10.000000000 +0100
+++ bristuff-0.3.0-PRE-1s/qozap/Makefile        2006-11-16 14:02:34.000000000 +0100
@@ -82,7 +82,7 @@
 unload:
        rmmod qozap zaptel

-install:       install$(BUILDVER)
+install:       all install$(BUILDVER)

 installlinux26:
        install -D -m 644 qozap.ko $(INSTALL_PREFIX)/lib/modules/`uname -r`/misc/qozap.ko
--- bristuff-0.3.0-PRE-1s/zaphfc/Makefile.org   2006-11-16 14:04:01.000000000 +0100
+++ bristuff-0.3.0-PRE-1s/zaphfc/Makefile       2006-11-16 14:05:55.000000000 +0100
@@ -108,7 +108,7 @@
        @if ! [ -d $(KSRC) ]; then echo "Link /usr/src/linux-2.6 to your kernel sources first!"; exit 1 ; fi
        make -C $(KSRC) SUBDIRS=$(PWD) ZAP=$(ZAP) modules

-install:       install$(BUILDVER)
+install:       all install$(BUILDVER)

 installlinux26:
        install -D -m 644 zaphfc.ko $(INSTALL_PREFIX)/lib/modules/`uname -r`/misc/zaphfc.ko

Jetzt geht es ans Konfigurieren und Testen. :)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.