[pdal] Build pdal with python 3

Howard Butler howard at hobu.co
Mon Feb 1 11:02:41 PST 2016


ok, I'm glad you were able to make some progress.

> On Feb 1, 2016, at 12:14 PM, flatearth at gmx.net wrote:
> 
> Yes, I use the standard OS X clang compiler. I did not change any variable concerning this.
> The '#include <cstdint> thing' thing happened exactly the same when I compiled pdal against python 2.7 and tried to 'pip install pdal' in a python 3 environment. Now that I compiled against homebrew python 3.5 i can 'pip install pdal' on conda 3.5 without that error messages.
> Only with python 3.4 this error still remains. The only difference I can see ist that for python 3.4 I have to use a conda python environment and not the homebrew or system python.
> 
> I also tried to solve the #include <cstdint> error by using '#include <tr1/cstdint>'. This solves the specific error but multiple new errors follow...
> 
> I guess that it must be something with the conda environment paths which have to be used by cmake for python3.4. But I could not manage to solve until now...
> 
> 
> 
> 
> 
> <quote author='Howard Butler-3'>
> It looks like there is some kind of confusion on your environment. Which
> compiler and compiler version is being used? We might be assuming if you're
> on OSX you're using clang. The #include <cstdint> thing might be related to
> that compiler/version combo, or it might be to some kind of c++11 thing, I'm
> not sure.
> 
>> On Feb 1, 2016, at 11:30 AM, flatearth at gmx.net wrote:
>> 
>> Thanks a lot, the link to your cmake configuration helped. I installed
>> python3 now with Homebrew and set the cmake python variables accordingly.
>> Homebrew installs the most recent version of python 3 which is 3.5.1. It
>> was possible to install pdal via pip also in a Anaconda env with python
>> 3.5.1.
>> 
>> I still don't manage to install pdal python for python 3.4.4 which I
>> prefer to use in my usual Anaconda environment (due to some problems with
>> python 3.5). I tried to set the python pathes to Anaconda in the cmake
>> variables:
>> 
>> -DPYTHON_EXECUTABLE=/Users/me/anaconda/envs/rs/bin/python3 \
>> -DPYTHON_LIBRARY=/Users/me/anaconda/envs/rs/lib/libpython3.4m.dylib \
>> -DPYTHON_INCLUDE_DIR=/Users/me/anaconda/envs/rs/include/python3.4m \
>> 
>> But when doing 'pip install pdal' from my conda python 3.4.4 environment
>> several errors occur again:
>> 
>> (rs)mac:~ me$ python
>> Python 3.4.4 |Anaconda 2.4.0 (x86_64)| (default, Jan  9 2016, 17:30:09) 
>> [GCC 4.2.1 (Apple Inc. build 5577)] on darwin
>> Type "help", "copyright", "credits" or "license" for more information.
>>>>> quit()
>> (rs)mac:~ me$ which pip
>> /Users/me/anaconda/envs/rs/bin/pip
>> (rs)mac:~ me$ pip install pdal
>> Collecting pdal
>> Using cached PDAL-1.1.0.zip
>> Building wheels for collected packages: pdal
>> Running setup.py bdist_wheel for pdal ... error
>> Complete output from command /Users/me/anaconda/envs/rs/bin/python -u -c
>> "import setuptools,
>> tokenize;__file__='/private/var/folders/gz/t3r4_mbs2g11gd54w4ksj7xc0020_6/T/pip-build-f68q4kcb/pdal/setup.py';exec(compile(getattr(tokenize,
>> 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))"
>> bdist_wheel -d
>> /var/folders/gz/t3r4_mbs2g11gd54w4ksj7xc0020_6/T/tmplbj2gl_vpip-wheel-
>> --python-tag cp34:
>> running bdist_wheel
>> running build
>> running build_py
>> creating build
>> creating build/lib.macosx-10.5-x86_64-3.4
>> creating build/lib.macosx-10.5-x86_64-3.4/pdal
>> copying pdal/__init__.py -> build/lib.macosx-10.5-x86_64-3.4/pdal
>> copying pdal/pipeline_xml.py -> build/lib.macosx-10.5-x86_64-3.4/pdal
>> running build_ext
>> building 'pdal.libpdalpython' extension
>> creating build/temp.macosx-10.5-x86_64-3.4
>> creating build/temp.macosx-10.5-x86_64-3.4/pdal
>> gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall
>> -Wstrict-prototypes -I/Users/me/anaconda/envs/rs/include -arch x86_64
>> -I/Users/me/Software/pdal/py34/include -I/usr/local/include
>> -I/usr/local/include -I/usr/local/Cellar/libxml2/2.9.3/include/libxml2
>> -I/usr/local/include -I/usr/local/include
>> -I/Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include
>> -I/Users/me/anaconda/envs/rs/include/python3.4m -c pdal/libpdalpython.cpp
>> -o build/temp.macosx-10.5-x86_64-3.4/pdal/libpdalpython.o -std=c++11
>> In file included from pdal/libpdalpython.cpp:289:
>> In file included from
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/arrayobject.h:4:
>> In file included from
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
>> In file included from
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/ndarraytypes.h:1781:
>> 
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2:
>> warning: "Using deprecated NumPy API, disable it by "          "#defining
>> NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
>> #warning "Using deprecated NumPy API, disable it by " \
>>  ^
>> In file included from pdal/libpdalpython.cpp:291:
>> In file included from
>> /Users/me/Software/pdal/py34/include/pdal/plang/Array.hpp:37:
>> In file included from
>> /Users/me/Software/pdal/py34/include/pdal/pdal_internal.hpp:44:
>> In file included from
>> /Users/me/Software/pdal/py34/include/pdal/pdal_macros.hpp:38:
>> /Users/me/Software/pdal/py34/include/pdal/plugin.hpp:46:10: fatal error:
>> 'cstdint' file not found
>> #include <cstdint>
>>          ^
>> 1 warning and 1 error generated.
>> error: command 'gcc' failed with exit status 1
>> 
>> ----------------------------------------
>> Failed building wheel for pdal
>> Running setup.py clean for pdal
>> Failed to build pdal
>> Installing collected packages: pdal
>> Running setup.py install for pdal ... error
>>   Complete output from command /Users/me/anaconda/envs/rs/bin/python -u
>> -c "import setuptools,
>> tokenize;__file__='/private/var/folders/gz/t3r4_mbs2g11gd54w4ksj7xc0020_6/T/pip-build-f68q4kcb/pdal/setup.py';exec(compile(getattr(tokenize,
>> 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))"
>> install --record
>> /var/folders/gz/t3r4_mbs2g11gd54w4ksj7xc0020_6/T/pip-05u3d_lt-record/install-record.txt
>> --single-version-externally-managed --compile:
>>   running install
>>   running build
>>   running build_py
>>   creating build
>>   creating build/lib.macosx-10.5-x86_64-3.4
>>   creating build/lib.macosx-10.5-x86_64-3.4/pdal
>>   copying pdal/__init__.py -> build/lib.macosx-10.5-x86_64-3.4/pdal
>>   copying pdal/pipeline_xml.py -> build/lib.macosx-10.5-x86_64-3.4/pdal
>>   running build_ext
>>   building 'pdal.libpdalpython' extension
>>   creating build/temp.macosx-10.5-x86_64-3.4
>>   creating build/temp.macosx-10.5-x86_64-3.4/pdal
>>   gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall
>> -Wstrict-prototypes -I/Users/me/anaconda/envs/rs/include -arch x86_64
>> -I/Users/me/Software/pdal/py34/include -I/usr/local/include
>> -I/usr/local/include -I/usr/local/Cellar/libxml2/2.9.3/include/libxml2
>> -I/usr/local/include -I/usr/local/include
>> -I/Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include
>> -I/Users/me/anaconda/envs/rs/include/python3.4m -c pdal/libpdalpython.cpp
>> -o build/temp.macosx-10.5-x86_64-3.4/pdal/libpdalpython.o -std=c++11
>>   In file included from pdal/libpdalpython.cpp:289:
>>   In file included from
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/arrayobject.h:4:
>>   In file included from
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
>>   In file included from
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/ndarraytypes.h:1781:
>> 
>> /Users/me/anaconda/envs/rs/lib/python3.4/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2:
>> warning: "Using deprecated NumPy API, disable it by "          "#defining
>> NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
>>   #warning "Using deprecated NumPy API, disable it by " \
>>    ^
>>   In file included from pdal/libpdalpython.cpp:291:
>>   In file included from
>> /Users/me/Software/pdal/py34/include/pdal/plang/Array.hpp:37:
>>   In file included from
>> /Users/me/Software/pdal/py34/include/pdal/pdal_internal.hpp:44:
>>   In file included from
>> /Users/me/Software/pdal/py34/include/pdal/pdal_macros.hpp:38:
>>   /Users/me/Software/pdal/py34/include/pdal/plugin.hpp:46:10: fatal
>> error: 'cstdint' file not found
>>   #include <cstdint>
>>            ^
>>   1 warning and 1 error generated.
>>   error: command 'gcc' failed with exit status 1
>> 
>>   ----------------------------------------
>> Command "/Users/me/anaconda/envs/rs/bin/python -u -c "import setuptools,
>> tokenize;__file__='/private/var/folders/gz/t3r4_mbs2g11gd54w4ksj7xc0020_6/T/pip-build-f68q4kcb/pdal/setup.py';exec(compile(getattr(tokenize,
>> 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))"
>> install --record
>> /var/folders/gz/t3r4_mbs2g11gd54w4ksj7xc0020_6/T/pip-05u3d_lt-record/install-record.txt
>> --single-version-externally-managed --compile" failed with error code 1 in
>> /private/var/folders/gz/t3r4_mbs2g11gd54w4ksj7xc0020_6/T/pip-build-f68q4kcb/pdal
>> 
>> 
>> 
>> Concerning the manual change of library pathes with 'install_name_tool' I
>> still have to change them with the python 3.5.1 install (as with python
>> 2.7). I changed the CMAKE_INSTALL_PREFIX path to my personal setting and
>> installed pdal to this place. However, the python module is of course
>> installed to the site-package directory of the according python install
>> (if you meant that?).
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> <quote author='Howard Butler-3'>
>> 
>>> On Jan 30, 2016, at 2:58 AM, FE <flatearth at gmx.net> wrote:
>>> 
>>> Hi,
>>> 
>>> I've managed to build pdal 1.1.0 on OS X using cmake-gui and makefiles.
>>> It
>>> was build with python 2 by default. Python modules installed via 'pip
>>> install pdal' work (after several pathes in the libraries have been
>>> corrected manually with 'install_name_tool').
>> 
>> Please provide more detail on this one. If you install PDAL to its
>> CMAKE_INSTALL_PREFIX path, install_name_tool and stuff should all be done
>> for you.
>> 
>>> 
>>> However, since I work with python 3 I would like to build pdal with
>>> python
>>> 3 (it seems impossible to install pdal python modules in a python 3
>>> environment having pdal build with python 2 -> causes various error
>>> messages).
>>> Would anybody like to explain how to build pdal with python 3 on OS X? I
>>> am not very deep into these techniques and did not manage until now.
>>> 
>>> How can I tell cmake to use python 3? It is unclear to me which python is
>>> used by cmake.
>>> I have three pythons on the computer. The system python is python 2,
>>> Homebrew python is python 2 (and python 3 could be installed easily),
>>> finally I use Anaconda with a python 3 environment.
>>> Does cmake only requires the python include directories? How to tell
>>> cmake
>>> which python to use?
>> 
>> We need specific error information and notes about where you had trouble.
>> I
>> build PDAL with embedded Python 3 as a normal part of development almost
>> daily. See my cmake example configuration at [1] for inspiration.
>> 
>> I do see an error with the Python extension at the moment. It has been
>> fixed
>> in https://github.com/PDAL/PDAL/pull/1096 and confirmed to work with
>> Python
>> 3 for me.
>> 
>> Howard
>> 
>> [1] https://github.com/PDAL/PDAL/blob/master/cmake/examples/hobu-config.sh
>> 
>> _______________________________________________
>> pdal mailing list
>> pdal at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pdal
>> </quote>
>> Quoted from: 
>> http://osgeo-org.1560.x6.nabble.com/pdal-Build-pdal-with-python-3-tp5248100p5248128.html
>> 
>> _____________________________________
>> Sent from http://osgeo-org.1560.x6.nabble.com
>> 
> 
> _______________________________________________
> pdal mailing list
> pdal at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pdal
> </quote>
> Quoted from: 
> http://osgeo-org.1560.x6.nabble.com/pdal-Build-pdal-with-python-3-tp5248100p5248343.html
> 
> _____________________________________
> Sent from http://osgeo-org.1560.x6.nabble.com
> 



More information about the pdal mailing list