<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Aptos;
panose-1:2 11 0 4 2 2 2 2 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 1 6 1 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:"Courier New";}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
font-size:10.0pt;
font-family:"Courier New";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.EmailStyle24
{mso-style-type:personal-reply;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Hi Even, <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I have been trying to upgrade my compiler to resolve the GDAL compilation issue but without success.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">According to the documentation of unique_ptr,
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><code><span style="font-size:10.0pt">unique_ptr</span></code> may be constructed for an
<a href="https://en.cppreference.com/w/cpp/language/type-id.html#Incomplete_type" title="cpp/language/type">
incomplete type</a> <code><span style="font-size:10.0pt">T</span></code>, such as to facilitate the use as a handle in the
<a href="https://en.cppreference.com/w/cpp/language/pimpl.html" title="cpp/language/pimpl">
pImpl idiom</a>. If the default deleter is used, <code><span style="font-size:10.0pt">T</span></code> must be complete at the point in code where the deleter is invoked, which happens in the destructor, move assignment operator, and
<code><span style="font-size:10.0pt">reset</span></code> member function of <code>
<span style="font-size:10.0pt">unique_ptr</span></code>.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The error I encountered during the compilation shows that the deleter of GDALRasterAttributeTable was invoked when the type was not complete:
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121">In file included from /usr/include/c++/8/memory:80,</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121"> from /scratch/gdal/gdal/port/cpl_error.h:372,</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121"> from /scratch/gdal/gdal/gcore/gdal.h:30,</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121"> from /scratch/gdal/gdal/gcore/gdal_priv.h:45,</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121"> from /scratch/gdal/gdal/frmts/pdf/pdfdrivercore.h:16,</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121"> from /scratch/gdal/gdal/frmts/pdf/pdfdrivercore.cpp:13:</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121">/usr/include/c++/8/bits/unique_ptr.h: In instantiation of ?~@~Xvoid std:: default_delete<_Tp>::operator()(_Tp*) const [with _Tp = GDALRasterAttributeTable]?~@~Y:</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121">/usr/include/c++/8/bits/unique_ptr.h:277:17: required from ?~@~Xstd:: unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = GDALRasterAttributeTable; _Dp = std::default_delete<GDALRasterAttributeTable>]?~@~Y</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121">/scratch/gdal/gdal/gcore/gdal_priv.h:3664:55: required from here</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121">/usr/include/c++/8/bits/unique_ptr.h:79:16: error: invalid application of ?~@~Xsizeof?~@~Y to incomplete type ?~@~XGDALRasterAttributeTable?~@~Y</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121"> static_assert(sizeof(_Tp)>0,</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121"> ^~~~~~~~~~~</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#212121">gmake[2]: *** [frmts/pdf/CMakeFiles/gdal_PDF_core.dir/build.make:76: frmts/pdf/ CMakeFiles/gdal_PDF_core.dir/pdfdrivercore.cpp.o] Error 1</span><span style="color:#212121"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Is there any other way to work around it?
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-Fengting<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="color:black">From:
</span></b><span style="color:black">Even Rouault <even.rouault@spatialys.com><br>
<b>Date: </b>Wednesday, July 23, 2025 at 4:59</span><span style="font-family:"Arial",sans-serif;color:black"> </span><span style="color:black">PM<br>
<b>To: </b>Fengting Chen <fengting.chen@oracle.com>, gdal dev <gdal-dev@lists.osgeo.org><br>
<b>Subject: </b>Re: [External] : Re: [gdal-dev] Error on building from master branch on linux<o:p></o:p></span></p>
</div>
<p><o:p> </o:p></p>
<div>
<p class="MsoNormal">Le 23/07/2025 à 22:51, Fengting Chen a écrit :<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">Hi Even, </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">After resolving error on “GDALRasterAttributeTable” by adding “gdal_rat.h” to gdal_priv.h, the compilation failed again.
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">The compiler on my machine was working fine with GDAL on the master branch this early May. Could there be anything changed in the GDAL master that caused the compilation failure?
</span><o:p></o:p></p>
</div>
</blockquote>
<p>yes, the addition of std::unique_ptr<GDALRasterAttributeTable> m_poRAT{}; at line 3664 of gdal_priv.h<o:p></o:p></p>
<p>You should try to update to a more recent compiler.<o:p></o:p></p>
<p>Even<o:p></o:p></p>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre><a href="https://urldefense.com/v3/__http:/www.spatialys.com__;!!ACWV5N9M2RV99hQ!IV0UbTzTiheCT_RtAke5Lf5jehgWvysNhzGSf-s6QzosmATNDjTe2xTp17hAk7QEaHW-P68knUEP-DxLDC1FZG4RX5oU$">http://www.spatialys.com</a><o:p></o:p></pre>
<pre>My software is free, but my time generally not.<o:p></o:p></pre>
</div>
</div>
</div>
</div>
</body>
</html>