[QGIS-Developer] Suggestion for improved macOS build compatibility testing

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[QGIS-Developer] Suggestion for improved macOS build compatibility testing

Tom Elwertowski
Hi all,

Both yesterday and today, the macOS build failed due to missing CMake
INCLUDE specifications.

MacOS puts each framework in a separate directory while Linux merges
everything into /usr/local. Thus, Linux commits will compile when a new
dependency is added as long as some other dependency already specifies
/usr/local.

Here is an idea that would help macOS build compatibility. Place each
dependency on the verification build machine in a separate directory such as
/usr/local/gdal-2.2.3/
/usr/local/geos-3.6.1/

This would make commits fail upfront on Linux if CMake INCLUDES needed
by macOS were missing.

Tom
_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Reply | Threaded
Open this post in threaded view
|

Re: Suggestion for improved macOS build compatibility testing

Matthias Kuhn 🌍

Hi Tom,

Sorry to hear that. In the past we had macOS continuous integration tests in place but had to disable them, because the package manager used there (homebrew) was breaking dependencies unpredictably (I don't think that's unexpected news for you if you are building on mac though ;) )

There is no "verification machine" on linux, but there is a docker image. However I am not sure how easy it is to modify this image put headers in different folders and make all the executables (xxx-config) return the modified paths - while keeping the infrastructure maintainable.

Alternatively, I would very much like to get the mac builds back up and running. I don't think we can do this again with the upstream homebrew repo since we don't want our pull requests flagged erroneous for external problems. The best alternative I see is, that we need a curated list of formulae in a separate repository, which would not only help the testing but potentially also the release process. Would you be interested in taking a lead on this?

Best regards

Matthias


On 04/26/2018 07:58 PM, Tom Elwertowski wrote:
Hi all,

Both yesterday and today, the macOS build failed due to missing CMake INCLUDE specifications.

MacOS puts each framework in a separate directory while Linux merges everything into /usr/local. Thus, Linux commits will compile when a new dependency is added as long as some other dependency already specifies /usr/local.

Here is an idea that would help macOS build compatibility. Place each dependency on the verification build machine in a separate directory such as
/usr/local/gdal-2.2.3/
/usr/local/geos-3.6.1/

This would make commits fail upfront on Linux if CMake INCLUDES needed by macOS were missing.

Tom
_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


--
Matthias Kuhn
[hidden email]
<a href="tel:+41764356763">+41 (0)76 435 67 63

_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Reply | Threaded
Open this post in threaded view
|

Re: Suggestion for improved macOS build compatibility testing

Nyall Dawson
In reply to this post by Tom Elwertowski
On 27 April 2018 at 03:58, Tom Elwertowski <[hidden email]> wrote:
> Hi all,
>
> Both yesterday and today, the macOS build failed due to missing CMake
> INCLUDE specifications.

Should be fixed in master now.

Nyall
_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Reply | Threaded
Open this post in threaded view
|

Re: Suggestion for improved macOS build compatibility testing

Tom Elwertowski
In reply to this post by Matthias Kuhn 🌍
Hi Matthias,

I build QGIS dependencies mostly from source. I don't use homebrew or
macports. When I started, fink was popular and very useful for the first
few months. Once I became familiar with Unix-style tools however,
building directly from source was less problematic than dealing with the
external issues in package managers.

Currently, I install Qt binaries and Kyngchaos frameworks and use
configure/make for everything else. I can document the steps. I haven't
in the past because people asking for mac builds have said they are not
developers.

After review of my build process, we can determine if it can be automated.

Tom


On 4/26/18 2:19 PM, Matthias Kuhn wrote:

> Hi Tom,
>
> Sorry to hear that. In the past we had macOS continuous integration
> tests in place but had to disable them, because the package manager used
> there (homebrew) was breaking dependencies unpredictably (I don't think
> that's unexpected news for you if you are building on mac though ;) )
>
> There is no "verification machine" on linux, but there is a docker
> image. However I am not sure how easy it is to modify this image put
> headers in different folders and make all the executables (xxx-config)
> return the modified paths - while keeping the infrastructure maintainable.
>
> Alternatively, I would very much like to get the mac builds back up and
> running. I don't think we can do this again with the upstream homebrew
> repo since we don't want our pull requests flagged erroneous for
> external problems. The best alternative I see is, that we need a curated
> list of formulae in a separate repository, which would not only help the
> testing but potentially also the release process. Would you be
> interested in taking a lead on this?
>
> Best regards
>
> Matthias
>
>
> On 04/26/2018 07:58 PM, Tom Elwertowski wrote:
>> Hi all,
>>
>> Both yesterday and today, the macOS build failed due to missing CMake
>> INCLUDE specifications.
>>
>> MacOS puts each framework in a separate directory while Linux merges
>> everything into /usr/local. Thus, Linux commits will compile when a
>> new dependency is added as long as some other dependency already
>> specifies /usr/local.
>>
>> Here is an idea that would help macOS build compatibility. Place each
>> dependency on the verification build machine in a separate directory
>> such as
>> /usr/local/gdal-2.2.3/
>> /usr/local/geos-3.6.1/
>>
>> This would make commits fail upfront on Linux if CMake INCLUDES needed
>> by macOS were missing.
>>
>> Tom
>> _______________________________________________
>> QGIS-Developer mailing list
>> [hidden email]
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>
> --
> Matthias Kuhn
> [hidden email] <mailto:[hidden email]>
> +41 (0)76 435 67 63 <tel:+41764356763>
> OPENGIS.ch Logo <http://www.opengis.ch>
>
>
> _______________________________________________
> QGIS-Developer mailing list
> [hidden email]
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Reply | Threaded
Open this post in threaded view
|

Re: Suggestion for improved macOS build compatibility testing

Jeremy Palmer-3


On Sun, Apr 29, 2018 at 5:23 AM, Tom Elwertowski <[hidden email]> wrote:


Currently, I install Qt binaries and Kyngchaos frameworks and use configure/make for everything else. I can document the steps. I haven't in the past because people asking for mac builds have said they are not developers.

After review of my build process, we can determine if it can be automated.


Big +1 for this and nightly builds :)

Question: Was there any thought on using QT 5.10 in the official MacOSX distribution? Currently we are using 5.9.3.

Cheers
JeremyΒ 

_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Reply | Threaded
Open this post in threaded view
|

Re: Suggestion for improved macOS build compatibility testing

Tom Elwertowski
I have posted my steps for building QGIS and dependencies from source
here: https://gist.github.com/telwertowski/a047772c8ae38bb6612c0c7180e82a0c

Tom

On 4/28/18 7:12 PM, Jeremy Palmer wrote:

>
> On Sun, Apr 29, 2018 at 5:23 AM, Tom Elwertowski
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Currently, I install Qt binaries and Kyngchaos frameworks and use
>     configure/make for everything else. I can document the steps. I
>     haven't in the past because people asking for mac builds have said
>     they are not developers.
>
>     After review of my build process, we can determine if it can be
>     automated.
>
> Big +1 for this and nightly builds :)
>
> Cheers
> Jeremy
_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Reply | Threaded
Open this post in threaded view
|

Re: Suggestion for improved macOS build compatibility testing

Jeremy Palmer-3

On Thu, May 3, 2018 at 3:54 AM, Tom Elwertowski <[hidden email]> wrote:
I have posted my steps for building QGIS and dependencies from source here: https://gist.github.com/telwertowski/a047772c8ae38bb6612c0c7180e82a0c

Thank you very much Tom. I will try these instructions this week :)

_______________________________________________
QGIS-Developer mailing list
[hidden email]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer