Hallo,
nachdem ich es jetzt endlich geschafft habe, den Emulator unter Linux zum laufen bekommen habe, hier meine Erkenntnisse, falls noch jemand scheitert:
- Auf der englischen Seite ist immer noch das alte SDK verlinkt. Hier gibt es die aktuelle Version.
- libinkview.a für Linux war beim SDK 15.1 anfangs kaputt:
Code:
PBSDK-linux-libwine/sources/grays$ make
../../bin/pbres -c src/images.temp.c ../../images/background.bmp ../../images/books.bmp ../../images/m3x3.bmp
winegcc -o grays src/inkdemo.c src/images.temp.c -I../../include `freetype-config --cflags` -L../../lib -linkview -ljpeg `freetype-config --libs` -Wall -fomit-frame-pointer -O2 -mwindows -m32
inkdemo-ybxtA1.o: In function `main':
inkdemo.c:(.text+0x1f): undefined reference to `InkViewMain'
inkdemo-ybxtA1.o: In function `main_handler':
inkdemo.c:(.text+0x71): undefined reference to `CloseApp'
inkdemo.c:(.text+0x81): undefined reference to `ClearScreen'
inkdemo.c:(.text+0x8d): undefined reference to `FullUpdate'
inkdemo.c:(.text+0xb9): undefined reference to `DrawRect'
inkdemo.c:(.text+0xe9): undefined reference to `FillArea'
inkdemo.c:(.text+0xf6): undefined reference to `FullUpdate'
inkdemo.c:(.text+0x101): undefined reference to `FineUpdate'
collect2: ld returned 1 exit status
winegcc: i486-linux-gnu-gcc failed
make: *** [grays] Fehler 2
Das Problem scheint inzwischen behoben zu sein, auch wenn es dazu kein Infos gab. Wer Fehler beim Linken der x86-Version bekommt: SDK nochmal herunterladen
- Bei mir haben die Bibliotheken des SDK nicht zu denen gepasst, die ich auf meinem System habe. Beim compilieren wurden die des SDK verwendet, beim ausführen die des System, das funktioniert nicht:
Code:
wine: could not load "grays.exe.so": Fehlerhaftes EXE-Format für
Lösung: überprüfen, dass libcurl und libjpeg auf dem Rechner installiert sind und die Bibliotheken aus PBSDK-linux-libwine/lib/ entfernen. (Das ist nicht immer notwendig, hängt davon ab, was genau auf dem Rechner drauf ist.)
- Das Programm stürzt beim Starten ab:
Code:
$ ./grays
hwnd=65572
FT_New_Face: cannot open LiberationSans-Bold
FT_New_Face: cannot open LiberationSans
FT_New_Face: cannot open LiberationSans-Bold
FT_New_Face: cannot open LiberationSans-Bold
FT_New_Face: cannot open LiberationSans-Bold
FT_New_Face: cannot open LiberationSans-Bold
FT_New_Face: cannot open LiberationSans-Bold
wine: Unhandled page fault on read access to 0x00000018 at address 0x6033e8e6 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000018 in 32-bit code (0x6033e8e6).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:6033e8e6 ESP:0032fc70 EBP:00000000 EFLAGS:00210202( - 00 - -RI1)
EAX:00000000 EBX:60373631 ECX:603735e1 EDX:55555556
ESI:0032fca0 EDI:60373680
Stack dump:
0x0032fc70: 603735ce 00555555 60373680 6033ebaa
0x0032fc80: 0032fca0 6037363b 60373680 60371b13
0x0032fc90: 603741c8 60374109 00000000 601d93ae
0x0032fca0: 7273752f 636f6c2f 702f6c61 656b636f
0x0032fcb0: 6f6f6274 62652f6b 69616d72 68742f6e
0x0032fcc0: 73656d65 6665642f 746c7561 7462702e
Backtrace:
=>1 0x6033e8e6 init_parameters+0x176() in grays (0x00000000)
0x6033e8e6 init_parameters+0x176 in grays: movl 0x18(%eax),%eax
Modules:
Module Address Debug info Name (66 modules)
ELF 60000000-6001d000 Deferred ld-linux.so.2
ELF 6001d000-60153000 Deferred libwine.so.1
ELF 60153000-6016c000 Deferred libpthread.so.0
ELF 6016c000-602b1000 Deferred libc.so.6
ELF 602b1000-602b5000 Deferred libdl.so.2
ELF 602b5000-602db000 Deferred libm.so.6
ELF 602db000-602e3000 Deferred libnss_compat.so.2
ELF 602e3000-602fa000 Deferred libnsl.so.1
ELF 602fa000-60305000 Deferred libnss_nis.so.2
ELF 60305000-60381000 Export grays<elf>
\-PE 60320000-60381000 \ grays
ELF 60381000-603a5000 Deferred libjpeg.so.62
ELF 603a5000-603e9000 Deferred libcurl.so.4
ELF 603e9000-603ff000 Deferred libz.so.1
ELF 603ff000-60432000 Deferred libidn.so.11
ELF 60432000-60441000 Deferred liblber-2.4.so.2
ELF 60441000-6048c000 Deferred libldap_r-2.4.so.2
ELF 6048c000-604b6000 Deferred libgssapi_krb5.so.2
ELF 604b6000-604fc000 Deferred libssl.so.0.9.8
ELF 604fc000-60510000 Deferred libresolv.so.2
ELF 60510000-605b8000 Deferred libgnutls.so.26
ELF 605b8000-6065e000 Deferred libkrb5.so.3
ELF 6065e000-60687000 Deferred libk5crypto.so.3
ELF 60687000-6068b000 Deferred libcom_err.so.2
ELF 6068b000-60693000 Deferred libkrb5support.so.0
ELF 60693000-606a5000 Deferred libtasn1.so.3
ELF 606a5000-60721000 Deferred libgcrypt.so.11
ELF 60721000-607c0000 Deferred gdi32<elf>
\-PE 60730000-607c0000 \ gdi32
ELF 607c0000-60812000 Deferred advapi32<elf>
\-PE 607d0000-60812000 \ advapi32
ELF 60812000-6095d000 Deferred user32<elf>
\-PE 60830000-6095d000 \ user32
ELF 6095d000-6098a000 Deferred libfontconfig.so.1
ELF 6098a000-609a5000 Deferred libice.so.6
ELF 609a5000-609ab000 Deferred libxxf86vm.so.1
ELF 609ab000-60ada000 Deferred libx11.so.6
ELF 60ada000-60adf000 Deferred libuuid.so.1
ELF 60adf000-60ae3000 Deferred libxau.so.6
ELF 60ae3000-60b01000 Deferred libxcb.so.1
ELF 60b01000-60b06000 Deferred libxdmcp.so.6
ELF 60b06000-60b27000 Deferred imm32<elf>
\-PE 60b10000-60b27000 \ imm32
ELF 60b27000-60b2a000 Deferred libxinerama.so.1
ELF 60b2a000-60b34000 Deferred libxrender.so.1
ELF 60b34000-60b38000 Deferred libxcomposite.so.1
ELF 60b38000-60b3e000 Deferred libxfixes.so.3
ELF 60b3e000-60b49000 Deferred libxcursor.so.1
ELF 63e3b000-63e62000 Deferred libexpat.so.1
ELF 641f8000-641fc000 Deferred libkeyutils.so.1
ELF 66b12000-66b1e000 Deferred libnss_files.so.2
ELF 6884d000-68856000 Deferred librt.so.1
ELF 6a611000-6a616000 Deferred libgpg-error.so.0
ELF 70d77000-70d87000 Deferred libxext.so.6
ELF 72567000-72601000 Deferred winex11<elf>
\-PE 72580000-72601000 \ winex11
ELF 72708000-7284e000 Deferred libcrypto.so.0.9.8
ELF 73ace000-73ae8000 Deferred libsasl2.so.2
ELF 73bd3000-73bdc000 Deferred libsm.so.6
ELF 75762000-757e1000 Deferred libfreetype.so.6
ELF 76f4e000-76f57000 Deferred libxrandr.so.2
ELF 7b800000-7b93c000 Deferred kernel32<elf>
\-PE 7b820000-7b93c000 \ kernel32
ELF 7bc00000-7bca7000 Deferred ntdll<elf>
\-PE 7bc10000-7bca7000 \ ntdll
ELF 7bf00000-7bf04000 Deferred <wine-loader>
Threads:
process tid prio (all id:s are in hex)
00000008 (D) Z:\home\stephan\programmieren\pocketbook\PBSDK-linux-libwine\sources\grays\grays.exe
00000009 0 <==
0000000c
00000013 0
00000012 0
0000000e 0
0000000d 0
0000000f
00000015 0
00000014 0
00000011 0
00000010 0
00000016
00000017 0
Backtrace:
=>1 0x6033e8e6 init_parameters+0x176() in grays (0x00000000)
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x6033e8e6
Der Emulator erwartet dass das SDK unter /usr/local/pocketbook. Also am besten einen Link erstellen:
Code:
ln -s /home/user/Pfad/zum/SDK/PBSDK-linux-libwine /usr/local/pocketbook
Die Tastenbelegung hab ich noch nicht ganz raus. F3 ist zurück, die Pfeiltasten sind das Steuerkreuz. Leider habe ich die Tasten des PB302 noch nicht gefunden. Weiß das zufällig jemand?
Das Touchpad scheint einen Bug zu haben. Die x- und y-Achse scheinen vertauscht zu sein. Kann das bitte jemand den GfK sagen?