[mapserver-dev] Projections and CONFIG file in MapServer 8.0
Even Rouault
even.rouault at spatialys.com
Thu Jul 7 06:26:35 PDT 2022
Hi Seth,
> Thanks, Steve and Jeff for the feedback.
> As system environment variables never worked with IIS (only FastCGI environment variables) I was only ever able to configure PROJ_LIB in a Mapfile.
>
> Logically, I'd assume a Mapfile would override a CONFIG setting, as it is the last/top setting. However, as PROJ_LIB can be used to load a DLL from any location then I can see why it would make sense to lock it down in the CONFIG file.
PROJ_LIB name is a bit misleading: it cannot be used to load executable
code/.dll. A more suitable name would have been PROJ_DATA.
> I'll have a dig into the code to see why it sometimes uses one and sometimes the other setting - ideally we'd make a call on which has priority and make sure it works consistently.
Could you test if https://github.com/MapServer/MapServer/pull/6565 helps
? Reviewing how config options set in mapfile were processed, I see that
PROJ_LIB setting involves a special processing, which wasn't replicated
when setting it from the config file.
Even
>
> Seth
>
>
> --
> web:https://geographika.net
> twitter: @geographika
>
> On Thu, Jul 7, 2022, at 1:27 AM, Jeff McKenna wrote:
>> I can dream of a 'PROJ_LIB_LOCATION_PRIORITY' setting in the MapServer
>> .conf file:
>>
>> 1 : use .conf setting
>> 2 : use setting inside your .mapfile or .include
>> 3 : use setting from Web Server (Apache conf, etc.)
>> 4 : use setting at the System environment level [warning to Windows
>> Server admins, this is problematic on some systems in several ways:
>> often not found, or conflicts with other FOSS4G software settings for PROJ]
>>
>>
>> Or, the old rule applies here: 'never send an important email after 6pm' ha!
>>
>> Thanks for listening,
>>
>> -jeff
>>
>>
>>
>>
>>
>>
>> On 2022-07-06 8:12 p.m., Jeff McKenna wrote:
>>> Ok thanks Steve, but can you be more specific regarding 'local setting'?
>>> On Windows each FOSS4G software has its own PROJ instance/version and
>>> its own PROJ_LIB variable (yes it's complete disaster, waiting to
>>> happen). So where does the mapfile's PROJ_LIB setting, and then the
>>> System environment variable fit into your 3 ?
>>>
>>> Thanks,
>>>
>>> -jeff
>>>
>>>
>>>
>>> On 2022-07-06 6:44 p.m., Steve Lime wrote:
>>>> I understand your logic and would agree for most things. However, one
>>>> benefit of the config file is to allow admins to lock things down -
>>>> especially items like environment variable settings that tell
>>>> MapServer to load code. Hence my original response, so 1) config file,
>>>> 2) web server environment, 3) local setting.
>>>>
>>>> --Steve
>>>>
>>>> On Wed, Jul 6, 2022 at 4:05 PM Jeff McKenna
>>>> <jmckenna at gatewaygeomatics.com <mailto:jmckenna at gatewaygeomatics.com>>
>>>> wrote:
>>>>
>>>> Oh don't forget PostGIS' use of that same variable (that's where I
>>>> hit
>>>> this on servers constantly).
>>>>
>>>> So, my point is, that the only way we can avoid all this
>>>> "environment"
>>>> variable chaos is first always use the local mapfile setting, then
>>>> look
>>>> for .conf, and if neither has this, check the other sources.
>>>>
>>>> -jeff
>>>>
>>>>
>>>>
>>>> On 2022-07-06 6:01 p.m., Jeff McKenna wrote:
>>>> > I think we have several possibilities: environment var (system
>>>> > variable), web server environment variable (Apache config),
>>>> MapServer
>>>> > .conf, and local mapfile setting.
>>>> >
>>>> > I would say that the local mapfile should always be used first by
>>>> > MapServer, in this order:
>>>> >
>>>> > - check mapfile setting,
>>>> > - if not found, check for MapServer .conf setting,
>>>> > - if not found, check for web server setting
>>>> > - if not found, check for system environment variable
>>>> > - ...else, battle for superiority with the other PROJ_LIB
>>>> settings by
>>>> > the other FOSS4G software on that container
>>>> >
>>>> > Notes:
>>>> >
>>>> > - this shared PROJ_LIB issue is not just for MapServer, but is
>>>> faced by
>>>> > all FOSS4G projects that share this variable. On Windows servers
>>>> now it
>>>> > is common for me to have several PROJ_LIB settings, one for each
>>>> FOSS4G
>>>> > software that depends on (depends on that PROJ version for that
>>>> > software), such as QGIS, GDAL, MapServer, etc. etc. Meaning: f
>>>> you need
>>>> > a job run for one software, enable that specific PROJ_LIB.
>>>> >
>>>> > It's fun :)
>>>> >
>>>> > -jeff
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > On 2022-07-06 5:49 p.m., Steve Lime wrote:
>>>> >> This could/would have been the case in past versions as well,
>>>> right?
>>>> >> So I don't think this is a new issue. IMHO I'd think central
>>>> config
>>>> >> settings should trump local settings for something like this.
>>>> >>
>>>> >> On Wed, Jul 6, 2022 at 2:40 PM Seth G <sethg at geographika.co.uk
>>>> <mailto:sethg at geographika.co.uk>
>>>> >> <mailto:sethg at geographika.co.uk
>>>> <mailto:sethg at geographika.co.uk>>> wrote:
>>>> >>
>>>> >> Hi all,
>>>> >>
>>>> >> Using MapServer 8.0 beta and FastCGI (on Windows) I'm
>>>> running into
>>>> >> an issue where the PROJ_LIB setting is sometimes set by the
>>>> value in
>>>> >> the CONFIG file and sometimes by the setting in the Mapfile:
>>>> >>
>>>> >> CONFIG
>>>> >> ENV
>>>> >> MS_MAP_PATTERN "."
>>>> >> PROJ_LIB "C:/MapServer/bin/proj7/share" #proj7
>>>> >> END
>>>> >> END
>>>> >>
>>>> >> Then in a Mapfile:
>>>> >>
>>>> >> CONFIG "PROJ_LIB" "C:/MapServer/bin/proj/SHARE" # uses proj6
>>>> >>
>>>> >> Requests will use one PROJ setting then switch to another
>>>> seemingly
>>>> >> at random.
>>>> >> Should one always take precedence over the other?
>>>> >>
>>>> >> Seth
>>>> >>
>>>> >> --
>>>> >> web:https://geographika.net <https://geographika.net>
>>>> <https://geographika.net <https://geographika.net>>
>>>> >> twitter: @geographika
>>>> >
>>>>
>>> _______________________________________________
>>> MapServer-dev mailing list
>>> MapServer-dev at lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
>> --
>> Jeff McKenna
>> GatewayGeo: Developers of MS4W, MapServer Consulting and Training
>> co-founder of FOSS4G
>> http://gatewaygeo.com/
>>
>> _______________________________________________
>> MapServer-dev mailing list
>> MapServer-dev at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
> _______________________________________________
> MapServer-dev mailing list
> MapServer-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
More information about the MapServer-dev
mailing list