Bug 1089380

Summary: libpoppler.a has unresolved symbols
Product: [Fedora] Fedora Reporter: Clément DAVID <c.david86>
Component: mingw-popplerAssignee: Sandro Mani <manisandro>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: c.david86, manisandro
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mingw-poppler-0.30.0-3.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-21 17:32:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Sample test case none

Description Clément DAVID 2014-04-18 15:18:57 UTC
Description of problem:

The static library /usr/i686-w64-mingw32/sys-root/mingw/lib/libpoppler.a has unresolved symbols and should be statically linked against its dependencies (libjpeg, openjpeg, etc...).
 

Version-Release number of selected component (if applicable):
mingw32-poppler-static-0.24.5-1.fc20.noarch

How reproducible:
always

Steps to Reproduce:


Actual results:


Expected results:




Additional info:

Comment 1 Sandro Mani 2014-04-18 17:42:11 UTC
There is no linking performed when creating a static library. Please see [1], top answer.

[1] http://stackoverflow.com/questions/9605938/reasoning-about-c-c-static-libraries

Comment 2 Clément DAVID 2014-04-22 12:56:44 UTC
Created attachment 888477 [details]
Sample test case

Thanks for the link, I agree with you. However if the libpoppler.a does not provided iconv, jpeg or openjpeg symbols (accordingly to the link) : the pkg-config file should contains the corresponding "-liconv -ljpeg  -lopenjpeg" flags and libopenjpeg.a should be provided.

I checked using the attached example and : i686-w64-mingw32-g++ -Wall -static -static-libgcc -Dpoppler_cpp_EXPORTS -O0 -g3 -o main_pdf.exe main_pdf.cpp $(mingw32-pkg-config --static --cflags --libs poppler-cpp)

Comment 3 Sandro Mani 2014-04-23 11:40:03 UTC
Ok agree.

Comment 4 Sandro Mani 2014-04-25 22:00:33 UTC
Patched packages are building. Reported upstream here: https://bugs.freedesktop.org/show_bug.cgi?id=77947

Comment 5 Fedora Update System 2014-04-25 22:18:24 UTC
mingw-poppler-0.24.5-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/mingw-poppler-0.24.5-2.fc20

Comment 6 Fedora Update System 2014-04-27 09:09:23 UTC
Package mingw-poppler-0.24.5-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mingw-poppler-0.24.5-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-5694/mingw-poppler-0.24.5-2.fc20
then log in and leave karma (feedback).

Comment 7 Sandro Mani 2014-04-29 22:23:35 UTC
@Clément DAVID
Concerning your comment in bodhi: did you ever manage find a set of linking flags which allowed you to link statically against poppler?

Comment 8 Clément DAVID 2014-04-30 11:14:08 UTC
Yes I'm able to link statically if I compile mingw-poppler disabling openjpeg. Another approach might be to provide a static mingw-openjpeg.

Comment 9 Sandro Mani 2014-04-30 11:15:35 UTC
Uhm, there is a static mingw-openjpeg in the repos.

Comment 10 Clément DAVID 2014-04-30 14:33:00 UTC
Did you check that mingw32-poppler-static define OPJ_EXPORTS at build time ? If not, I guess not defining it might produce this issue.

Comment 11 Sandro Mani 2014-05-03 22:44:59 UTC
OPJ_EXPORTS is default. But looking at the output of i686-w64-mingw32-nm -g /usr/i686-w64-mingw32/sys-root/mingw/lib/libopenjpeg.a makes me suspicious, there are undefined symbols in there which should not be undefined. So I suspect the issues is rather with openjpeg itself.

Comment 12 Sandro Mani 2014-05-04 00:02:16 UTC
Äh bullshit about OPJ_EXPORTS... OPJ_EXPORTS _should_ have been set when compiling openjpeg, which was not the case. So this is definitely part of the issue.

Comment 13 Fedora Update System 2015-05-11 18:51:54 UTC
mingw-poppler-0.30.0-3.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/mingw-poppler-0.30.0-3.fc22

Comment 14 Fedora Update System 2015-05-11 18:52:01 UTC
mingw-poppler-0.24.5-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/mingw-poppler-0.24.5-3.fc20

Comment 15 Fedora Update System 2015-05-11 18:53:10 UTC
mingw-poppler-0.26.5-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/mingw-poppler-0.26.5-2.fc21

Comment 16 Fedora Update System 2015-05-21 17:32:05 UTC
mingw-poppler-0.26.5-2.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2015-05-21 17:33:46 UTC
mingw-poppler-0.24.5-3.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2015-05-26 03:22:28 UTC
mingw-poppler-0.30.0-3.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.