Hello Simba, it looks like you are running to https://issues.apache.org/jira/browse/ARROW-1856.
To work around this issue, please "unset PARQUET_HOME" before you call the setup.py. Also set PKG_CONFIG_PATH, in your case this should be "export PKG_CONFIG_PATH=/Users/simba/anaconda/envs/pyarrow-dev/lib/pkgconfig". By doing this, you do the package discovery using pkg-config instead of the *_HOME variables. Currently this is the only path on which we can auto-detect the extension of the parquet shared library. Nevertheless, I will take a shot at fixing the issues as it seems that multiple users run into it. Uwe On Thu, Jan 11, 2018, at 11:42 PM, simba nyatsanga wrote: > Hi Wes, > > Apologies for the ambiguity there. To clarify, I used the conda > instructions only to create a conda environment. So I did this > > conda create -y -q -n pyarrow-dev \ > python=2.7 numpy six setuptools cython pandas pytest \ > cmake flatbuffers rapidjson boost-cpp thrift-cpp snappy zlib \ > gflags brotli jemalloc lz4-c zstd -c conda-forge > > > I followed the instructions closely and I've stumbled upon a different > error from the one I initially had encountered. Now the issue seems to be > that when I'm building the Arrow C++ i.e running the following steps: > > mkdir parquet-cpp/build > pushd parquet-cpp/build > > cmake -DCMAKE_BUILD_TYPE=$ARROW_BUILD_TYPE \ > -DCMAKE_INSTALL_PREFIX=$PARQUET_HOME \ > -DPARQUET_BUILD_BENCHMARKS=off \ > -DPARQUET_BUILD_EXECUTABLES=off \ > -DPARQUET_BUILD_TESTS=off \ > .. > > make -j4 > make install > popd > > > The make install step generates *libparquet.1.3.2.dylib* as one of the > artefacts, as illustrated below: > > -- Install configuration: "RELEASE"-- Installing: > /Users/simba/anaconda/envs/pyarrow-dev/share/parquet-cpp/cmake/parquet- > cppConfig.cmake-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/share/parquet-cpp/ > cmake/parquet-cppConfigVersion.cmake-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/lib/libparquet. > 1.3.2.dylib-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/lib/libparquet. > 1.dylib-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/lib/ > libparquet.dylib-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/lib/libparquet.a-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > column_reader.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > column_page.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > column_scanner.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > column_writer.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > encoding.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > exception.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > file_reader.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > file_writer.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > metadata.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > printer.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > properties.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > schema.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > statistics.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > types.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > parquet_version.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/lib/pkgconfig/ > parquet.pc-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/api/ > io.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/api/ > reader.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/api/ > writer.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/api/ > schema.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > arrow/reader.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > arrow/schema.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/ > arrow/writer.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/util/ > buffer-builder.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/util/ > comparison.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/util/ > logging.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/util/ > macros.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/util/ > memory.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/util/ > stopwatch.h-- > Installing: /Users/simba/anaconda/envs/pyarrow-dev/include/parquet/util/ > visibility.h > > > Subsequently when I want to build a standalone pyarrow wheel by running > this step: > > python setup.py build_ext --build-type=$ARROW_BUILD_TYPE \ > --with-parquet --with-plasma --bundle-arrow-cpp bdist_wheel > > > > Then I get an error where one of the build steps in the *CMakelists.txt* > expects to find *libparquet.1.0.0.dylib*. The error is illustrated below: > > running build_ext-- Runnning cmake for pyarrow > cmake -DPYTHON_EXECUTABLE=/Users/simba/anaconda/envs/pyarrow-dev/bin/python > -DPYARROW_BUILD_PARQUET=on -DPYARROW_BUILD_PLASMA=on > -DPYARROW_BUNDLE_ARROW_CPP=ON -DCMAKE_BUILD_TYPE=release > /Users/simbarashenyatsanga/Projects/personal/oss/arrow/python > INFOCompiler command: /Library/Developer/CommandLineTools/usr/bin/c++ > INFOCompiler version: Apple LLVM version 8.0.0 > (clang-800.0.42.1)Target: x86_64-apple-darwin15.6.0 > Thread model: posixInstalledDir: /Library/Developer/CommandLineTools/usr/bin > > INFOCompiler id: Clang > Selected compiler clang 3.8.0svn > Configured for RELEASE build (set with cmake > -DCMAKE_BUILD_TYPE={release,debug,...})-- Build Type: RELEASE-- Build > output directory: > /Users/simba/Projects/personal/oss/arrow/python/build/temp.macosx-10.9- > x86_64-2.7/release/-- > Checking for module 'arrow'-- Found arrow, version 0.9.0-SNAPSHOT-- > Arrow ABI version: 0.0.0-- Arrow SO version: 0-- Found the Arrow core > library: /Users/simba/anaconda/envs/pyarrow-dev/lib/libarrow.dylib-- > Found the Arrow Python library: > /Users/simba/anaconda/envs/pyarrow-dev/lib/libarrow_python.dylib > Added shared library dependency arrow: > /Users/simba/anaconda/envs/pyarrow-dev/lib/libarrow.dylib > Added shared library dependency arrow_python: > /Users/simba/anaconda/envs/pyarrow-dev/lib/libarrow_python.dylib-- > Found the Parquet library: > /Users/simba/anaconda/envs/pyarrow-dev/lib/libparquet.dylib > CMake Error: File > /Users/simba/anaconda/envs/pyarrow-dev/lib/libparquet.1.0.0.dylib does > not exist. > CMake Error at CMakeLists.txt:213 (configure_file): > configure_file Problem configuring file > Call Stack (most recent call first): > CMakeLists.txt:296 (bundle_arrow_lib) > > > Added shared library dependency parquet: > /Users/simba/anaconda/envs/pyarrow-dev/lib/libparquet.dylib-- Checking > for module 'plasma'-- Found plasma, version-- Plasma ABI version: > 0.0.0-- Plasma SO version: 0-- Found the Plasma core library: > /Users/simba/anaconda/envs/pyarrow-dev/lib/libplasma.dylib-- Found > Plasma executable: > /Users/simba/anaconda/envs/pyarrow-dev/bin/plasma_store > Added shared library dependency libplasma: > /Users/simba/anaconda/envs/pyarrow-dev/lib/libplasma.dylib-- > Configuring incomplete, errors occurred! > See also "/Users/simba/Projects/personal/oss/arrow/python/build/ > temp.macosx-10.9-x86_64-2.7/CMakeFiles/CMakeOutput.log". > See also "/Users/simba/Projects/personal/oss/arrow/python/build/ > temp.macosx-10.9-x86_64-2.7/CMakeFiles/CMakeError.log".error: > command 'cmake' failed with exit status 1 > > > Also (might be) worth noting from above is that I'm picking up *arrow > 0.9.0-SNAPSHOT.* > > From what I can see in the */Users/simba/anaconda/envs/pyarrow-dev/lib* > folder the sym link is infact pointing to *libparquet.1.3.2.dylib *instead > of the expected *libparquet.1.0.0.dylib*: > > > pwd/Users/simba/anaconda/envs/pyarrow-dev/lib> ll | grep > > "libparquet"-rwxr-xr-x 1 simba staff 1.6M Jan 11 18:45 > > libparquet.1.3.2.dylib > lrwxr-xr-x 1 simba staff 22B Jan 11 18:45 libparquet.1.dylib -> > libparquet.1.3.2.dylib-rw-r--r-- 1 simba staff 3.0M Jan 11 18:45 > libparquet.a > lrwxr-xr-x 1 simba staff 18B Jan 11 18:45 libparquet.dylib -> > libparquet.1.dylib > > > > Just to clarify also, I'm attempting to build the wheel from within > *arrow/python* folder where the *setup.py* file is. > > Thanks again for the help. > > Simba > > > > On Thu, 11 Jan 2018 at 09:09 simba nyatsanga <simnyatsa...@gmail.com> wrote: > > > Hi Wes, > > > > Thanks for the response. I was following the development instructions on > > Github here: > > https://github.com/apache/arrow/blob/master/python/doc/source/development.rst > > > > I took MacOS option and installed my virtual env via conda. I must've > > missed an instruction when trying the 2.7 install, because I was able to > > successfully install for 3.6. > > > > Although it looks like the instructions on Github are similar to the ones > > you linked, I will give it another go with the later. > > > > Kind Regards > > Simba > > > > On Thu, 11 Jan 2018 at 00:51 Wes McKinney <wesmck...@gmail.com> wrote: > > > >> hi Simba, > >> > >> Are you following development instructions in > >> > >> http://arrow.apache.org/docs/python/development.html#developing-on-linux-and-macos > >> or something else? > >> > >> - Wes > >> > >> On Wed, Jan 10, 2018 at 11:20 AM, simba nyatsanga > >> <simnyatsa...@gmail.com> wrote: > >> > Hi, > >> > > >> > I've created a python 2.7 virtualenv in my attempt to build the pyarrow > >> > project. But I'm having trouble running one of commands as specified in > >> the > >> > development docs on Github, specifically this command: > >> > > >> > cd arrow/python > >> > python setup.py build_ext --build-type=$ARROW_BUILD_TYPE \ > >> > --with-parquet --with-plasma --inplace > >> > > >> > The error output looks like this: > >> > > >> > running build_ext-- Runnning cmake for pyarrow > >> > cmake > >> -DPYTHON_EXECUTABLE=/Users/simba/anaconda/envs/pyarrow-dev-py2.7/bin/python > >> > -DPYARROW_BUILD_PARQUET=on -DPYARROW_BUILD_PLASMA=on > >> > -DCMAKE_BUILD_TYPE= /Users/simba/Projects/personal/oss/arrow/python > >> > INFOCompiler command: /Library/Developer/CommandLineTools/usr/bin/c++ > >> > INFOCompiler version: Apple LLVM version 8.0.0 > >> > (clang-800.0.42.1)Target: x86_64-apple-darwin15.6.0 > >> > Thread model: posixInstalledDir: > >> /Library/Developer/CommandLineTools/usr/bin > >> > > >> > INFOCompiler id: Clang > >> > Selected compiler clang 3.8.0svn > >> > Configured for DEBUG build (set with cmake > >> > -DCMAKE_BUILD_TYPE={release,debug,...})-- Build Type: DEBUG-- Build > >> > output directory: > >> > /Users/simba/Projects/personal/oss/arrow/python/build/debug/-- > >> > Checking for module 'arrow'-- No package 'arrow' found-- Found the > >> > Arrow core library: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libarrow.dylib-- > >> > Found the Arrow Python library: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libarrow_python.dylib > >> > Added shared library dependency arrow: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libarrow.dylib > >> > Added shared library dependency arrow_python: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libarrow_python.dylib-- > >> > Checking for module 'parquet'-- No package 'parquet' found-- Found > >> > the Parquet library: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libparquet.dylib > >> > Added shared library dependency parquet: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libparquet.dylib-- > >> > Checking for module 'plasma'-- No package 'plasma' found-- Found the > >> > Plasma core library: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libplasma.dylib-- > >> > Found Plasma executable: > >> > Added shared library dependency libplasma: > >> > /Users/simba/anaconda/envs/pyarrow-dev-py2.7/lib/libplasma.dylib-- > >> > Configuring done-- Generating done-- Build files have been written to: > >> > /Users/simba/Projects/personal/oss/arrow/python-- Finished cmake for > >> > pyarrow-- Running cmake --build for pyarrow > >> > makemake: *** No targets specified and no makefile found. Stop.error: > >> > command 'make' failed with exit status 2 > >> > > >> > > >> > It looks like there's a change dir happening at this line in the > >> setup.py: > >> > https://github.com/apache/arrow/blob/master/python/setup.py#L136 > >> > Which, in my case, is switching to the temp build which doesn't have the > >> > required Makefile to run the make command. > >> > > >> > I could be missing something because I was able to build the project > >> > successfully for python3. But I'd like to build it in python2.7 to > >> attempt > >> > a bug fix for this issue: > >> https://issues.apache.org/jira/browse/ARROW-1976 > >> > > >> > Thanks for help. > >> > > >> > Kind Regards > >> > Simba > >> > >