diff --git a/c_glib/README.md b/c_glib/README.md index 5062ceab7a7..2a9d5d64ce2 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`.