Opened 9 years ago

Closed 9 years ago

#6118 closed enhancement (fixed)

poppler-0.31.0

Reported by: Fernando de Oliveira Owned by: bdubbs@…
Priority: normal Milestone: 7.7
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

http://poppler.freedesktop.org/poppler-0.31.0.tar.xz

http://poppler.freedesktop.org/

The latest stable release is poppler-0.31.0.tar.xz, released on February 5, 2015:

        core:
         * CairoOutputDev: support embedding JBIG2 image data
         * Accept malformed documents whose root is a Page instead of a Pages.
           Bug #88172
         * Fix crash on broken documents
         * JPEG2000Stream: Inline doGetChar and doLookChar
         * GlobalParams cleaning
        
        utils:
         * pdftops: Add rasterization option. Bug #85934
        
        qt4:
         * Expose whole-words search option

        qt5:
         * Expose whole-words search option

Change History (16)

comment:1 by bdubbs@…, 9 years ago

I took a look at this and one test fails from two file hiccups. I did the

git clone git://git.freedesktop.org/git/poppler/test ../test

command and the test was looking for

./../test/unittestcases/Gday garon - open.pdf

but I only have

./../test/unittestcases/Gday gar??on - open.pdf
./../test/unittestcases/Gday gar??on - owner.pdf

This may be some kind of i18n issue.

The source has: "/unittestcases/Gday garçon"

If I change konsole to display utf-8, it changes to garçon, but I can't seem to get ls to display the utf-8 character. I tried LANG=en_US.utf8, but I still get ?? where the ç should be. I also tried LC_ALL.

We need to say something about this on the page, but I don't know how to fix it myself.

I'll also note that the test suite requiring files outside the extracted tarball is not very polite. We should probably add a rm -rf ../test at the end of the instructions as well as the begininng.

comment:2 by Fernando de Oliveira, 9 years ago

I'm almost blind, this hour. Understand you have a problem with the tests.

Building seamonkey, now. Later or or in the morning, will try to run the tests.

comment:3 by bdubbs@…, 9 years ago

With a little more research, I'm making progress.

  1. 'echo *' reports the proper utf-8 filenames when LC_ALL is set, but ls does not render the filename properly.
  1. There is a switch we need for the extra files. The following worked for me to get a clean build/test:
rm -rf testfiles
git clone git://git.freedesktop.org/git/poppler/test testfiles
source /usr/bin/setqt4

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --enable-xpdf-headers \
            --with-testdatadir=$PWD/testfiles
make
LC_ALL=en_US.UTF-8 make check

This eliminates the external directory for the extra files fetched by git.

The check_password test fails for me without the LC_ALL=en_US.UTF-8.

comment:4 by Fernando de Oliveira, 9 years ago

grep -A9 summary poppler-0.31.0-test_suite-make-k-check-2015.02.08-21h18m52s.log
Testsuite summary for poppler 0.31.0
============================================================================
# TOTAL: 16
# PASS:  16
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
--
Testsuite summary for poppler 0.31.0
============================================================================
# TOTAL: 16
# PASS:  16
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

