Forum How do I...?

Ubuntu 7.04 - amd64

felix_cohen
Having trouble getting prince running on our Live server, which is amd architecture. The static install runs fine on our staging server, which is effectively identical other than the architecture.
the error I am getting is that Prince is unable to access remote files; it is fine converting a local .html file, but seems to unable to use a URL.
Is this a problem with the libcurl/curl connections it uses? Is there a config file somewhere I should change?

Thanks,

Felix
mikeday
I expect that this is an issue related to static linking with libc. I'll create a dynamically linked Prince package and that should solve the problem. Do you prefer .deb or .tar.gz?
felix_cohen
tar.gz would be nicer, I think.

Thanks...
mikeday
Try this dynamically linked build:

prince-6.0r6-beta4-linux.tar.gz
felix_cohen
Tried it; definitely progress, but it's now complaining about libungif.so.4 ; the lib is present in /usr/lib, which is in $PATH, so noth sure why it isn't picking it up...another static link?

/usr/local/lib/prince/bin/prince: error while loading shared libraries: libungif.so.4: cannot open shared object file: No such file or directory

Cheers,

Felix
mikeday
Check LD_LIBRARY_PATH perhaps? Otherwise we can link statically with this library.
felix_cohen
More progress; I explicitly addedit to LD_LIBRARY_PATH, but now it's back to complaining about architecture stuff (I think...)

/usr/local/lib/prince/bin/prince: error while loading shared libraries: libungif.so.4: wrong ELF class: ELFCLASS64


Perhaps the static link is going to be easiest.

thanks for all your help on this...

F
felix_cohen
I've installed the 32 bit/i386 lib into a separate lib tree and it seems to have picked that up. Now complaining about libssl, but let me poke at that for a while before pushing back on you...

Cheers!

Felix
felix_cohen
Put the libungif and libssl i386 versions in /lib32 (already in the LD_LIBRARY_PATH), and everything appears to be working fine. Thanks for your help!
ewhitten
Any chance of getting a dynamically-linked 64-bit build for 6.0r5? This would be for Ubuntu 7.10 AMD64. Thanks!
mikeday
I think this will need to wait for us to obtain some AMD64 hardware, as it doesn't seem to be easy to cross-compile a 64-bit binary on a 32-bit system. In the meantime it should be possible to get the 32-bit binary to run if appropriate 32-bit libraries are installed.
kmtrowbr
Note for folks trying to get the dynamic library that mikeday posted to run on Ubuntu AMD64 ...

You need to install the package 'ia32-libs' -> that is, a set of libraries to initially allow 32-bit binaries to run on 64-bit ubuntu.

sudo apt-get install ia32-libs


Until you do this, when you try to run Prince, you will get a confusing generic error message:

$ prince
exec: 3: /usr/local/lib/prince/bin/prince: not found


This randomly discovered post in the ubuntu forums got me on the right track:
http://ubuntuforums.org/archive/index.php/t-542315.html
kmtrowbr
Another tip - this error comes up next, as Felix pointed out:

$ prince
/usr/local/lib/prince/bin/prince: error while loading shared libraries: libungif.so.4: cannot open shared object file: No such file or directory


An easy way to solve this is to use the 'getlibs' program referenced in this thread on the Ubuntu site:
http://ubuntuforums.org/showthread.php?t=474790

$ getlibs /usr/local/lib/prince/bin/prince 
libungif.so.4: libungif4g
The following i386 packages will be installed:
libungif4g
Continue [Y/n]? Y
Downloading ...
Installing libraries ...
deploy@development:~$ prince
Usage:
  prince [OPTIONS] file.xml              Convert file.xml to file.pdf
  prince [OPTIONS] doc.html -o out.pdf   Convert doc.html to out.pdf
  prince [OPTIONS] FILES... -o out.pdf   Combine multiple files to out.pdf

Try 'prince --help' for more information.
AlexL
Thanx for this tip.
mikeday
We have now released Prince 7.0, which includes a 64-bit package for Ubuntu 9.04.
spaff
Hi!

Is there a plan to release 64bit for debian, too?
mikeday
If it's a recent version of Debian, the Ubuntu package will probably work perfectly, so give it a try! If there are any library problems we can probably figure out a workaround.
spaff
I have installed the debianpackage with dpkg -i --force-architecture package.deb. Works fine with commandline.

edit:
installed ubuntu package for 64bit, seems to work on Debian GNU/Linux 4.0 (etch)