Last modified 3 years ago Last modified on 09/10/13 18:33:53

Publican on OSX Mountain Lion

This page has been updated on 08 Aug 2013 to reflect information learned while installing Publican on OS X Mountain Lion. Key changes include additional CPAN modules, in step 5, and tweaks to the commnds in step 9, to ensure the proper Perl interpreter is used.

There is also a temporary workaround (step 11), which addresses a problem with the Publican binary not being installed correctly.

Install Publican

  1. Install Xcode from Mac App Store.
    • It is about 4 GB. Be prepared to wait. It has things you need, though.
  2. Install Macports from Everything you install with it goes into /opt/local, away from your normal OS files.
  3. Open a terminal.
  4. Install dependencies for Publican which are available as ports.
    sudo port install docbook-xml docbook-xsl docbook-sgml-4.2 perl5 bash-completion p5-file-pushd p5-config-simple p5-file-find-rule p5-file-slurp p5-class-trigger p5-time-hires p5-list-moreutils p5-ipc-run3 p5-class-accessor p5-test-perl-critic p5-xml-libxslt p5-locale-gettext p5-image-size p5-file-copy-recursive p5-datetime p5-archive-zip p5-timedate p5-html-format p5-dbd-sqlite p5-xml-simple p5-devel-cover p5-test-pod p5-test-pod-coverage p5-template-toolkit p5-archive-tar p5-sort-versions p5-text-csv_xs 
  5. Install CPAN modules for dependencies which can't be satisfied with ports. Note: this step will generate lots of messages, including warnings. Don't worry about them.
     sudo cpan Locale::Maketext::Gettext Locale::PO DateTime::Format::DateParse Syntax::Highlight::Engine::Kate XML::TreeBuilder File::Inplace String::Similarity HTML::FormatText::WithLinks::AndTables
  6. Install FOP if you want PDFs to work:
    sudo port install fop
    echo "FOP_OPTS='-Xms50m -Xmx700m'" > ~/.foprc
  7. Check out Publican Main branch. This command should be run from your user home directory, i.e. /Users/yourusername
    git clone git://
  8. Change directories
     cd publican/publican
  9. This directory should contain a file named Verify that you are in the correct directory, then run the following two command. Ignore warnings. It is important to use the full path to the Macports version of Perl, as the OS X default version of Perl will not work correctly.
     /opt/local/bin/perl ./Build.PL
  10. Run the following command to install Publican and put all of its bits into /opt/local
      sudo ./Build install
  11. These steps apply to Publican 3.2, and hopefully will not be needed forever.
    1. Copy the bin/publican file to /opt/local/bin/.
        sudo cp blib/script/publican /opt/local/bin/

Create and build a book

publican create --name=testbook
cd testbook
publican build --formats=html --langs=en-US
  • Open the tmp/en-US/html/index.html in a browser to prove that it built properly.

Install a brand

  1. Only once, fix the permissions of the Common Brand. This is a bug that will be addressed eventually.
    find /opt/local/share/publican -type f |xargs sudo chmod 644
  2. Either check out the SVN for your brand, or get a pre-built brand from a friend.
    1. The SVN location for the brands supplied by Red Hat is
    2. If you use a pre-built brand, extract it if necessary.
  3. If you got the brand from SVN, build it.
    cd publican/publican-jboss
    publican build --formats=xml --langs=all --publish
  4. Install the brand.
    sudo publican install_brand --path=/opt/local/share/publican/Common_Content

You can now use the brand in your books by editing your book's publican.cfg or specifying the --brand option when creating your book.

Back to