and have just deleted this file :-(

But with my old intructions. Running with your new switch I get 11 Failures.

BTW, I download make a tarball for the testsuite and keep it:

git clone git://git.freedesktop.org/git/poppler/test \
          poppler-0.31.0-test_suite &&
tar -cJf  poppler-0.31.0-test_suite.tar.xz  poppler-0.31.0-test_suite &&
tar -tf   poppler-0.31.0-test_suite.tar.xz &&
rm  -rf   poppler-0.31.0-test_suite

$ du -sh poppler-0.31.0*.xz
1,6M	poppler-0.31.0.tar.xz
4,6M	poppler-0.31.0-test_suite.tar.xz

comment:5 by Fernando de Oliveira, 9 years ago

I will try the tests with your modifications, soon. Was trying to understand nasm possible problems for us.

comment:6 by Fernando de Oliveira, 9 years ago

OK. Solved my problems with the test in our version. I was placing testfiles in the wrong place. After in the good place it still failed, until I modified something in the script. Now it is OK, but can't remember the solving modification.

Good thing is that I confirmed the failure you got in comment:1, although backwards:

I have:

$ echo $LANG
pt_BR.UTF-8

Most tests, I run with env LC_ALL=C make check (or other test command). With Poppler, I always needed to use may default LANG.

After your problem, and having solved mine, decided to use again env LC_ALL=C make -k check.

FAIL: check_password

Files not found:

/tmp/poppler-0.31.0/testfiles/unittestcases/Gday garon - open.pdf
/tmp/poppler-0.31.0/testfiles/unittestcases/Gday garon - owner.pdf

because they have utf8 filenames:

$ find -name Gday\*
./testfiles/unittestcases/Gday garçon - owner.pdf
./testfiles/unittestcases/Gday garçon - open.pdf

The doc is to open is defined in the source code and this seems to be a Qt test (same problem happens with Qt5):

$ grep "doc = " ./qt4/tests/check_password.cpp
    doc = Poppler::Document::load(QString::fromUtf8(TESTDATADIR "/unittestcases/Gday garçon - open.pdf"), "", QString::fromUtf8("garçon").toLatin1() );
    doc = Poppler::Document::load(QString::fromUtf8(TESTDATADIR "/unittestcases/Gday garçon - open.pdf") );
    doc = Poppler::Document::load(QString::fromUtf8(TESTDATADIR "/unittestcases/Gday garçon - owner.pdf"), QString::fromUtf8("garçon").toLatin1(), "" );
    doc = Poppler::Document::load(QString::fromUtf8(TESTDATADIR "/unittestcases/Gday garçon - owner.pdf"), QString::fromUtf8("garçon").toLatin1() );
    doc = Poppler::Document::load(QString::fromUtf8(TESTDATADIR "/unittestcases/Gday garçon - owner.pdf") );
    doc = Poppler::Document::load( QString::fromUtf8(TESTDATADIR "/unittestcases/PasswordEncrypted.pdf") );

Conclusion: tests could be as you wrote in comment:3, but LC_ALL fix is only necessary if your locale is not already using utf8.

comment:7 by bdubbs@…, 9 years ago

OK. Do you want to update or would you prefer I take it?

in reply to:  6 comment:8 by Fernando de Oliveira, 9 years ago

Replying to fo:

OK. Solved my problems with the test in our version.

s/our/your/

Solved my problems with the test in your version.

in reply to:  7 comment:9 by Fernando de Oliveira, 9 years ago

Replying to bdubbs@…:

OK. Do you want to update or would you prefer I take it?

Better you take, please. So you will write in better English when the utf8 fix is necessary for the tests.

comment:10 by bdubbs@…, 9 years ago

Owner: changed from blfs-book@… to bdubbs@…
Status: newassigned

comment:11 by Fernando de Oliveira, 9 years ago

One more info, might be relevant.

I have, as written above:

$ echo $LANG pt_BR.UTF-8

Instead of using native env definitions (no env LC_ALL ...) just tested with

env LC_ALL=en_US.UTF-8 make check

and all tests pass.

Perhaps it could make the instructions simpler, but I'm not sure if it would work for everybody.

comment:12 by Fernando de Oliveira, 9 years ago

Sorry to comment again:

The tests can be run with jN (N > 1):

env LC_ALL=en_US.UTF-8 make -jN check

Now, turning the attention to fluxbox

comment:13 by bdubbs@…, 9 years ago

See what happens with:

LC_ALL=POSIX make -jN check

comment:14 by Fernando de Oliveira, 9 years ago

Just seen this. In a couple of minutes (I hope).

comment:15 by Fernando de Oliveira, 9 years ago

No luck with POSIX, sorry:

# FAIL: 11

Ran twice:

LC_ALL=POSIX ...

and

env LC_ALL=POSIX ...

comment:16 by bdubbs@…, 9 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 15481.

Note: See TracTickets for help on using tickets.