<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 11/09/2016 04:14 PM, Even Rouault
wrote:<br>
</div>
<blockquote cite="mid:201611092114.31968.even.rouault@spatialys.com"
type="cite">
<pre wrap="">and it builds fine. Both with gcc 4.6.0 that comes with the DVD, and 4.6.3
after the updates.
So it would seem that it is one of the dependency that might cause the issue
(which seems odd)</pre>
</blockquote>
It's very strange. It builds fine for me in the same build
environment on Fedora 24, 19, 12, and 5 but not on 15. Looking at
the relevant .o files, on Fedora 24 I get:<br>
<br>
[craig:/cw/src_3p/gdal-2.1.2/frmts/o] nm vrtfilters.o|grep
RasterIOInternal<br>
U
_ZN16VRTComplexSource16RasterIOInternalIfEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_<br>
<br>
[craig:/cw/src_3p/gdal-2.1.2/frmts/o] nm vrtsources.o|grep
RasterIOInternal<br>
0000000000000000 W
_ZN16VRTComplexSource16RasterIOInternalIdEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_<br>
0000000000000000 W
_ZN16VRTComplexSource16RasterIOInternalIfEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_<br>
0000000000000000 u
_ZZN16VRTComplexSource16RasterIOInternalIdEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_E10bHasWarned<br>
0000000000000000 u
_ZZN16VRTComplexSource16RasterIOInternalIfEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_E10bHasWarned<br>
<br>
But on the Fedora 15 machine with GCC 4.6.3, I get:<br>
<br>
[dev:/cw/src_3p/gdal-2.1.2/frmts/o] nm vrtfilters.o|grep
RasterIOInternal<br>
U
_ZN16VRTComplexSource16RasterIOInternalIfEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_<br>
<br>
[dev:/cw/src_3p/gdal-2.1.2/frmts/o] nm vrtsources.o|grep
RasterIOInternal<br>
0000000000000000 u
_ZZN16VRTComplexSource16RasterIOInternalIdEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_E10bHasWarned<br>
0000000000000000 u
_ZZN16VRTComplexSource16RasterIOInternalIfEE6CPLErriiiiPvii12GDALDataTypexxP20GDALRasterIOExtraArgS3_E10bHasWarned<br>
<br>
I really don't know how GCC handles C++ templates internally, but
the problem machine is missing 'nm' entries of type 'W' (which
apparently means "weak symbol") to bridge the gap between the
"_ZN16" reference and the "_ZZN16" definition.<br>
<br>
I worked around the problem by making a float-type-only copy of the
templated function VRTComplexSource::RasterIOInternal() and calling
that instead inside "vrtfilters.cpp" and GCC 4.6.3 seems to be happy
with that.<br>
<br>
<div class="moz-signature">-- <br>
Dr. Craig S. Bruce
<br>
Senior Software Developer
<br>
CubeWerx<i> </i>Inc.
<br>
<a href="http://www.cubewerx.com/">http://www.cubewerx.com</a></div>
</body>
</html>