Hi Ryan, Agreed. However for working in pyenvs, it 'just works' more reliably.
I'm actually quite interested in this issue as I have python code on pypi that uses gdal & setuptools. I note you commented on the setuptools issue here https://github.com/pypa/setuptools/issues/1732 but there is also this earlier post https://github.com/pypa/setuptools/issues/1192 >From what I can tell, I agree that CXXFLAGS aren't explicitly handled by setuptools and it uses gcc/clang instead of the ++ variants. I see clang++ being used for the link invocation though. However, either gcc/g++ can be used to compile c++ as code, as long as with gcc the c++ libraries are linked against (which seems to be done correctly). So other than the CXXFLAGS being ignored, it's perhaps not that big of a problem (ie, it's still a C++ compiler at the end of the day https://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html) I'll use the pygdal example (the one I linked above) as it uses setuptools If I do CC=clang++ CXXFLAGS='-std=c++11 -stdlib=libc++' pip -v install --force-reinstall pygdal=="`gdal-config --version`.*" it fails to compile due to C++11 not being enabled If I do CC=clang++ CFLAGS='-std=c++11 -stdlib=libc++' pip -v install --force-reinstall pygdal=="`gdal-config --version`.*" then it works as expected and it uses clang++ throughout in the log file. My read is: -I don't think this is a GDAL specific problem but a disutils/setuptools quirk. - It seems using CFLAGS=$CXXFLAGS would be sufficient to work around the setuptools/distutils behaviour, but that may not be possible with macports/your build env. Cheers Chris Cheers Chris Chris Marsh, PhD University of Saskatchewan chrismarsh.ca On Wed, Jun 17, 2020 at 7:24 PM Ryan Schmidt <g...@ryandesign.com> wrote: > CAUTION: This email originated from outside of the University of > Saskatchewan. Do not click links or open attachments unless you recognize > the sender and know the content is safe. If in doubt, please forward > suspicious emails to phish...@usask.ca > > > On Jun 17, 2020, at 18:38, Chris Marsh wrote: > > > I don't have anything to do with the gdal project, so I don't have a > proper answer for you. > > > > However, I use this project > > https://github.com/nextgis/pygdal > > for using python gdal in my venvs as it behaves much better. > > > > It uses setuptools and does C++11 checks, which requires a c++ compiler. > Might help you out if you can't get a good answer here. > > It looks like there are many changes between the pypi version of gdal that > I've been using and the one you referred to above. I don't have anything to > do with the gdal project either so I'm not qualified to judge whether those > changes are appropriate but my default reaction is to be uncomfortable > using forks of software projects, especially when the original version of > the project is still active. > > Nevertheless I tried building the extension from the code you posted > above, and it has the same problem: the C++ code gets built using the C > compiler, not the C++ compiler. Do you see a different result when you > build it? If so can you tell me more about your system? > >
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev