Skip to content

Commit

Permalink
ARROW-1464: [GLib] Add "Common build problems" section into the READM…
Browse files Browse the repository at this point in the history
…E.md of c_glib

Add some detailed explanation of common build problems especially on macOS because it requires some tweaks.

Author: Wataru Shimizu <[email protected]>

Closes apache#1104 from wagavulin/build-troubleshooting and squashes the following commits:

9b65542 [Wataru Shimizu] Improve format and the explanation of installing/linking autoconf archive on macOS.
b6c5274 [Wataru Shimizu] Add "Common build problems" section in the README.md of c_glib
  • Loading branch information
wagavulin authored and kou committed Sep 18, 2017
1 parent b635d4c commit 63e7966
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions c_glib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <pkgname>`, 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`.

0 comments on commit 63e7966

Please sign in to comment.