toddfarmer / arrow-migration

0 stars 1 forks source link

[GLib] Documentation for troubleshooting of build errors #1406

Closed toddfarmer closed 7 years ago

toddfarmer commented 7 years ago

Note: This issue was originally created as ARROW-1464. Please see the migration documentation for further details.

Original Issue Description:

When I built Arrow GLib on macOS and Ubuntu-16.04, some tweaks listed below were required on my environment. I want to share them because they may help other users. Is there suitable place to describe them in the web site or source tree? Or, are there any other way to fix them?

make install and ldconfig

Arrow GLib depends on Arrow C++, so it must be installed with sudo make install before building Arrow GLib. In addition, on linux, sudo ldconfig is also needed.

configure script failed because of AX_CXX_COMPILE_STDCXX_11 macro (macOS)

  1. Check whether autoconf-archive is installed.
  2. Run brew install autoconf-archive again. If it shows like the following message, run brew link autoconf-acrhive.
    $ 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.

Note that some packages (e.g. gnome-common) conflict with autoconf-archive. If you see like the following message, run brew unlink <pkgname>.

$ 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

configure script can't find gobject-introspection-1.0 (macOS)

gobject-introspection requires libffi, and it's automatically installed with gobject-introspection. However it can't be found because it's keg-only. You need to set PKG_CONFIG_PATH when executing configure.

$ PKG_CONFIG_PATH=$(brew --prefix libffi)/lib/pkgconfig ./configure
toddfarmer commented 7 years ago

Note: Comment by Wes McKinney (wesm): Does the GLib module have any prose (i.e. non-API) documentation? That would seem like a good place for this (like http://arrow.apache.org/docs/python/development.html)

toddfarmer commented 7 years ago

Note: Comment by Kouhei Sutou (kou): Arrow GLib uses README for developers information: https://github.com/apache/arrow/tree/master/c_glib#how-to-build-by-developers

I think that RAEDME is a good place to write this information.

I think that http://arrow.apache.org/install/ is a good place for Arrow C++'s make install and ldconfig. The page only has "how to install by package" information for now. It may be better that the page have "how to install from source" too.

toddfarmer commented 7 years ago

Note: Comment by Kouhei Sutou (kou): Issue resolved by pull request 1104 https://github.com/apache/arrow/pull/1104