[gdal-dev] [External] : Re: Error on building from master branch on linux
Even Rouault
even.rouault at spatialys.com
Wed Jul 30 13:07:23 PDT 2025
Fengting,
would https://github.com/OSGeo/gdal/pull/12830 help ?
Even
Le 30/07/2025 à 21:35, Fengting Chen a écrit :
>
> Hi Even,
>
> I have been trying to upgrade my compiler to resolve the GDAL
> compilation issue but without success.
>
> According to the documentation of unique_ptr,
>
> |unique_ptr| may be constructed for an incomplete type
> <https://en.cppreference.com/w/cpp/language/type-id.html#Incomplete_type>
> |T|, such as to facilitate the use as a handle in the pImpl idiom
> <https://en.cppreference.com/w/cpp/language/pimpl.html>. If the
> default deleter is used, |T| must be complete at the point in code
> where the deleter is invoked, which happens in the destructor, move
> assignment operator, and |reset| member function of |unique_ptr|.
>
> The error I encountered during the compilation shows that the deleter
> of GDALRasterAttributeTable was invoked when the type was not complete:
>
> In file included from /usr/include/c++/8/memory:80,
>
> from /scratch/gdal/gdal/port/cpl_error.h:372,
>
> from /scratch/gdal/gdal/gcore/gdal.h:30,
>
> from /scratch/gdal/gdal/gcore/gdal_priv.h:45,
>
> from /scratch/gdal/gdal/frmts/pdf/pdfdrivercore.h:16,
>
> from /scratch/gdal/gdal/frmts/pdf/pdfdrivercore.cpp:13:
>
> /usr/include/c++/8/bits/unique_ptr.h: In instantiation of ?~@~Xvoid
> std:: default_delete<_Tp>::operator()(_Tp*) const [with _Tp
> = GDALRasterAttributeTable]?~@~Y:
>
> /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
>
> /scratch/gdal/gdal/gcore/gdal_priv.h:3664:55: required from here
>
> /usr/include/c++/8/bits/unique_ptr.h:79:16: error: invalid application
> of ?~@~Xsizeof?~@~Y to incomplete type
> ?~@~XGDALRasterAttributeTable?~@~Y
>
> static_assert(sizeof(_Tp)>0,
>
> ^~~~~~~~~~~
>
> gmake[2]: *** [frmts/pdf/CMakeFiles/gdal_PDF_core.dir/build.make:76:
> frmts/pdf/ CMakeFiles/gdal_PDF_core.dir/pdfdrivercore.cpp.o] Error 1
>
> Is there any other way to work around it?
>
> Thanks,
>
> -Fengting
>
> *From: *Even Rouault <even.rouault at spatialys.com>
> *Date: *Wednesday, July 23, 2025 at 4:59 PM
> *To: *Fengting Chen <fengting.chen at oracle.com>, gdal dev
> <gdal-dev at lists.osgeo.org>
> *Subject: *Re: [External] : Re: [gdal-dev] Error on building from
> master branch on linux
>
> Le 23/07/2025 à 22:51, Fengting Chen a écrit :
>
> Hi Even,
>
> After resolving error on “GDALRasterAttributeTable” by adding
> “gdal_rat.h” to gdal_priv.h, the compilation failed again.
>
> 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?
>
> yes, the addition of std::unique_ptr<GDALRasterAttributeTable>
> m_poRAT{}; at line 3664 of gdal_priv.h
>
> You should try to update to a more recent compiler.
>
> Even
>
>
>
> --
> http://www.spatialys.com <https://urldefense.com/v3/__http:/www.spatialys.com__;!!ACWV5N9M2RV99hQ!IV0UbTzTiheCT_RtAke5Lf5jehgWvysNhzGSf-s6QzosmATNDjTe2xTp17hAk7QEaHW-P68knUEP-DxLDC1FZG4RX5oU$>
> My software is free, but my time generally not.
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20250730/1551d604/attachment.htm>
More information about the gdal-dev
mailing list