You are not logged in.

#1 2024-12-15 20:27:11

jones
Member
Registered: 2013-03-14
Posts: 272

Is it possible to try and update a package manually from source?

Via https://wiki.archlinux.org/title/Pacman … l_commands, I am aware of using pacman -U to manually (and perhaps forcibly) install ... well, practically any version of a package.

So I actually intend to re-make the gnucash documentation. For that I went to https://wiki.gnucash.org/wiki/Initializ … nvironment and followed their instructions to the letter.
For the sake of completeness, the requirements for software packages seems to be on their github page for the official documentation.
The building via make fails with some fop image ... java errors I do not understand. (See code below)

One cuplrit might be java-batik which is outdated. https://archlinux.org/packages/extra/any/java-batik/

Since it has been flagged 9 days ago, the maintainer does not work for me and it is probably cozy christmas time for him too, I am basically wondering:
How stupid would it be to download batik from source and manually install on my system?
Is there a guide or page available with specifics which one should look out for?


$ make de-guide-pdf
[  0%] Generating ../../share/doc/de/gnucash-guide.pdf
Dez. 15, 2024 9:17:43 PM org.apache.fop.apps.FOUserAgent processEvent
WARNUNG: Font "Symbol,normal,700" not found. Substituting with "Symbol,normal,400".
Dez. 15, 2024 9:17:43 PM org.apache.fop.apps.FOUserAgent processEvent
[...]
Dez. 15, 2024 9:17:44 PM org.apache.fop.apps.FOUserAgent processEvent
INFORMATION: Rendered page #8.
Exception in thread "main" java.lang.NoSuchMethodError: 'void org.apache.fop.svg.SimpleSVGUserAgent.setSourceResolution(float)'
	at org.apache.fop.svg.SimpleSVGUserAgent.<init>(SimpleSVGUserAgent.java:55)
	at org.apache.fop.image.loader.batik.PreloaderSVG$Loader$1.<init>(PreloaderSVG.java:166)
	at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.createImageInfo(PreloaderSVG.java:166)
	at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.getImage(PreloaderSVG.java:131)
	at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.access$200(PreloaderSVG.java:108)
	at org.apache.fop.image.loader.batik.PreloaderSVG.preloadImage(PreloaderSVG.java:76)
	at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:176)
	at org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:127)
	at org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:123)
	at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81)
	at org.apache.fop.fo.FObj.processNode(FObj.java:131)
	at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:321)
	at org.apache.fop.fo.FOTreeBuilder$2.run(FOTreeBuilder.java:185)
	at org.apache.fop.fo.FOTreeBuilder$2.run(FOTreeBuilder.java:182)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:181)
	at java.xml/com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:206)
	at java.xml/com.sun.org.apache.xml.internal.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:250)
	at java.xml/com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:245)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:619)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:184)
	at java.xml/com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.emptyElement(XIncludeHandler.java:1074)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:352)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2735)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:635)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:113)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:551)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:890)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:826)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:134)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1225)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:693)
	at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:780)
	at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:394)
	at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:295)
	at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:117)
	at org.apache.fop.cli.Main.startFOP(Main.java:180)
	at org.apache.fop.cli.Main.startFOP(Main.java:142)
	at org.apache.fop.cli.Main.main(Main.java:211)
make[3]: *** [de/guide/CMakeFiles/de-guide-pdf.dir/build.make:232: share/doc/de/gnucash-guide.pdf] Fehler 1
make[3]: *** Datei „share/doc/de/gnucash-guide.pdf“ wird gelöscht
make[2]: *** [CMakeFiles/Makefile2:1536: de/guide/CMakeFiles/de-guide-pdf.dir/all] Fehler 2
make[1]: *** [CMakeFiles/Makefile2:1543: de/guide/CMakeFiles/de-guide-pdf.dir/rule] Fehler 2
make: *** [Makefile:572: de-guide-pdf] Fehler 2

Offline

#2 2024-12-15 20:47:01

Awebb
Member
Registered: 2010-05-06
Posts: 6,688

Re: Is it possible to try and update a package manually from source?

Offline

#3 2024-12-15 20:49:00

jones
Member
Registered: 2013-03-14
Posts: 272

Re: Is it possible to try and update a package manually from source?

Thank you for your reply, but unless I am missing something, that page seems to be about building a (new) package.

Offline

#4 2024-12-15 21:00:18

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,326

Re: Is it possible to try and update a package manually from source?

Which is the way to accomplish what you want. Do not build and install it globally outside of pacman.

Offline

#5 2024-12-15 21:05:38

seth
Member
Registered: 2012-09-03
Posts: 60,807

Re: Is it possible to try and update a package manually from source?

Edit: ninja'd by Scimmia
Which is what you asked about?
Just running make won't get you anywhere near a package.

---

Maybe take a step back:

I actually intend to re-make the gnucash documentation.

Why? What's the actual goal here?
Are you looking for the https://wiki.archlinux.org/title/Ala ?

Or are you trying to generate an updated version of https://archlinux.org/packages/extra/any/gnucash-docs/ (which isn't flagged out of date as of now)?
Though apparently 5.10 was pushed into the github repo 2 days ago, https://github.com/Gnucash/gnucash-docs … cbea2fdb2c
=> https://wiki.archlinux.org/title/Arch_build_system

ALso upstream seems to provide the documentation in varioufs formats?
https://gnucash.org/docs.phtml

Last edited by seth (2024-12-15 21:06:35)

Offline

#6 2024-12-15 21:21:42

jones
Member
Registered: 2013-03-14
Posts: 272

Re: Is it possible to try and update a package manually from source?

Hi seth smile
Sure, I am aware of all the packages and files you listed.

I just cloned the gnucash-documentation's git repo and followed their instructions to use 'make' as a way to produce a pdf file.

So my goal is to run "make de-guide-pdf" (see code box in op) with 4 additional lines in a config file for Docbook. That is it.
And if that works, I intend to do something about the globally majestic indentation in the pdf files.

But Scimmia basically already told me off to newbie land so I guess I will have to wait for java-batik to get updated to find out if the java/fop errors go away and 'make de-guide-pdf' goes through.

Offline

#7 2024-12-15 21:23:00

cryptearth
Member
Registered: 2024-02-03
Posts: 1,223

Re: Is it possible to try and update a package manually from source?

as a java hobbyist: the error (well, it's an exception actually, but its class name ending in Error hints: "this is an issue neither the caller nor the callee should catch but it's an abnormal condition which should lead to immediate termination of the entire jvm process") you get hints to incompatible versions / version mismatch - or even just outright missing dependencies
the call stack starts at
org.apache.fop.cli.Main.main
which is part of the Apache FOP Project https://xmlgraphics.apache.org/fop/ and errors out in a class constructor
org.apache.fop.svg.SimpleSVGUserAgent.<init>
complaining that within it there's a call to some method which isn't found anywhere within the loaded classes
org.apache.fop.svg.SimpleSVGUserAgent.setSourceResolution(float)
according to its doc https://xmlgraphics.apache.org/fop/trunk/running.html the regular download comes with everything you need:

The following software must be installed:

    - Java 1.8 or later Runtime Environment.

    - Apache™ FOP. The FOP distribution includes all libraries that you will need to run a basic FOP installation. These can be found in the [fop-root]/lib directory. These libraries include the following:

        - Apache XML Graphics Commons, an shared library for Batik and FOP.

        - Apache Batik, an SVG library.

        - Apache Commons Logging, a logger abstraction kit.

        - Apache Commons IO, a library with I/O utilities.

The following software is optional, depending on your needs:

    - Graphics libraries. Generally, FOP contains direct support for the most important bitmap image formats (including PNG, JPEG and GIF). See FOP: Graphics Formats for details.

    - PDF encryption. See FOP: PDF Encryption for details.

In addition, the following system requirements apply:

    - If you will be using FOP to process SVG, you must do so in a graphical environment. See FOP: Graphics (Batik) for details.

so possible issues:
- wrong java version (there were quite some changes from 1.8 to 1.9
- some missing or incompatible dependencies

Last edited by cryptearth (2024-12-15 21:24:24)

Offline

#8 2024-12-15 21:29:41

seth
Member
Registered: 2012-09-03
Posts: 60,807

Re: Is it possible to try and update a package manually from source?

https://gnucash.org/docs/v5/de/gnucash-manual.pdf already is at 5.10
Not sure where fop/batic are coming from, they're not listed as dep of the 5.9 doc package.

Offline

#9 2024-12-15 22:01:58

jones
Member
Registered: 2013-03-14
Posts: 272

Re: Is it possible to try and update a package manually from source?

I know, thanks. But I want to run "make de-guide-pdf" (see code box in op) with some minor changes to get a different layout. That is it.

Offline

#10 2024-12-15 22:31:36

seth
Member
Registered: 2012-09-03
Posts: 60,807

Re: Is it possible to try and update a package manually from source?

Get the PKGBUILD, https://gitlab.archlinux.org/archlinux/ … type=heads
Adjust the version, run "makepkg -o" to get and extract the sources, fix the layout, run "makepkg -ei" to build the packages from the present (fixed) sources and install it.

Offline

#11 2024-12-15 22:52:06

loqs
Member
Registered: 2014-03-06
Posts: 18,230

Re: Is it possible to try and update a package manually from source?

fop  2.10-1 is too new for gnucash-docs 5.10 downgrade fop to 2.9-1.

Offline

Board footer

Powered by FluxBB