I don't have $FLATBUFFERS_HOME and I'd rather depend on the setup_build_env.sh 
work.

setup_build_env.sh does work and leave this folder thirdparty/flatbuffers-1.3.0 
that looks good.

The root cause that it doesn't work fully looks like to be Flatbuffers_HOME 
isn't set in CMakeLists.txt file.
With the following change, it works now. 

Micah, would you incorporate this change in your PR if it sounds good? Thanks.

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 6ed2768..cf5919f 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -598,6 +598,9 @@ endif()
 # IPC library

 ## Flatbuffers
+if ("$ENV{Flatbuffers_HOME}" STREQUAL "")
+  set(Flatbuffers_HOME ${THIRDPARTY_DIR}/flatbuffers-1.3.0)
+endif()

Regards,
Kai

-----Original Message-----
From: Wes McKinney [mailto:w...@cloudera.com] 
Sent: Monday, March 28, 2016 11:04 AM
To: dev@arrow.apache.org
Subject: Re: Does arrow/cpp setup google flatbuffers lib by itself?

There could be a cmake caching issue, too. So trying a fresh clone (or deleting 
your out-of-source build directory) may help.

Be sure to check $FLATBUFFERS_HOME and look in that directory to check for 
`flatbuffers/flatbuffers.h`

On Sun, Mar 27, 2016 at 6:55 PM, Zheng, Kai <kai.zh...@intel.com> wrote:
> Thanks Micah. Got noted. OK right now I will work around my setup and if any 
> further interesting finding I will post here for your reference.
>
> Regards,
> Kai
>
> -----Original Message-----
> From: Micah Kornfield [mailto:emkornfi...@gmail.com]
> Sent: Monday, March 28, 2016 9:47 AM
> To: dev@arrow.apache.org
> Subject: Re: Does arrow/cpp setup google flatbuffers lib by itself?
>
> Hi Kai,
> This might not solve your problem but I had an issue building flatbuffers.
> The fix was  I had to modify the flatbuffers cmake file
> (thirdparty/flatbuffers-1.3.0/CMakeLists.txt) to force -std=c++11 instead of 
> c++0x.
>
> I also don't think build_thirdparty.sh is properly surfacing errors if the 
> the make step fails for flatbuffers.  I will hopefully submit a PR tonight or 
> tomorrow with some other build related fixes, that updates 
> build_thirdparty.sh to fail fast if there is a problem with flatbuffers.
>
> Thanks,
> Micah
>
>
>
> On Sun, Mar 27, 2016 at 6:12 PM, Zheng, Kai <kai.zh...@intel.com> wrote:
>
>> Hi Wes,
>>
>> Yes I did `sh setup_build_env.sh`. Everything else works fine, except 
>> the flatbuffers lib.
>> If it assumes equipping the lib by itself, I can look into the issue 
>> and see if a fix is needed or not.
>>
>> Thanks.
>>
>> Regards,
>> Kai
>>
>> -----Original Message-----
>> From: Wes McKinney [mailto:w...@cloudera.com]
>> Sent: Monday, March 28, 2016 9:07 AM
>> To: dev@arrow.apache.org
>> Subject: Re: Does arrow/cpp setup google flatbuffers lib by itself?
>>
>> hi Kai,
>>
>> Did you run
>>
>> source setup_build_env.sh
>>
>> ?
>>
>> You can also manually run the thirdparty build scripts, but then you 
>> must set the environment variables yourself (see the 
>> setup_build_env.sh and also the Travis CI scripts for a complete accounting).
>>
>> Thanks
>> Wes
>>
>> On Sun, Mar 27, 2016 at 5:25 PM, Zheng, Kai <kai.zh...@intel.com> wrote:
>> > Hi,
>> >
>> > Does Arrow/cpp assumes the building set up all its dependencies
>> including google flatbuffers lib by itself? I hit the following error 
>> but am not sure if it's a building issue or not.
>> > Thanks.
>> >
>> > [root@zkdesk debug]# pwd
>> > /home/workspace/arrow/cpp/debug
>> > [root@zkdesk debug]# cmake ..
>> > Configured for DEBUG build (set with cmake
>> > -DCMAKE_BUILD_TYPE={release,debug,...})
>> > INFO Using built-in specs.
>> > COLLECT_GCC=/bin/c++
>> > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.3/lto-
>> > w
>> > ra
>> > pper
>> > Target: x86_64-redhat-linux
>> > Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
>> > --infodir=/usr/share/info 
>> > --with-bugurl=http://bugzilla.redhat.com/bugzilla 
>> > --enable-bootstrap --enable-shared --enable-threads=posix 
>> > --enable-checking=release --with-system-zlib --enable-__cxa_atexit 
>> > --disable-libunwind-exceptions --enable-gnu-unique-object 
>> > --enable-linker-build-id --with-linker-hash-style=gnu 
>> > --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto
>> > --enable-plugin --enable-initfini-array --disable-libgcj 
>> > --with-isl=/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redh
>> > a
>> > t-
>> > linux/isl-install
>> > --with-cloog=/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-re
>> > d ha t-linux/cloog-install --enable-gnu-indirect-function 
>> > --with-tune=generic --with-arch_32=x86-64 
>> > --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.3
>> > 20140911 (Red Hat 4.8.3-9) (GCC)
>> >
>> > Selected compiler gcc 4.8.3
>> > collect2 version 4.8.3 20140911 (Red Hat 4.8.3-9) /usr/bin/ld 
>> > --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m
>> > elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 
>> > /usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/crt1.o
>> > /usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/crti.o
>> > /usr/lib/gcc/x86_64-redhat-linux/4.8.3/crtbegin.o
>> > -L/usr/lib/gcc/x86_64-redhat-linux/4.8.3
>> > -L/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64
>> > -L/lib/../lib64 -L/usr/lib/../lib64 
>> > -L/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../.. --version 
>> > -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc 
>> > /usr/lib/gcc/x86_64-redhat-linux/4.8.3/crtend.o
>> > /usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/crtn.o
>> > Using ld linker
>> > -- Found the GTest library:
>> > /home/workspace/arrow/cpp/thirdparty/googletest-release-1.7.0/libgt
>> > e st .a Added static library dependency gtest:
>> > /home/workspace/arrow/cpp/thirdparty/googletest-release-1.7.0/libgt
>> > e st .a CMake Error at cmake_modules/FindFlatbuffers.cmake:83
>> > (message):
>> >   Could not find the Flatbuffers library.  Looked in system search paths.
>> > Call Stack (most recent call first):
>> >   CMakeLists.txt:602 (find_package)
>> >
>> > Regards,
>> > Kai
>> >
>> > -- Configuring incomplete, errors occurred!
>> >
>>

Reply via email to