I have been building poppler on my CentOS 6 server by building a recent gcc, 
and then building poppler with -fabi-version=2 (to use an ABI compatible with 
CentOS 6 g++ 4.4.7) and -static-libstdc++ (so I don't have to install a new 
library). I also built static versions of some of the libraries that poppler 
uses, and sometimes I have to edit the CMakeFiles/*.dir/link.txt files to get a 
clean link. In the end, I get poppler utility executables that can run on stock 
CentOS 6 systems.
Theoretically any distribution that could still build a recent gcc could build 
poppler, although would a distribution with an old gcc (I think that 
-std=gnu++17 was added in gcc 9, released May 2019) push anything but bug fixes 
for packages?
William


________________________________
From: poppler on behalf of Oliver Sander
Sent: Sunday, September 26, 2021 11:35 PM
To: [email protected]
Subject: Re: [poppler] Increasing the C++ standard to C++17

No objections besides the one mentioned by Leonard.

It would also allow to replace Object by std::variant.

Best,
Oliver

On 27.09.21 00:10, Leonard Rosenthol wrote:
> The only downside is that it will prevent the use of Poppler on some 
> Unix/Linux distros due to older GCCs being present…
>
> Leonard
>
> *From: *poppler <[email protected]> on behalf of Albert 
> Astals Cid <[email protected]>
> *Date: *Sunday, September 26, 2021 at 1:39 PM
> *To: *[email protected] <[email protected]>
> *Subject: *[poppler] Increasing the C++ standard to C++17
>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fpoppler%2Fpoppler%2F-%2Fmerge_requests%2F941&amp;data=04%7C01%7Clrosenth%40adobe.com%7Cc33a75763a164819582908d9811496d9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637682747700153065%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=6nEff8jwrD2KwOnWhi6xsbI1tSb9YXsl%2F%2Fcu4YQciUE%3D&amp;reserved=0
>  
> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fpoppler%2Fpoppler%2F-%2Fmerge_requests%2F941&amp;data=04%7C01%7Clrosenth%40adobe.com%7Cc33a75763a164819582908d9811496d9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637682747700153065%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=6nEff8jwrD2KwOnWhi6xsbI1tSb9YXsl%2F%2Fcu4YQciUE%3D&amp;reserved=0>
>
> Anyone against it?
>
> It would allow us to use std::optional which would allow us to change things 
> like
>
> std::unique_ptr<GooString> readMetadata();
>
> to
>
> std::optional<std::string> readMetadata();
>
> where you can differentiate between "no metadata" and "empty metadata" 
> without having to use a pointer.
>
> Seems better API to me.
>
> All the things in the gitlab CI built fine and I don't think the mac/windows 
> builders would be a problem to get the increased C++ standard.
>
> Cheers,
>    Albert
>

Reply via email to