jjwilly16 / node-pdftk

A wrapper for PDF Toolkit with streams and promises.
MIT License
141 stars 34 forks source link

could not load a required library for this operation on arch with pdftk 3.2.1-1 installed #44

Closed gustawdaniel closed 4 years ago

gustawdaniel commented 4 years ago

Reproduce:

Run

npm install && npm test

to see:

Error: could not load a required library for this operation.

for simple

return pdftk
     .input(input)
     .dumpDataFields()
     .output()
     .then(buffer => expect(buffer.equals(testFile)).to.be.true)
     .catch(err => expect(err).to.be.null);

Node js 14.14.0

gustawdaniel commented 4 years ago

I have better error description:

Error: could not load a required library for this operation.
java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringEscapeUtils
Make sure that bcprov and commons-lang3 are installed and included in the
classpath. See also https://gitlab.com/pdftk-java/pdftk/issues/2.
   No output created.

It seems to be problem of arch pdftk installation, no this package, but I will type solution for further readers:

  1. I am trying to install lacking packages
yay -S bcprov  commons-lang3
resolving dependencies...
looking for conflicting packages...

Packages (1) bcprov-1.66-1

Total Download Size:   4.70 MiB
Total Installed Size:  5.61 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 bcprov-1.66-1-any                                                                                                                                         4.7 MiB  5.34 MiB/s 00:01 [#################################################################################################################] 100%
(1/1) checking keys in keyring                                                                                                                                                       [#################################################################################################################] 100%
(1/1) checking package integrity                                                                                                                                                     [#################################################################################################################] 100%
(1/1) loading package files                                                                                                                                                          [#################################################################################################################] 100%
(1/1) checking for file conflicts                                                                                                                                                    [#################################################################################################################] 100%
(1/1) checking available disk space                                                                                                                                                  [#################################################################################################################] 100%
:: Processing package changes...
(1/1) installing bcprov                                                                                                                                                              [#################################################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
 -> Could not find all required packages:
        commons-lang3 (Target)

I found:

https://bugs.archlinux.org/task/65495

and installed package

yay -S java-commons-lang
resolving dependencies...
looking for conflicting packages...

Packages (1) java-commons-lang-3.11-1

Total Download Size:   0.50 MiB
Total Installed Size:  0.55 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 java-commons-lang-3.11-1-any                                                                                                                            514.1 KiB  2.43 MiB/s 00:00 [#################################################################################################################] 100%
(1/1) checking keys in keyring                                                                                                                                                       [#################################################################################################################] 100%
(1/1) checking package integrity                                                                                                                                                     [#################################################################################################################] 100%
(1/1) loading package files                                                                                                                                                          [#################################################################################################################] 100%
(1/1) checking for file conflicts                                                                                                                                                    [#################################################################################################################] 100%
(1/1) checking available disk space                                                                                                                                                  [#################################################################################################################] 100%
:: Processing package changes...
(1/1) installing java-commons-lang                                                                                                                                                   [#################################################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Now it works