Ergebnis 1 bis 7 von 7

Thema: monitor 1.8.1 kompiliert nicht unter Apple PowerBook G4 ppc platform

  1. #1
    Registriert seit
    12.09.2007
    Beiträge
    4

    monitor 1.8.1 kompiliert nicht unter Apple PowerBook G4 ppc platform

    [0]jom@dapperdrake:~/tmp/monitor-1.8.1/# make
    gcc -Wstrict-prototypes -I/usr/X11R6/include -O3 -march=i486 -DARCH_I386 -c -o bin-ppc/pocsag.o pocsag.c
    cc1: error: invalid option 'arch=i486'
    make: *** [bin-ppc/pocsag.o] Error 1

    Ok, da scheint 'arch=i486' da problem zu sein, also mal von hand
    versucht die -march -DARCH_I386 switche wegzulassen:

    [0]jom@dapperdrake:~/tmp/monitor-1.8.1/# gcc -Wstrict-prototypes -I/usr/X11R6/include -O3 -c -o bin-ppc/hdlc.o hdlc.c
    hdlc.c: In function 'ax25_disp_packet':
    hdlc.c:330: warning: pointer targets in passing argument 2 of '__builtin_strncat' differ in signedness

    Wie man sieht gibts ein problem mit signedness, soweit ich weiss
    ist powerpc lowendian und i386 bigendian, oder genau umgekehrt, jedenfalls verschieden.

    Ich bin gerne bereit daran mitzuarbeiten, das monitor plattform unabhängig compiliert.

  2. #2
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von lixus
    [0]jom@dapperdrake:~/tmp/monitor-1.8.1/# make
    gcc -Wstrict-prototypes -I/usr/X11R6/include -O3 -march=i486 -DARCH_I386 -c -o bin-ppc/pocsag.o pocsag.c
    cc1: error: invalid option 'arch=i486'
    make: *** [bin-ppc/pocsag.o] Error 1

    Ok, da scheint 'arch=i486' da problem zu sein, also mal von hand
    versucht die -march -DARCH_I386 switche wegzulassen:

    [0]jom@dapperdrake:~/tmp/monitor-1.8.1/# gcc -Wstrict-prototypes -I/usr/X11R6/include -O3 -c -o bin-ppc/hdlc.o hdlc.c
    hdlc.c: In function 'ax25_disp_packet':
    hdlc.c:330: warning: pointer targets in passing argument 2 of '__builtin_strncat' differ in signedness

    Wie man sieht gibts ein problem mit signedness, soweit ich weiss
    ist powerpc lowendian und i386 bigendian, oder genau umgekehrt, jedenfalls verschieden.

    Ich bin gerne bereit daran mitzuarbeiten, das monitor plattform unabhängig compiliert.
    * Versuch' mal ein -DARCH=ppc

    * Ausserdem wäre es natürlich interessant zu wissen, ob die die aktuelle SVN Version des monitor-2.1 kompilieren könntest.

    * Ich denke das hat nicht viel mit big-/little endian zu tun. Liegt daran, daß in der hdlc.c Zeile 90 die Variable i als "unsigned char" definiert ist. Das ist ein Warning, daß du vorläufig m.E. ignorieren kannst, da i definitiv <128 ist.

    Kompiliert es denn dann weiter oder bricht er mit dem warning ab ?

  3. #3
    Registriert seit
    12.09.2007
    Beiträge
    4
    Zitat Zitat von Buebchen
    * Versuch' mal ein -DARCH=ppc
    Danke für die schneele hilfe.
    Ja, das sieht gut aus mit -DARCH_PPC -mcpu=G4, jedenfalls compiliert es
    und erzeugt ein "monitor" binary, bei dessen start allerding nix passiert, siehe unten. Beim start von ./Xmonitor passiert auch nix, ich hätte ein GUI erwartet.

    Zitat Zitat von Buebchen
    * Ausserdem wäre es natürlich interessant zu wissen, ob die die aktuelle SVN Version des monitor-2.1 kompilieren könntest.
    Super, 2.1 funktioniert, erzeugt aber ein "monitord" binary bei dessen start
    genau wie bei der 1.8.1 version nichts passiert. Ich habe ein log des compilierens und ausführens angehängt.


    Zitat Zitat von Buebchen
    * Ich denke das hat nicht viel mit big-/little endian zu tun.
    Okay, dem stimme ich zu.

    Zitat Zitat von Buebchen
    Kompiliert es denn dann weiter oder bricht er mit dem warning ab ?
    Diese frage erübrigt sich, da ich ja jetzt compilieren kann mit den passenden CFLAGS


    [0]jom@dapperdrake:~/tmp/monitor-1.8.1/bin-ppc/# ./monitor
    -> nix passiert, daher:

    [0]jom@dapperdrake:~/tmp/monitor-1.8.1/bin-ppc/# strace ./monitor
    execve("./monitor", ["./monitor"], [/* 42 vars */]) = 0
    brk(0) = 0x1003b000
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4801d000
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4801e000
    access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
    open("/etc/ld.so.cache", O_RDONLY) = 3
    fstat64(3, {st_mode=S_IFREG|0644, st_size=74252, ...}) = 0
    mmap(NULL, 74252, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4802f000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libm.so.6", O_RDONLY) = 3
    read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0 \0\335"..., 512) = 512
    fstat64(3, {st_mode=S_IFREG|0644, st_size=687020, ...}) = 0
    mmap(0xff38000, 751404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xff38000
    mprotect(0xffdc000, 61440, PROT_NONE) = 0
    mmap(0xffeb000, 20480, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa3000) = 0xffeb000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libncurses.so.5", O_RDONLY) = 3
    read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0 \1;\240"..., 512) = 512
    fstat64(3, {st_mode=S_IFREG|0644, st_size=317068, ...}) = 0
    mmap(0xfec9000, 386996, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfec9000
    mprotect(0xff0e000, 65536, PROT_NONE) = 0
    mmap(0xff1e000, 36864, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x45000) = 0xff1e000
    mmap(0xff27000, 1972, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xff27000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libc.so.6", O_RDONLY) = 3
    read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0 \1\352"..., 512) = 512
    fstat64(3, {st_mode=S_IFREG|0755, st_size=1356256, ...}) = 0
    mmap(0xfd5c000, 1427236, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfd5c000
    mprotect(0xfea1000, 65536, PROT_NONE) = 0
    mmap(0xfeb1000, 20480, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x145000) = 0xfeb1000
    mmap(0xfeb6000, 10020, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfeb6000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libdl.so.2", O_RDONLY) = 3
    read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0 \0\r"..., 512) = 512
    fstat64(3, {st_mode=S_IFREG|0644, st_size=13884, ...}) = 0
    mmap(0xfd38000, 78336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfd38000
    mprotect(0xfd3b000, 61440, PROT_NONE) = 0
    mmap(0xfd4a000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xfd4a000
    close(3) = 0
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4801f000
    mprotect(0xfd4a000, 4096, PROT_READ) = 0
    mprotect(0xfeb1000, 8192, PROT_READ) = 0
    mprotect(0xffeb000, 4096, PROT_READ) = 0
    munmap(0x4802f000, 74252) = 0

  4. #4
    Registriert seit
    12.09.2007
    Beiträge
    4
    Logfile angefügt.
    Angehängte Dateien Angehängte Dateien

  5. #5
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Das logfile sieht auf den ersten Blick garnicht so schlecht aus. Der monitord bleibt tatsächlich solange stumm, wie keine ZVEI/FMS/POCSAG Telegramme empfangen werden.

    Man sieht ja auch, daß er immer wieder Datenblöcke von Sounddevice abholt [ read(7,...)].

    Versuche mal nach den start des monitord ein telnet auf den Port 9300. Müßte sich der monitord melden. Dann läuft zumindest mal der Task im Hintergrund weiter.

    Dann wäre es gut,wenn Du mal ein FMS Telegramm einspielen könntest.

  6. #6
    Registriert seit
    12.09.2007
    Beiträge
    4
    Buebchen, erst mal Danke für die Aufmerksamkeit!

    Okay, da es ja eine 2.1er version gibt werde ich mich nicht weiter mit der 1.8.1er version beschäftigen. Die 2.1er compiliert ja durch und das monitord binary lässt sich starten.
    Ich hatte alerdings irgendeine ausgabe erwarted, das monitord glücklich und ready ist oder sowas (wenigstens im syslog)

    Ich sehe auch das ein paar tcp ports auf sind:

    root@dapperdrake:~# lsof -i tcp -a -c monitord
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    monitord 18710 jom 3u IPv4 46579 TCP *:9333 (LISTEN)
    monitord 18710 jom 4u IPv4 46580 TCP *:9300 (LISTEN)
    monitord 18710 jom 6u IPv4 46581 TCP *:7778 (LISTEN)

    Eine telnet auf 9300 bringt allerdings nix:

    root@dapperdrake:~# telnet localhost 9300
    Trying 127.0.0.1...
    Connected to localhost (127.0.0.1).
    Escape character is '^]'.
    help


    Zitat Zitat von Buebchen Beitrag anzeigen
    Das logfile sieht auf den ersten Blick garnicht so schlecht aus. Der monitord bleibt tatsächlich solange stumm, wie keine ZVEI/FMS/POCSAG Telegramme empfangen werden.
    ...
    Versuche mal nach den start des monitord ein telnet auf den Port 9300. Müßte sich der monitord melden. Dann läuft zumindest mal der Task im Hintergrund weiter.
    Ok, verstehe. Ich habe nicht mal den scanner an der soundkarte angeschlossen,
    da ich dachte monitor oder monitord würden einem beim auspegeln helfen etc, aber
    das muss man dann wohl mit anderen tools machen. Ich bin Newbie, und habe noch
    keine Ahnung von monitor(d).

    Gibt es zu der 2.1er version bzw monitod irgendwo dokumentation etc ?
    Was soll ich denn z.b. per telnet auf port 9300 sehen, lässt sich monitord irgendwie
    configurieren, welche parameter akzeptiert monitord usw ? Ich finde nix.

    Dann wäre es gut,wenn Du mal ein FMS Telegramm einspielen könntest.
    Wenn ich nur wüsste wie das ginge ;-)

    thx, lixus

  7. #7
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von lixus Beitrag anzeigen
    root@dapperdrake:~# lsof -i tcp -a -c monitord
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    monitord 18710 jom 3u IPv4 46579 TCP *:9333 (LISTEN)
    monitord 18710 jom 4u IPv4 46580 TCP *:9300 (LISTEN)
    monitord 18710 jom 6u IPv4 46581 TCP *:7778 (LISTEN)

    Eine telnet auf 9300 bringt allerdings nix:

    root@dapperdrake:~# telnet localhost 9300
    Trying 127.0.0.1...
    Connected to localhost (127.0.0.1).
    Escape character is '^]'.
    help
    Das ist seltsam. Nur mal zur Sicherheit: Firewall an/aus ?

    Zitat Zitat von lixus
    Ok, verstehe. Ich habe nicht mal den scanner an der soundkarte angeschlossen,
    da ich dachte monitor oder monitord würden einem beim auspegeln helfen etc, aber
    das muss man dann wohl mit anderen tools machen. Ich bin Newbie, und habe noch
    keine Ahnung von monitor(d).

    Gibt es zu der 2.1er version bzw monitod irgendwo dokumentation etc ?
    Was soll ich denn z.b. per telnet auf port 9300 sehen, lässt sich monitord irgendwie
    configurieren, welche parameter akzeptiert monitord usw ? Ich finde nix.


    Wenn ich nur wüsste wie das ginge ;-)

    thx, lixus
    Die 2.1er Version ist noch in der Entwicklung. Deswegen auch noch kein Support für syslog o.ä.

    Informationen findest Du im diesem Thread: http://www.funkmeldesystem.de/foren/...ad.php?t=30710

    Auf dem Port 9300 müßte sich der Simulator für FMS32 melden. Auf Port 9333 der monitord selbst. Auf 7778 der Crusader-Modus.

    Ggf. ein Problem, daß die Threads nicht sauber anlaufen. Guten Tipp hätte ich im Moment auch nicht. Muss mal drüber nachdenken.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •