Comment # 8 on bug 1205043 from
TL;DR: You need to install Boost 1.66 (default system boost) to link with
libpoppler-devel. Other boost versions *may* not work. They have different ABI
from the ones used to link libpoppler runtime and you'll *may* get segfaults.

For extra details,

(In reply to Arvin Schnell from comment #7)
> So as I just found out there are three boost versions in Leap 15.4:
> 1.66 (boost), 1.71 (boost171) and 1.75 (boost.175).
> 
> AFAIU the newer two were just added as workarounds and should likely not
> be normally installed on any system (esp. not on Leap, maybe on SLE).

At least one of these was added for HPC module only but somehow "leaked" out
:-)

The naming is also consequence of going through Factory. After adding
boost-defaults package that provides real package with libboost-headers-devel,
the Provides() were renamed to add *-impl so the names don't conflict. The idea
at the time was to be able to upgrade boost-devel packages in SLES Service
Packs.

This turns out is impossible due to unversioned boost symbols -- they would
clash at runtime if different libraries imported different boost libraries into
one executable.

Another reason for removing Provides() and using real packages is that people
were not seeing libboost-headers-devel and related in zypper search results and
that was a complaint.

And yet another reason to have the package with versioned RPM names is that OBS
images don't have versions in the filename. So boost 1.66 and boost 1.75 would
overwrite themselves on the OBS side if they produced a binary
libboost-headers-devel with different versions.

But, regardless, the problem here is that libpoppler-devel requires system
liboost_headers-devel but the Requires: is somewhat misleading with the >=
instead of =

So, unless you really know what you are doing, on Leap or SLES, use system
boost 1.66 for devel. On TW, there is only one Boost so it's easier to decide.


You are receiving this mail because: