Page 1 of 1

DocBook output broken in Linux environment

Posted: Thu Apr 16, 2015 5:54 pm
by Frank Ralf
Hi,

We use a customized DocBook PDF transformation. We've developed an tested the transformation with oXygen 16.1 on Windows 7. However, the customer uses a build process on a Linux machine (OpenSuse 64 bit) and there some features are broken, for example:

    - the numbering starts on the wrong page,
    - the footer is missing some text,
    - <taskrequisites> are not rendered
    - the header of the index is missing

I've already checked the xsltproc (xsltproc was compiled against libxml 20900, libxslt 10128 and libexslt 817) and FOP versions but cannot find any suspicious differences. The error log also doesn't show any entries which look related on first sight.

Any pointers where I could look for the problem?

tia
Frank

Re: DocBook output broken in Linux environment

Posted: Fri Apr 17, 2015 9:03 am
by sorin_ristache
Hi,

Can you confirm that you don't get the same broken features when running the DocBook PDF conversion on the same input XML document on a Windows 7 machine, and with exactly the same parameters of the conversion?

If yes, please check in what JRE version number the customer is running Oxygen on their 64-bit openSUSE machine. Is it an Oracle JRE? These details are visible in the properties java.runtime.version, java.version, java.vendor on the System properties tab of the Help -> About dialog box.

I remember some errors a while ago in the FO to PDF conversion step caused by an ugly bug in the FO processor related to the 64-bitness of the JRE. To make sure the customer has not stumbled into that I would suggest first to try also the same DocBook PDF conversion with a 32-bit JRE, if they are currently running Oxygen in a 64-bit JRE.

Re: DocBook output broken in Linux environment

Posted: Fri Apr 17, 2015 11:28 am
by Frank Ralf
Hi Sorin,

Many thanks for these pointers. I will follow your advise and report back.

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Mon Apr 20, 2015 5:27 pm
by Frank Ralf
I've checked the Java version on the server and it is indeed a 64 bit version:

Code: Select all

java version "1.7.0_55" 
OpenJDK Runtime Environment (IcedTea 2.4.8) (suse-8.36.1-x86_64) 
OpenJDK 64-Bit Server VM (build 24.55-b03, mixed mode) 


However, my oXygen 16.1 is also a 64 bit version (java.runtime.version "1.7.0_55-b13") so I'd suppose the output should be identical?

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Mon Apr 20, 2015 5:53 pm
by sorin_ristache
In theory yes, they should be identical, but I did not test with xsltproc and an IcedTea OpenJDK.

If you run the same customized DocBook PDF transformation with the embedded JRE that comes in the Oxygen kit (which is an official Oracle JRE), do you get the correct PDF output? If you don't get a correct output: can you please send us a sample DocBook XML document for reproducing the problem?

Re: DocBook output broken in Linux environment

Posted: Mon Apr 20, 2015 6:47 pm
by Frank Ralf
Hi Sorin,

Thanks for your quick reply. I will test again and report back.

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Tue Apr 21, 2015 8:53 am
by sorin_ristache
Hi Frank,

Please test again and let us know if the same customized DocBook PDF transformation applied to the same DocBook XML source document generates the expected correct PDF output in the Oxygen application, using the Apply Transformation Scenario action available in the toolbar of the editor panel and also in the Transformation Scenarios view. If you don't get the correct result please let us know and send us some sample files for reproducing the problem.

Re: DocBook output broken in Linux environment

Posted: Tue Apr 21, 2015 12:02 pm
by Frank Ralf
Hi Sorin,

Strangely, the transformation now also breaks in oXygen. But the error message points to a possible error in our FO customization so I will have a closer look at the customization before I follow the JRE route. I'll keep you posted.

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Wed Apr 29, 2015 11:39 am
by Frank Ralf
We are still investigating this problem but here's a resource which might help others to pinpoint the cause of similar issues: http://www.sagehill.net/docbookxsl/Portability.html

Frank

Re: DocBook output broken in Linux environment

Posted: Wed Apr 29, 2015 11:47 am
by sorin_ristache
Hi Frank,

Thank you for posting this link.

We endorse the Saxon XSLT processor and the Apache FOP processor, which come in the Oxygen install kit. After extensive tests with these processors for a long time in the Oxygen family of applications we have never encountered portability issues caused by them.

Re: DocBook output broken in Linux environment

Posted: Tue May 19, 2015 3:45 pm
by Frank Ralf
Hi Sorin,

Thanks for this information. It might help us to convince the customer to switch to another processor.

In the meantime, I'm thinking about tackling this problem by Remote development in virtual machine.

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Tue May 19, 2015 5:14 pm
by sorin_ristache
Did you manage to trace the location of the transformation error? Does the XSLT transformation also break in the Oxygen application with the Saxon processor?

Or does the transformation break with a custom processor (xsltproc) but works correctly with one of the XSLT processors that come in the Oxygen kit, for example the Saxon processor? Can you isolate the area of XSLT code where this difference occurs, and post here or send us a small sample XSLT file and a sample XML input file that show this difference in the execution of the same XSLT transformation with two different processors?

Re: DocBook output broken in Linux environment

Posted: Fri May 22, 2015 4:32 pm
by Frank Ralf
Hi Sorin,

Thank you for asking. We've now found out that the standard DocBook XSLT stylesheet (.../fo/docbook.xsl) which comes with the openSUSE Linux distribution on the server differs from the original version (http://sourceforge.net/p/docbook/code/H ... ocbook.xsl) but we still have to find out why. However, this is definitely our prime suspect at the moment.

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Wed May 27, 2015 6:54 pm
by Frank Ralf
Just an update.

We finally found out that the installed version on the openSUSE 12.3 server
(docbook5-xsl-stylesheets-1.78.1-2.5.1.src.rpm) - strangly - doesn't contain the official DocBook stylesheet from Sourceforge but the oXygen one! How that can be is a mistery for us. The tricky thing is that the files look identical on first sight, for example they contain the same ID and timestamp:

Code: Select all

 $Id: docbook.xsl 9647 2012-10-26 17:42:03Z bobstayton $


For more information see "Differences between oXygen XLS and Sourceforge version".

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Thu May 28, 2015 9:16 am
by sorin_ristache
Hi,

If the same DocBook XSL stylesheets come with the SUSE server installation as in the Oxygen installation then you should get the same output as in the DocBook transformation in the Oxygen application. Maybe there is a different parameter set in your DOcBook transformation that is not present in the Oxygen transformation, or maybe a different FO processor is used for generating the final PDF output?

Anyway I think we can help you only if you can send us some sample files for reproducing the error in the Oxygen application.

Re: DocBook output broken in Linux environment

Posted: Mon Jun 01, 2015 12:03 pm
by Frank Ralf
Hi Sorin,

Thanks for your reply. We haven't and couldn't investigate any further but we think the SUSE distribution didn't (and don't) contain the oXygen XSL stylesheets but that someone has overwritten the original one. However, now that we have found the difference between the two environments the above mentioned errors should be gone. I will test again and report back.

Kind regards,
Frank

Re: DocBook output broken in Linux environment

Posted: Tue Jun 02, 2015 9:10 am
by sorin_ristache
Hi Frank,

Thank you for letting us know.