pbimageviewer requires libzip, libunrar, libibitmap and lib7zip to build, so the source code and pre-built libs/headers are available here. If you don't want to build the libraries and headers from scratch yourself, just download prebuilt.tar.gz and transfer the contents to your build system. Otherwise, follow the instructions below. N.B. I have installed each pocketbook SDK in /usr/arm-* in the style in which they were originally distributed. I renamed the SDK_6.3.0 sdk to arm-obreey6-linux-gnueabi so that it wouldn't clash with the arm-obreey-linux-gnueabi sdk in SDK_481. The instructions below are for this sdk system. However, I expect that most people would not have a similar system because it is a lot of work to translate the official SDKs to the old style. @m4mmon has provided instructions and patches for building the required libraries, headers and pbimageviewer itself using the official SDK_6.3.0 sdk itself. To build against the official sdk yourself, download build_sdk6.tgz from here, extract the README_BUILD_SDK_FW6.txt file from the tarball, and follow the instructions therein. They replace the instructions below. libunrar: The provided makefile.unix file should be used in place of the version in the unrar source directory. To build a static version of libunrar.a, run 'make -f makefile.unix staticlib' and copy libunrar.a and dll.h (renamed from dll.hpp) to the correct directories (usually /usr/arm-linux/{lib,include} or /usr/arm-none-linux-gnueabi/{lib,include}). The makefile builds the arm-none-linux-gnueabi files by default, but can be changed to arm-linux by changing which lines are commented out in the makefile. When compiling programs against the library, add "-D_UNIX" to CFLAGS and CXXFLAGS if you get a lot of errors including in your source code. libzip: simply configure using the right cross-compiled host, i.e. ./configure --host=arm-none-linux-gnueabi or ./configure --host=arm-linux or ./configure --host=arm-obreey-linux-gnueabi or ./configure --host=arm-obreey6-linux-gnueabi and then run make. libibitmap: This is a library I wrote for loading and converting image files to grayscale Inkview ibitmap structures. Instruction for building it are in the source zipfile in the img2ibitmap directory. lib7zip: Unpack p7zip_9.20.1_src_all.tar.bz2, and copy makefile.linux_cross_arm_* into the top level directory. Copy the relevant makefile.linux_cross_arm_* file to makefile.machine, and then run "make 7z". You will need to copy bin/7z.so to the /system/bin/ directory on the PocketBook device. Unpack lib7zip-1.6.5.tar.gz, and apply the lib7zip.patch file inside the top level directory (it adds /mnt/ext1/system/bin to the search path for 7z.so). Set the P7ZIP_SOURCE_DIR environmental variable to point to the p7zip_9.20.1 directory. Run configure using the right cross-compiled host: ./configure --prefix=/usr --host=arm-linux or ./configure --prefix=/usr --host=arm-none-linux-gnueabi or ./configure --prefix=/usr --host=arm-obreey-linux-gnueabi then run make. The output will be at Lib7Zip/lib7zip.{a,h}. For the fwv6 devices, newer versions of p7zip and libzip are required for the compilers used on those systems. Follow the steps above using the p7zip_16.02_src_all.tar.bz2 and lib7zip-2.0.0.tar.gz tarballs. In p7zip_16.02/, copy makefile.linux_cross_arm_obreey6_linux_gnueabi to makefile.machine before running "make 7z". In libzip-2.0.0/, apply lib7zip.patch and run: ./configure --prefix=/usr --host=arm-obreey6-linux-gnueabi before running make. Note that the newer versions don't build with the compilers used for the older firmware versions.