Opened 8 years ago

Closed 8 years ago

#32095 closed update (fixed)

qpdf @2.2.2 build failure; update to 2.3.0

Reported by: srirangav (Sriranga Veeraraghavan) Owned by: wlipa (Bill Lipa)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: haspatch clang Cc: ryandesign (Ryan Schmidt), gnw3
Port: qpdf

Description

qpdf version 2.2.2 fails to build. The build exits with the following error:

:info:build libtool: link: `libqpdf/build/QPDF.lo' is not a valid libtool object
:info:build make: *** [libqpdf/build/libqpdf.la] Error 1
:info:build make: *** Waiting for unfinished jobs....
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_qpdf/qpdf/work/qpdf-2.2.2'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_qpdf/qpdf/work/qpdf-2.2.2" && /usr/bin/make -j4 -w all " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)

The complete build log is attached. qpdf version 2.3.0 builds properly. A patch to the qpdf Portfile is attached.

Attachments (2)

qpdf-2.2.2_build_fail.log (42.0 KB) - added by srirangav (Sriranga Veeraraghavan) 8 years ago.
Build Log for qpdf 2.2.2
Portfile-qpdf.diff (749 bytes) - added by srirangav (Sriranga Veeraraghavan) 8 years ago.
Patch to the qpdf Portfile (updates to version 2.3.0)

Download all attachments as: .zip

Change History (10)

Changed 8 years ago by srirangav (Sriranga Veeraraghavan)

Attachment: qpdf-2.2.2_build_fail.log added

Build Log for qpdf 2.2.2

Changed 8 years ago by srirangav (Sriranga Veeraraghavan)

Attachment: Portfile-qpdf.diff added

Patch to the qpdf Portfile (updates to version 2.3.0)

comment:1 Changed 8 years ago by srirangav (Sriranga Veeraraghavan)

Cc: ranga@… added

Cc Me!

comment:2 Changed 8 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added; ranga@… removed
Keywords: haspatch added
Owner: changed from macports-tickets@… to dojo@…
Summary: qpdf @2.2.2 - build failureqpdf @2.2.2 build failure; update to 2.3.0

comment:3 Changed 8 years ago by ryandesign (Ryan Schmidt)

Keywords: clang added

ranga, the log you attached is incomplete, but I see you're using Lion and clang. FYI 2.2.2 builds fine for me on Snow Leopard with gcc-4.2. So does 2.3.0.

dojo, is it ok if I update the port?

comment:4 Changed 8 years ago by srirangav (Sriranga Veeraraghavan)

You are right - I'm running Lion (10.7.2) with clang / Xcode 4.2. Sorry about the incomplete log - I can rerun the build for qpdf 2.2.2 and attach complete log, if needed.

comment:5 Changed 8 years ago by mr.kamu@…

I ran into the same problem with Lion 10.7.2 with the latest Xcode. I applied the provided patch and it worked perfectly. Thanks Ranga.

comment:6 Changed 8 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: newclosed

Maintainer timeout. Updated port in r88432.

comment:7 Changed 8 years ago by gnw3

Resolution: fixed
Status: closedreopened

With qpdf 2.2.2_0 installed, sudo port upgrade outdated fails to build qpdf @2.3.0 on Snow Leopard:

:info:build /bin/sh ./libtool --quiet --mode=compile /usr/bin/g++-4.2 -I/opt/loc
al/include -pipe -O2 -arch x86_64 -Wall -MD -MF libqpdf/build/QPDFObjectHandle.tdep \
-MP -Iinclude -Ilibqpdf -c libqpdf/QPDFObjectHandle.cc \
-o libqpdf/build/QPDFObjectHandle.o; \
sed -e 's/\.o:/.lo:/' < libqpdf/build/QPDFObjectHandle.tdep > \
libqpdf/build/QPDFObjectHandle.dep:info:build libqpdf/QPDF.cc: In member function \
‘void QPDF::parse(const char*)’::info:build libqpdf/QPDF.cc:408: \
error: no matching function for call to \
‘PointerHolder<char>::PointerHolder(bool, char*&)’:info:build \
/opt/local/include/qpdf/PointerHolder.hh:86: \
note: candidates are: PointerHolder<T>::PointerHolder(const PointerHolder<T>&) [with T = char]\
:info:build /opt/local/include/qpdf/PointerHolder.hh:82: note: \
   PointerHolder<T>::PointerHolder(T*, bool) [with T = char]:info:build \
/bin/sh ./libtool --quiet --mode=compile /usr/bin/g++-4.2 -I/opt/local/include -pipe -O2 \
-arch x86_64 -Wall -MD -MF libqpdf/build/QPDFTokenizer.tdep -MP -Iinclude -Ilibqpdf -c \
libqpdf/QPDFTokenizer.cc -o libqpdf/build/QPDFTokenizer.o; \
sed -e 's/\.o:/.lo:/' < libqpdf/build/QPDFTokenizer.tdep > \
libqpdf/build/QPDFTokenizer.dep:info:build libqpdf/QPDF.cc: At global scope:\
:info:build libqpdf/QPDF.cc:1890: error: no ‘void QPDF::replaceObject(int, int, QPDFObjectHandle)’ \
member function declared in class ‘QPDF’:info:build libqpdf/QPDF.cc:1909: \
error: no ‘void QPDF::swapObjects(int, int, int, int)’ member function declared in class ‘QPDF’

This looks like incompatible headers being found from /opt/local/include. Deactivating the old version before building the new version worked for me.

comment:8 in reply to:  7 Changed 8 years ago by ryandesign (Ryan Schmidt)

Cc: gnwiii@… added
Resolution: fixed
Status: reopenedclosed

Replying to gnwiii@…:

With qpdf 2.2.2_0 installed, sudo port upgrade outdated fails to build qpdf @2.3.0 on Snow Leopard:

Fixed in r88461 and r88462. Reported to the developers here.

In the future please open new tickets for new problems; don't re-open old resolved tickets.

Note: See TracTickets for help on using tickets.