[QGIS-Developer] QGIS 3.8.0 on FreeBSD: build takes several hours

Rainer Hurling rhurlin at gwdg.de
Wed Jun 26 02:23:43 PDT 2019


Hi Loïc,

Am 25.06.19 um 22:52 schrieb Loïc Bartoletti:
> Hi,
> 
> Personally on my build machine [1] I've never had a problem to build 
> QGIS master.
> 
> Rainer, some questions:
> 
>   - did you compile from scratch or via our infrastructure 
> (ports/poudriere/synth?)?

I build from the ports system, with an updated graphics/qgis port, 
prepared for the change from QGIS 3.6.0 to 3.8.0.

The behaviour is the same on my real life boxes and on Poudriere.

> 
> - did you have the same problem with FreeBSD 11 or 12?

Until now, I only tested with FreeBSD 13.0-CURRENT. Will try on 
Poudriere with FreeBSD 11 or 12 in the next days.

> 
> - can you try with llvm 6 or 7 from ports (I think that FreeBSD 13 have 
> llvm 8 by default)?

Loïc, this seems to be the right approach. With llvm 8 and 7 the build 
fails, with llvm 6 all builts fine!

As a fallback (workaround), I could enforce the port to use llvm 6, 
until the real cause is found.

The problem seems to be with 
src/core/qgscoordinatereferencesystem_legacy.h and its long table, 
handled via QMap. Obviously, newer llvm versions (7 and 8) are not able 
to create the code correctly.

Thanks for your answer and hints,
Rainer

> 
> Regards,
> 
> Loïc
> 
> [1] A jail with clang 6, qt 5.12, gdal 2.4.1, proj 5.1.0
> 
> Le 24/06/2019 à 13:33, Rainer Hurling a écrit :
>> Am 24.06.19 um 13:02 schrieb Nyall Dawson:
>>> On Mon, 24 Jun 2019 at 20:48, Rainer Hurling <rhurlin at gwdg.de> wrote:
>>>> Hi Nyall,
>>>>
>>>> Am 24.06.19 um 01:33 schrieb Nyall Dawson:
>>>>> On Sat, 22 Jun 2019 at 16:55, Rainer Hurling <rhurlin at gwdg.de> wrote:
>>>>>> As the maintainer of the QGIS port for FreeBSD, I am preparing a port
>>>>>> for the recent update to QGIS 3.8.0.
>>>>>>
>>>>>>
>>>>>> This seems to happen since #18fb3f2 [1] (committed 2019-05-13, 
>>>>>> submitted
>>>>>> 2019-04-30). Before the commit, the build process takes a normal
>>>>>> duration on FreeBSD.
>>>>>>
>>>>>> As far as I can say, the problem occurs with both proj-5.1.0 and
>>>>>> proj-6.1.0. GDAL version is 2.4.1, the OS is FreeBSD 13-0 CURRENT 
>>>>>> amd64.
>>>>>>
>>>>> Hmm - perplexing. Most of that commit should be ifdefed out for proj <
>>>>> 6 builds. I wonder if you tried trimming the contents of
>>>>> qgscoordinatereferencesystem_legacy.h to just a couple of sample lines
>>>>> as a test? Maybe there's something in the compiler which doesn't like
>>>>> the large static QMap...
>>>>>
>>>>> Nyall
>>>>>
>>>> Many thanks for your response.
>>>>
>>>> After trimming the contents of qgscoordinatereferencesystem_legacy.h
>>>> (about 10 lines left), it builds in a normal time again.
>>>>
>>>> So it is likely, that the problem on FreeBSD has something to do with
>>>> its compiler suite? I am using FreeBSD clang version 8.0.1
>>>> (branches/release_80 363030) (based on LLVM 8.0.1).
>>>>
>>>> Is there any workaround, which lets me use the whole contents again?
>>> You could try swapping the QMap for a std::unordered_map and see if
>>> there's any benefit.
>>>
>>> Nyall
>>>
>> I am afraid I have no clue how to do this, because I am not a c++ coder.
>>
>> Is it within qgscoordinatereferencesystem_legacy.h
>> (sAuthIdToQgisSrsIdMap?) or better in qgscoordinatereferencesystem.cpp
>> (at lines:386-405?).
>>
>> As I said in my initial posting, the build duration problem exists on
>> both, proj 5.1.0 and 6.1.0 on FreeBSD ...
>>


More information about the QGIS-Developer mailing list