[pdal] PDAL Windows debug configuration

Lars laasunde at hotmail.com
Tue Apr 24 02:26:01 PDT 2018


The linker error is produced by the 'dimbuilder' component. I have attached the linker command and error messages to this email.

It appears to me that OSGeo4W distribution only include "Release" built of all libraries. When building PDAL with "Release" configuration everything works fine but when building PDAL with "Debug" configuration the linking fails due to library mismatch. As far as I know it is not possible to mix "Release" and "Debug" libraries when running or building an application.

Does OSGeo4W provide "Debug" configuration of all libraries?

kind regards, Lars


________________________________
Fra: pdal <pdal-bounces at lists.osgeo.org> på vegne av Howard Butler <howard at hobu.co>
Sendt: 23. april 2018 15:42
Kopi: pdal at lists.osgeo.org
Emne: Re: [pdal] PDAL Windows debug configuration



On 4/23/18 8:18 AM, Andrew Bell wrote:
> On Mon, Apr 23, 2018 at 7:57 AM, Lars <laasunde at hotmail.com> wrote:
>
>> Hello
>>
>> Does 'Building under Windows' support building 'Debug' configuration (64
>> bit)?
Congratulations on being the first to attempt it as far as we know! More
seriously, you are wading into an alligator pond that no one has walked
across yet. We will be happy to merge any items you find along the way.
>>
>> We get the following compiler error under debug config;
>>
>> pdal_kazhdan.vcxproj -> C:\temp\xyz\lib\Debug\pdal_kazhdan.lib
>> jsoncpp.lib(json_value.cpp.obj) : error LNK2038: mismatch detected for
>> '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in DimBuilder.obj
>> jsoncpp.lib(json_value.cpp.obj) : error LNK2038: mismatch detected for
>> 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value
>> 'MDd_DynamicDebug' in DimBuilder.obj
>>
> ...
>
> I really don't understand what would be going on here.  Something seems
> quite mixed up.  The kazhdan library has no reference to jsoncpp as far as
> I can tell and nothing should be linking in DimBuilder.obj.  Perhaps it's
> just the output that's confused/misleading?
>
> What I think is happening is that you have no jsoncpp library built in
> debug mode.  If you remove jsoncpp (or hide it away somewhere), PDAL should
> build its own internal version with the correct compiler options.  But this
> may not be what's wrong as it's hard to say without the actual command
> that's causing an error.
Presumably there is /MT vs /MTd confusion in PDAL's sub-libraries. I
think there will need to be some additional cmake configuration
modification so that the right library type definition makes it down to
these PDAL sub-libraries. I agree with Andrew. PDAL built on the OSGeo4W
stack uses the external OSGeo4W jsoncpp, but the error looks like the
internal embedded one. Something is mixed up.

> Have you cleaned all the output from some previous build?
>
> Do I need to manually download all 3rd party components and build them for
>> debug in order for this to work?
>>
> I don't know for sure, but it may be the case.  The Windows library
> compatibility issues aren't fun.
The OSGeo4W builds on AppVeyor are built with packages from OSGeo4W and
configuration in appveyor.yml and ./scripts/ci/appveyor. These files are
the best source of a known configuration. We only build Release or
RelWithDebInfo builds. I attempted a full Debug build once and started
running into the same issues you did. After seeing all the yaks lining
up for shearing, I ran off.

>> Two minor question
>> - At what point are feature-branches merged back into master branch?
>>
> There's no schedule.  Often we wait for review.
That said master is active development until approximately one month
before release. We are working to get a document together with our
release tic toc and schedule approach on the website in the Project
section by the 1.7.2 release. Watch
https://www.pdal.io/project/index.html for more.
>> - Does PDAL have a fixed release iterval?
>>
> Not at this time, though we try to have releases on a fairly regular basis.
>
We aim for three to four major releases per year, with maintenance
releases starting with 1.7.x coming as needed. Our next maintenance
release will be 1.7.2 in mid-May, which will be cut from the
1.7-maintenance branch. We try to be careful to only merge bug fixes to
the -maintenance branch.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20180424/dfd3dc88/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: msbuild.txt
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20180424/dfd3dc88/attachment.txt>


More information about the pdal mailing list