Opened 4 years ago
Closed 4 years ago
#61290 closed defect (fixed)
poppler: fails to build in trace mode
Reported by: | iefdev (Eric F) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.3 |
Keywords: | Cc: | ||
Port: | poppler |
Description
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_graphics_poppler/poppler/work/poppler-20.10.0/splash/SplashXPathScanner.h:31:14: fatal error: 'boost/container/small_vector.hpp' file not found :info:build # include <boost/container/small_vector.hpp> :info:build ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :info:build 1 error generated. // ... :warn:build The following existing files were hidden from the build system by trace mode: :msg:build /opt :msg:build /opt/local/bin/gperf :msg:build /opt/local/include/boost/container/small_vector.hpp :msg:build /usr/local/include/boost/container/small_vector.hpp
Adding boost
as a depends_build
, worked.
depends_build-append \
+ port:boost \
port:pkgconfig
If a port needs a dep it should be added, instead of trusting the dependency chain, or so I've been told.
Attachments (1)
Change History (5)
Changed 4 years ago by iefdev (Eric F)
Attachment: | poppler_main.log added |
---|
comment:1 follow-up: 2 Changed 4 years ago by jmroot (Joshua Root)
comment:2 Changed 4 years ago by iefdev (Eric F)
Replying to jmroot:
However it builds fine if boost is not present at all. Certainly we want it to consistently either use or not use boost (possibly controlled by a variant if that would be worthwhile).
Looks like boost
is only used when building Splash:
if(ENABLE_SPLASH) find_package(Boost 1.58.0) if(Boost_FOUND) include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) set(USE_BOOST_HEADERS ON) endif() endif()
…but not required:
if(ENABLE_SPLASH AND NOT Boost_FOUND) message("Warning: Use of boost is recommended for better performance.") endif()
When I changed it to if(ENABLE_SPLASH AND USE_BOOST_HEADERS)
, and then in the Portfile:
configure.args-append \ -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ -DUSE_BOOST_HEADERS=OFF \ -DENABLE_QT5=OFF \ -DENABLE_QT6=OFF \ -DBUILD_GTK_TESTS=OFF \ -DBUILD_QT5_TESTS=OFF \ -DBUILD_QT6_TESTS=OFF \ -DBUILD_CPP_TESTS=OFF \ -DWITH_NSS3=ON variant boost description "Use Boost when building the Splash graphics backend" { depends_build-append port:boost configure.args-replace -DUSE_BOOST_HEADERS=OFF \ -DUSE_BOOST_HEADERS=ON }
Then I could destroot both.
Is that what you had in mind?
comment:3 Changed 4 years ago by dbevans (David B. Evans)
Looks good to me. Will merge PR https://github.com/macports/macports-ports/pull/8690 after doing the appropriate test builds.
comment:4 Changed 4 years ago by iefdev (Eric F)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
However it builds fine if boost is not present at all. Certainly we want it to consistently either use or not use boost (possibly controlled by a variant if that would be worthwhile).