Closed toddfarmer closed 6 years ago
Note: Comment by Kouhei Sutou (kou):
[~rvernica]
I want to separate debian/ directory like debian.ubuntu-14.04/ for Ubuntu 14.04 because there are many differences with other supported platforms.
Note: Comment by Rares Vernica (rvernica):
I'm trying to build Arrow 0.7.0
in Ubuntu 14.04
using the patches from here but I am having some issues with glib:
# docker run --rm --tty --volume /arrow/arrow-dist/cpp-linux/apt:/host:rw --env DEBUG=yes apache-arrow-ubuntu-14.04 /host/build.sh
...
make[2]: Entering directory `/build/apache-arrow-0.7.0/c_glib_build'
make all-recursive
make[3]: Entering directory `/build/apache-arrow-0.7.0/c_glib_build'
Making all in arrow-glib
make[4]: Entering directory `/build/apache-arrow-0.7.0/c_glib_build/arrow-glib'
GEN stamp-enums.c
touch stamp-enums.c
GEN stamp-enums.h
touch stamp-enums.h
make all-am
make[5]: Entering directory `/build/apache-arrow-0.7.0/c_glib_build/arrow-glib'
CXX libarrow_glib_la-array.lo
In file included from ../../c_glib/arrow-glib/array.h:23:0,
from ../../c_glib/arrow-glib/array.hpp:24,
from ../../c_glib/arrow-glib/array.cpp:24:
../../c_glib/arrow-glib/compute.h:27:25: error: expected constructor, destructor, or type conversion before '(' token
G_DECLARE_DERIVABLE_TYPE(GArrowCastOptions,
^
../../c_glib/arrow-glib/compute.h:37:1: error: 'GArrowCastOptions' does not name a type
GArrowCastOptions *garrow_cast_options_new(void);
^
In file included from ../../c_glib/arrow-glib/array.hpp:24:0,
from ../../c_glib/arrow-glib/array.cpp:24:
../../c_glib/arrow-glib/array.h:88:42: error: 'GArrowCastOptions' has not been declared
GArrowCastOptions *options,
^
In file included from ../../c_glib/arrow-glib/array.cpp:26:0:
../../c_glib/arrow-glib/compute.hpp:26:1: error: 'GArrowCastOptions' does not name a type
GArrowCastOptions *garrow_cast_options_new_raw(arrow::compute::CastOptions *arrow_cast_options);
^
../../c_glib/arrow-glib/compute.hpp:27:58: error: 'GArrowCastOptions' was not declared in this scope
arrow::compute::CastOptions *garrow_cast_options_get_raw(GArrowCastOptions *cast_options);
^
../../c_glib/arrow-glib/compute.hpp:27:77: error: 'cast_options' was not declared in this scope
arrow::compute::CastOptions *garrow_cast_options_get_raw(GArrowCastOptions *cast_options);
^
../../c_glib/arrow-glib/array.cpp:519:19: error: 'GArrowCastOptions' has not been declared
GArrowCastOptions *options,
^
../../c_glib/arrow-glib/array.cpp: In function 'GArrowArray* garrow_array_cast(GArrowArray*, GArrowDataType*, int*, GError**)':
../../c_glib/arrow-glib/array.cpp:530:61: error: 'garrow_cast_options_get_raw' cannot be used as a function
auto arrow_options = garrow_cast_options_get_raw(options);
^
make[5]: *** [libarrow_glib_la-array.lo] Error 1
make[5]: Leaving directory `/build/apache-arrow-0.7.0/c_glib_build/arrow-glib'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/build/apache-arrow-0.7.0/c_glib_build/arrow-glib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/build/apache-arrow-0.7.0/c_glib_build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/build/apache-arrow-0.7.0/c_glib_build'
dh_auto_build: make -j1 returned exit code 2
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory `/build/apache-arrow-0.7.0'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Failed debuild -us -uc
Note: Comment by Wes McKinney (wesm):
hi [~rvernica]
you need ARROW-1546 https://github.com/apache/arrow/commit/bfe657909f5e7d96b7b8e5179baa17044b6ea375
Note: Comment by Rares Vernica (rvernica):
Thanks for the pointer on glib. I applied the bfe65790
commit on top of the 0.7.0
tag and I am able to move past that error, but I get some errors related to missing files, even while building for Ubuntu 16.04
:
# docker run --rm --tty --volume /arrow-dist/cpp-linux/apt:/host:rw --env DEBUG=yes apache-arrow-ubuntu-16.04 /host/build.sh
...
-- Installing: /build/apache-arrow-0.7.0/debian/tmp/usr/include/arrow/python/type_traits.h
-- Installing: /build/apache-arrow-0.7.0/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/arrow-python.pc
make[2]: Leaving directory '/build/apache-arrow-0.7.0/cpp_build'
dh_auto_install \
--sourcedirectory=c_glib \
--builddirectory=c_glib_build
make[1]: Leaving directory '/build/apache-arrow-0.7.0'
dh_install
dh_install: libarrow-glib0 missing files: usr/lib/*/libarrow-glib.so.*
dh_install: gir1.2-arrow-1.0 missing files: usr/lib/*/girepository-1.0/
dh_install: libarrow-glib-dev missing files: usr/include/arrow-glib/
dh_install: libarrow-glib-dev missing files: usr/lib/*/libarrow-glib.a
dh_install: libarrow-glib-dev missing files: usr/lib/*/libarrow-glib.so
dh_install: libarrow-glib-dev missing files: usr/lib/*/pkgconfig/arrow-glib.pc
dh_install: libarrow-glib-dev missing files: usr/share/gir-1.0/
dh_install: libarrow-glib-dev missing files: usr/share/arrow-glib/example/
dh_install: libarrow-glib-doc missing files: usr/share/doc/libarrow-glib-doc/arrow-glib/
dh_install: missing files, aborting
debian/rules:12: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1376:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Failed debuild -us -uc
It seems like nothing is happening for c_glib
during dh_auto_install
.
Note: Comment by Rares Vernica (rvernica): I figured it out. I was applying the patch on the git clone and then doing git archive. The resulting archive did not contain all the necessary Makefiles. Instead, I applied the patch on the distributed archive and it worked.
Note: Comment by Rares Vernica (rvernica): PR: https://github.com/apache/arrow-dist/pull/11
Note: This issue was originally created as ARROW-1538. Please see the migration documentation for further details.
Original Issue Description: