-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add gdal/3.1.0 #1722
add gdal/3.1.0 #1722
Conversation
Failure in build 1 (
|
Few comments:
I've tried to use as much as possible external dependencies instead of internal ones, except:
I've also tried to fix a little bit nmake files because there are discrepancies between autotools and nmake files (some options can't be disabled in nmake files). Conflicts: there are conflicts in the dependency tree of CCI. For example,
Choice for default options is not straightforward.
(this recipe was hard to create, a lot of things are very fragile in gdal build system) |
Some configurations of 'gdal/3.1.0' failed in build 2 (
|
Some configurations of 'gdal/3.1.0' failed in build 3 (
|
How to deal with that 😓 :
|
Some configurations of 'gdal/3.1.0' failed in build 4 (
|
It probably makes more sense to not build GDAL executables in this recipe (rather in a dedicated recipe):
|
Could you clean up manually this condiguration please? CI fails to remove dirty source folder:
Removing |
@danimtb seems like we have an internal problem here. |
I can replace https://github.com/OSGeo/gdal/archive/v3.1.0.tar.gz by https://github.com/OSGeo/gdal/releases/download/v3.1.0/gdal-3.1.0.tar.gz (doesn't contain |
if self.options.threadsafe: | ||
self.cpp_info.system_libs.append("pthread") | ||
elif self.settings.os == "Windows": | ||
self.cpp_info.system_libs.extend(["psapi", "ws2_32"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GDAL directly call functions defined in kernel32
if using win32 threads. Should I add this lib also? It's not required by MinGW Posix Threads I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, kernel32 is not required. I used to write code with WinAPI in past, including windows threads, kernel32 was not required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
functions like CreateThread reside in kernel32.lib. it's usually included by default in Visual Studio, but for other compilers (MinGW, Clang, Intel, Borland, etc.) it might not be the case.
Some configurations of 'gdal/3.1.0' failed in build 5 (
|
All green in build 6 (
|
Great, it builds. Now, important question: #1722 (comment) I think that GDAL executables should have a dedicated recipe (too big in debug mode, and I don't see any reason to use debug executables). |
Only if they are distributed separated. We are trying to avoid it, because we had many problems with installer package, and now we have build context, which allows get them at same package. Otherwise, you can add an option to build or not the executables, with build context, you can different profiles if it's used as build requirement. |
Disk space is not an issue? I didn't check but it's probably something like 150 GB of executables in CCI for each (version, revision) |
Disk space is not a problem at all, also both VCPKG and Conda provide all together. |
Well ok, therefore this PR is ready for review. |
All green in build 9 (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
All green in build 10 (
|
I can add a small patch to prevent adding |
options = { | ||
"shared": [True, False], | ||
"fPIC": [True, False], | ||
"simd_intrinsics": [None, "sse", "ssse3", "avx"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe I should use False
instead of None
for consistency like
"with_libevent": [False, "libevent", "libev"], |
All green in build 11 (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would love to know projects people are working on using all these libraries from Conan Center 😃
@jgsogo, we are using parts of GDAL at Mira Geoscience in two of our products: There was no easy way to get the latest SDK of GDAL. Now there is Conan! Thank you @SpaceIm and all the contributors for your amazing work here! I have just started to explore Conan a couple of months ago as a better way to handle our third parties. |
This is a great work! Than you @SpaceIm )) |
Good catch @b1x We need to:
Could you open an issue? |
I will try it) |
For the PR, I already have something ready. |
For linux this patch, works for me, but unfortunately I don't have Windows
|
Well there are several things:
|
should be fixed in #1884 |
Specify library name and version: gdal/3.1.0
conan-center hook activated.
closes #1023