Forum Feature requests

SmartOS builds

caius
Hi, I'm trying to replace another PDF generator with prince at work, but we would like to run it under a SmartOS native zone rather than having to run linux or freebsd under KVM to use it.

I've attempted to get the existing Solaris/x86 builds running under SmartOS, but run into incompatibility issues with the libraries provided by current a SmartOS zone, and the versions of libraries that prince expects. (libpng provided is 1.6, prince expects 1.2, etc.)

Would it be possible to get a precompile prince binary for SmartOS itself please? I'd be happy to help out if you need any advice/help getting a build environment set up.
mikeday
Is SmartOS based on Solaris 11?
caius
SmartOS is a downstream version of Illumos, which is itself forked from OpenSolaris when Oracle closed the source for OpenSolaris. I think Solaris 11 came out after that fork but Oracle never released the source for it, so SmartOS may well be compatible, but isn't based on Solaris 11 entirely. (First post of this thread gives a short summary of Illumos & downstreams).

If it's easier to get builds going on Solaris 11, I'm happy to give them a whirl on SmartOS and see if they work.
mikeday
We do have a build for Solaris 11, although by the sounds of it there may be other library compatibility issues.
caius
Oh! I missed that page when I was looking through the downloads, my apologies. I'll give it a spin and see what happens.
caius
The solaris 11 build is easier to get prince --help working than the solaris 10 one, but there's still a couple of static library version incompatibilities.

  • Expected -> Actual
  • libcurl.so.3 -> libcurl.so.4.3.0
  • libjpeg.so.62 -> libjpeg.so.8.0.2
  • libpng14.so.14 -> libpng16.so.16.13.0
  • libtiff.so.3 -> libtiff.so.5

Symlinking the above to the right names gets `prince --help` displaying. Trying to generate a PDF fails on an internal error now (previously a segfault), complaining about no fonts being available.

[root@test32-2]# echo "<h1>Hello</h1>" | prince -v -o /dev/stdout -
prince: loading document: /usr/local/lib/prince/license/license.dat
prince: Loading document...
prince: loading HTML5 input: -
prince: Applying style sheets...
prince: Preparing document...
prince: Converting document...
prince: internal error: no available fonts
mikeday
That's not bad, it just means you need to install some fonts, or point Prince at some of your existing fonts, as described here.