Bindery

General discussion about software packages and releases, new software you've found, and threads by programmers and script writers.

Moderator: peterZ

Anonymous2
Posts: 97
Joined: 18 Oct 2011, 16:05

Re: Bindery

Post by Anonymous2 »

It took much longer than I anticipated, but I'm pleased to announce a functional version of Bindery with full support for DjVu and PDF binding for both Linux and Windows!

I don't have the hard drive space to install Windows inside of a virtual machine to test out the software in a clean environment, but it seems to work perfectly fine in binary form on my computer. If that isn't the case, any error messages will help me debug the problem and come up with a fix.

To run Bindery, just extract the archive, double click Bindery.exe and drop some images into the file list box to bind some PDFs and DjVu documents.

Download it here
Anonymous2
Posts: 97
Joined: 18 Oct 2011, 16:05

Re: Bindery

Post by Anonymous2 »

For anyone that just downloaded the zipfile, I uninstalled every development library I had to test out how things worked and the only thing that broke was pdfbeads. I'm still diagnosing the problem. A perfect time to find out things are breaking, huh?
andres
Posts: 7
Joined: 18 Feb 2012, 22:35
Number of books owned: 0

Re: Bindery

Post by andres »

Using Windows XP SP3.
When I downloaded Bindery 2.7.0 and started Bindery.exe, I first got a message about missing msvcr100d.dll (a visual studio file). After I found and installed that file manually in the System directory, I am getting the error:

"The exception unknown software exception (0xc0000409) occurred in the application at location 0x67141712"

The same happens when I run main.exe

As for PDFBeads, the compiled exe version did not work standaolone. (FATAL ERROR: Invalid opcode 123911456)
Tulon
Posts: 687
Joined: 03 Oct 2009, 06:13
Number of books owned: 0
Location: London, UK
Contact:

Re: Bindery

Post by Tulon »

I am not a developer of Bindery, but here's my 2 cents:

* Dependency on msvcr100d.dll indicates a debug build. These generally don't work on machines other than the developer machine.
* Invalid opcode may indicate the binary was built for some new SSE architecture not supported by your processor.
Scan Tailor experimental doesn't output 96 DPI images. It's just what your software shows when DPI information is missing. Usually what you get is input DPI times the resolution enhancement factor.
dpc
Posts: 379
Joined: 01 Apr 2011, 18:05
Number of books owned: 0
Location: Issaquah, WA

Re: Bindery

Post by dpc »

andres wrote:Using Windows XP SP3.
When I downloaded Bindery 2.7.0 and started Bindery.exe, I first got a message about missing msvcr100d.dll (a visual studio file). After I found and installed that file manually in the System directory, I am getting the error:

"The exception unknown software exception (0xc0000409) occurred in the application at location 0x67141712"

The same happens when I run main.exe

As for PDFBeads, the compiled exe version did not work standaolone. (FATAL ERROR: Invalid opcode 123911456)
From "Crash Course: Analyze Crashes to Find Security Vulnerabilities in Your Apps"...

/GS Exceptions
/GS (0xc0000409=STATUS_STACK_BUFFER_OVERRUN) exceptions are those Windows will throw whenever it detects that the security cookie protecting the return address has been tampered with. Since the goal of /GS is to turn buffer overruns that lead to code execution into denial of service attacks, whenever such a crash is detected you can be certain you have a security bug. (Unfortunately, due to buggy memory, overclocked motherboards, faulty hardware, and other issues, sometimes the code that validates the cookie gets tripped without having an actual buffer overrun.)


This is likely an app bug where a function has mistakenly written beyond the bounds of a local variable (stored on the stack) and clobbered the return address. When you build your app with the /GS flag set, it adds a small bit of code to every function to record the return address on the stack and then check that right before the function returns (uses the address on the stack to know where to return to). If the address isn't the same when it attempts to return, it will generate the exception.
Anonymous2
Posts: 97
Joined: 18 Oct 2011, 16:05

Re: Bindery

Post by Anonymous2 »

I build the executables on Windows 7 64-bit with 32-bit software packages, so it's somewhat hard for me to test things on Windows XP. I'll try installing XP and build things on XP 32-bit, just to see if the compiled packages will work on 7 as well. If they do, I'll switch to XP for development.

As for the library, I'll edit it out of the configuration file. I switched script freezers because I am using Python3 instead of Python2 now, so that slipped by me. Thanks for catching that as well.

PDFbeads is very cumbersome to work with and is hard to build into a portable executable that runs on other Windows machines, as it is written in Ruby and depends upon quite a few libraries. I'm working on packaging it so that you don't have to install like 4 different libraries just to use it.
Anonymous2
Posts: 97
Joined: 18 Oct 2011, 16:05

Re: Bindery

Post by Anonymous2 »

I finally fixed the issue. Apparently those error messages are saying that you need the Microsoft Visual C++ 2008 Redistributable installed. Thank Microsoft for their verbose error messages :x

I'm still wrestling pdfbeads. If I can't get it to compile into an EXE properly, I might have to create an installer for it.
andres
Posts: 7
Joined: 18 Feb 2012, 22:35
Number of books owned: 0

Re: Bindery

Post by andres »

Anonymous2 wrote:Apparently those error messages are saying that you need the Microsoft Visual C++ 2008 Redistributable installed.
I have MS VC++ 2008 installed already for a long time now (and I also have MS VC++ 2005 redistributables installed), therefore it does not seem to be very believable that this may have caused the errors. Maybe the letter d in the filename may rather refer to e.g. a German language version of the redistributables?
Anonymous2
Posts: 97
Joined: 18 Oct 2011, 16:05

Re: Bindery

Post by Anonymous2 »

It's a combination of a few strange errors that I can't understand, but that was one of them. The other problem was that I was building on 64-bit Windows 7, which rarely makes executables that work for 32-bit XP.

I thoroughly tested my executables on a completely clean Windows XP virtual machine and the executables are incredibly unstable. Sometimes they execute, other times they crash.

These problems weren't present while I was using Python2 instead of Python3, so I'm just going to revert Bindery back into Python2 code.
Anonymous2
Posts: 97
Joined: 18 Oct 2011, 16:05

Re: Bindery

Post by Anonymous2 »

I've reverted Bindery back to Python2 code and it builds back into a 10mb executable that runs on a clean install of Windows XP SP3.

Since Bindery is modular, it will recognize the pdfbeads executable once it is present and will allow you to bind PDF files (by default it's only DjVu). I'll try to get Bindery working on Windows first and then finish up my installer for pdfbeads. Ruby is not the most portable language so it will have to install quite a few programs just go get PDFBeads running.
Post Reply