From 63e7966adc8c2664be76928c16555d818ca1bba3 Mon Sep 17 00:00:00 2001 From: Wataru Shimizu Date: Tue, 19 Sep 2017 00:00:58 +0900 Subject: [PATCH] ARROW-1464: [GLib] Add "Common build problems" section into the README.md of c_glib Add some detailed explanation of common build problems especially on macOS because it requires some tweaks. Author: Wataru Shimizu Closes #1104 from wagavulin/build-troubleshooting and squashes the following commits: 9b655426 [Wataru Shimizu] Improve format and the explanation of installing/linking autoconf archive on macOS. b6c5274f [Wataru Shimizu] Add "Common build problems" section in the README.md of c_glib --- c_glib/README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/c_glib/README.md b/c_glib/README.md index 5062ceab7a76f..2a9d5d64ce2cd 100644 --- a/c_glib/README.md +++ b/c_glib/README.md @@ -197,3 +197,43 @@ Now, you can run unit tests by the followings: % cd c_glib % test/run-test.sh ``` + +## Common build problems + +### configure failed - `AX_CXX_COMPILE_STDCXX_11(ext, mandatory)' + +* Check whether `autoconf-archive` is installed. +* [macOS] `autoconf-archive` must be linked, but may not be linked. You can check it by running `brew install autoconf-archive` again. If it's not linked, it will show a warning message like: + +```console +% brew install autoconf-archive +Warning: autoconf-archive 2017.03.21 is already installed, it's just not linked. +You can use `brew link autoconf-archive` to link this version. +``` + +In this case, you need to run `brew link autoconf-archive`. It may fail with the following message if you have install conflicted packages (e.g. `gnome-common`). + +```console +% brew link autoconf-archive +Linking /usr/local/Cellar/autoconf-archive/2017.03.21... +Error: Could not symlink share/aclocal/ax_check_enable_debug.m4 +Target /usr/local/share/aclocal/ax_check_enable_debug.m4 +is a symlink belonging to gnome-common. You can unlink it: + brew unlink gnome-common +``` + +You need to run `brew unlink `, then run `brew link autoconf-archive` again. + +After installing/linking `autoconf-archive`, run `./autogen.sh` again. + +### [macOS] configure failed - gobject-introspection-1.0 is not installed + +gobject-introspection requires libffi, and it's automatically installed with gobject-introspection. However it can't be found because it's [keg-only](https://docs.brew.sh/FAQ.html#what-does-keg-only-mean). You need to set `PKG_CONFIG_PATH` when executing configure. + +```console +% ./configure PKG_CONFIG_PATH=$(brew --prefix libffi)/lib/pkgconfig +``` + +### build failed - /usr/bin/ld: cannot find -larrow + +Arrow C++ must be installed to build Arrow GLib. Run `make install` on Arrow C++ build directory. In addtion, on linux, you may need to run `sudo ldconfig`.