[MacPorts] #55675: qpdf @7.0.0: build fails if qpdf @6.0.0 is active (was: qpdf fails to build)

MacPorts noreply at macports.org
Fri Jan 12 11:03:52 UTC 2018


#55675: qpdf @7.0.0: build fails if qpdf @6.0.0 is active
-----------------------+-----------------
  Reporter:  pmetzger  |      Owner:
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:            |   Keywords:
      Port:  qpdf      |
-----------------------+-----------------

Comment (by ryandesign):

 Your log shows this problem:

 {{{
 :info:build Undefined symbols for architecture x86_64:
 :info:build   "QUtil::string_to_int(char const*)", referenced from:
 :info:build       _main in dct_compress.o
 :info:build   "Pl_DCT::write(unsigned char*, unsigned long)", referenced
 from:
 :info:build       _main in dct_compress.o
 :info:build   "Pl_DCT::finish()", referenced from:
 :info:build       _main in dct_compress.o
 :info:build   "Pl_DCT::Pl_DCT(char const*, Pipeline*, unsigned int,
 unsigned int, int, J_COLOR_SPACE, Pl_DCT::CompressConfig*)", referenced
 from:
 :info:build       _main in dct_compress.o
 :info:build   "Pl_DCT::~Pl_DCT()", referenced from:
 :info:build       _main in dct_compress.o
 :info:build ld: symbol(s) not found for architecture x86_64
 }}}

 I can reproduce this problem, if qpdf @6.0.0 is installed and active when
 I try to build qpdf @7.0.0.

 The build system puts the flags in the wrong order: `-lqpdf
 -L/opt/local/lib -Llibqpdf/build`. This means that the older libqpdf.dylib
 already installed in /opt/local/lib will be used in preference to the new
 one built in libqpdf/build, and the old one doesn't have all the symbols
 the new version does.

 This problem should be reported to the developers of qpdf so that they can
 fix it. Until they do, we should add...

 {{{
 PortGroup conflicts_build 1.0
 conflicts_build ${name}
 }}}

 ...to the port to at least give the user a more helpful error message.

 After you filed this ticket, our buildbot produced a binary archive of
 this port on High Sierra. So if you clean and try again, you should
 receive that. You can also work around the problem by using trace mode
 (`sudo port -t upgrade qpdf`) or by deactivating the old version of qpdf
 before trying to build the new one.

--
Ticket URL: <https://trac.macports.org/ticket/55675#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list