Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation error about icu4c #3

Open
hspeijer opened this issue Jun 4, 2013 · 16 comments
Open

Documentation error about icu4c #3

hspeijer opened this issue Jun 4, 2013 · 16 comments

Comments

@hspeijer
Copy link

hspeijer commented Jun 4, 2013

After following the mac os X instructions I got the following error:

checking for icu-config... no
*** The icu-config script could not be found. Make sure it is
*** in your path, and that taglib is properly installed.
*** Or see http://ibm.com/software/globalization/icu/
configure: error: Library requirements (ICU) not met.
make: *** [couchdb/Makefile] Error 1

Which I fixed by doing

export PATH=brew --cellar icu4c/51.1/bin:$PATH

instead of

export PATH=brew --cellar icu4c/bin:$PATH

as specified in https://github.com/membase/manifest/blob/master/README.markdown

@alk
Copy link
Contributor

alk commented Jun 4, 2013

I am unable to help you with anything specific to OSX but we've seen some issues when people have automake, autoconf and libtool somehow not 100% properly installed.

What is output of the following:

glibtoolize --version

libtoolize --version

autoconf --version

automake --version

on your box ?

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

Thanks for responding so quickly! Here is the output:

Nomad:couchbase-examples hansspeijer$ glibtoolize --version
libtoolize (GNU libtool) 2.2.10
Written by Gary V. Vaughan [email protected], 2003

Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Nomad:couchbase-examples hansspeijer$ libtoolize --version
-bash: libtoolize: command not found
Nomad:couchbase-examples hansspeijer$ autoconf --version
autoconf (GNU Autoconf) 2.61
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License http://www.gnu.org/licenses/gpl.html.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.
Nomad:couchbase-examples hansspeijer$ automake --version
automake (GNU automake) 1.10
Written by Tom Tromey [email protected]
and Alexandre Duret-Lutz [email protected].

Copyright 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Nomad:couchbase-examples hansspeijer$

@alk
Copy link
Contributor

alk commented Jun 4, 2013

Something appear to be causing glibtoolize to not create ltmain.sh file that it's supposed to create. I am thinking that maybe this tool is somehow mis-installed or misconfigured.

May I ask you for output of:

which glibtoolize
which autoconf
which automake

?

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

Nomad:couchbase-examples hansspeijer$ which glibtoolize
/usr/bin/glibtoolize
Nomad:couchbase-examples hansspeijer$ which autoconf
/usr/bin/autoconf
Nomad:couchbase-examples hansspeijer$ which automake
/usr/bin/automake

I have to admit that this system has seen many build systems over the years. In particular I just installed homebrew and backed up macports.

Does this help?

Nomad:couchbase-examples hansspeijer$ brew doctor
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

svn
svnadmin
svndumpfilter
svnlook
svnserve
svnsync
svnversion

Consider amending your PATH so that /usr/local/bin
occurs before /usr/bin in your PATH.

Warning: Your Homebrew is outdated.
You haven't updated for at least 24 hours, this is a long time in brewland!
To update Homebrew, run brew update.
Nomad:couchbase-examples hansspeijer$

@alk
Copy link
Contributor

alk commented Jun 4, 2013

what if you try to follow brew's advice ? Particularly I just noticed that your system's autoconf is far from newest and same applies to libtool.

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

It sure helps.

I now get

configure: will check for sigar.h in /Users/hansspeijer/Development/Projects/couchbase/install/include
checking sigar.h usability... yes
checking sigar.h presence... yes
checking for sigar.h... yes
configure: updating cache config.cache
configure: creating ./config.status
config.status: error: cannot find input file: Makefile.in
make: *** [portsigar/Makefile] Error 1

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

Doing much better now but still no sigar:

Making install in tests
make[3]: Nothing to be done for install-exec-am'. make[3]: Nothing to be done forinstall-data-am'.
make[3]: Nothing to be done for install-exec-am'. make[3]: Nothing to be done forinstall-data-am'.
if [ "xfalse" = "xtrue" ]; then rm -f -f /Users/hansspeijer/Development/Projects/couchbase/install/lib/.la; fi
cd portsigar && LDFLAGS="-L/Users/hansspeijer/Development/Projects/couchbase/install/lib " ./configure -C --prefix=/Users/hansspeijer/Development/Projects/couchbase/install
configure: loading cache config.cache
checking for a BSD-compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... (cached) awk
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... (cached) gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for style of include used by make... GNU
checking dependency style of gcc... (cached) gcc3
checking build system type... (cached) i386-apple-darwin11.4.2
checking host system type... (cached) i386-apple-darwin11.4.2
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/grep -E
checking for fgrep... (cached) /usr/bin/grep -F
checking for ld used by gcc... (cached) /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
checking if the linker (/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld) is GNU ld... (cached) no
checking for BSD- or MS-compatible name lister (nm)... (cached) /usr/bin/nm
checking the name lister (/usr/bin/nm) interface... (cached) BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... (cached) 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld option to reload object files... (cached) -r
checking for objdump... no
checking how to recognize dependent libraries... (cached) pass_all
checking for ar... (cached) ar
checking for strip... (cached) strip
checking for ranlib... (cached) ranlib
checking command to parse /usr/bin/nm output from gcc object... (cached) ok
checking for dsymutil... (cached) dsymutil
checking for nmedit... (cached) nmedit
checking for lipo... (cached) lipo
checking for otool... (cached) otool
checking for otool64... no
checking for -single_module linker flag... (cached) yes
checking for -exported_symbols_list linker flag... (cached) yes
checking for -force_load linker flag... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking for objdir... (cached) .libs
checking if gcc supports -fno-rtti -fno-exceptions... (cached) no
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... (cached) yes
checking if gcc static flag -static works... (cached) no
checking if gcc supports -c -o file.o... (cached) yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin11.4.2 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for main in -lsigar... (cached) yes
checking for sigar.h... (cached) yes
configure: creating ./config.status
config.status: error: cannot find input file: Makefile.in
make: *
* [portsigar/Makefile] Error 1

Thanks for the help!

@alk
Copy link
Contributor

alk commented Jun 4, 2013

make sure you have reasonably recent automake, autoconf and libtool installed (i.e. maybe via brew)

@alk
Copy link
Contributor

alk commented Jun 4, 2013

also given you've switched tool versions it won't hurt to clean things that were produced by older tools.

make clean-xfd-hard at top level will do that

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

I think I found a problem, brew has installed newer versions then are currently used, will check my path

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

I am a bit confused at the moment but we are getting there:
Nomad:couchbase hansspeijer$ /usr/local/Cellar/automake/1.13.2/bin/automake --version
automake (GNU automake) 1.13.2
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later http://gnu.org/licenses/gpl-2.0.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey [email protected]
and Alexandre Duret-Lutz [email protected].
Nomad:couchbase hansspeijer$ ln -s /usr/local/bin/
brew edit gpg jack_load mksnapshot.x64 run_test to_erl
bzr editcap gpg-zip jack_lsp pkg-config svn tshark
capinfos epmd gpgsplit jack_metro preparser svnadmin twdiff
change-svn-wc-format.py erl gpgv jack_netsource process svndumpfilter twfind
ct_run erlc hg jack_unload pyrexc svnlook typer
d8 escript idl2wrs jackd randpkt svnserve v8
dftest event_rpcgen.py ios-sim jackdmp rawshark svnsync wireshark
dialyzer gitstats jack_connect lineprocessor repo svnversion
dumpcap gnuplot jack_disconnect mergecap run_erl text2pcap
Nomad:couchbase hansspeijer$ ln -s /usr/local/bin/automake /usr/local/Cellar/automake/1.13.2/bin/automake
ln: /usr/local/Cellar/automake/1.13.2/bin/automake: File exists
Nomad:couchbase hansspeijer$ ln -s /usr/local/Cellar/automake/1.13.2/bin/automake /usr/local/bin/automake
Nomad:couchbase hansspeijer$ ln -s /usr/local/Cellar/ /usr/local/bin/automake
autoconf/ automake/ bazaar/ erlang/ gnupg/ icu4c/ libevent/ libtool/ pkg-config/ repo/ snappy/ v8/
Nomad:couchbase hansspeijer$ ln -s /usr/local/Cellar/autoconf/2.69/ /usr/local/bin/automake
AUTHORS ChangeLog NEWS TODO share/
COPYING INSTALL_RECEIPT.json README bin/
Nomad:couchbase hansspeijer$ ln -s /usr/local/Cellar/autoconf/2.69/bin/autoconf /usr/local/bin/autoconf
Nomad:couchbase hansspeijer$ which automake
/usr/local/bin/automake
Nomad:couchbase hansspeijer$ automake --version
automake (GNU automake) 1.10
Written by Tom Tromey [email protected]
and Alexandre Duret-Lutz [email protected].

Copyright 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Nomad:couchbase hansspeijer$

@alk
Copy link
Contributor

alk commented Jun 4, 2013

do ls -l /usr/local/bin/automake to double check where it points. Your ln -s is not a force ln so maybe some symlink already exists there. Whether you actually need symlink I have no idea, maybe brew is supposed to do that for you.

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

Thanks for your help Aliaksey. I am still experiencing strange behavior but it seems the only true 'bug' is my build environment and a small documentation error about icu4c.

@hspeijer
Copy link
Author

hspeijer commented Jun 4, 2013

Ok, I managed to make it build. If we can just fix that small documentation issue about icu we can close this issue.

@alk
Copy link
Contributor

alk commented Jun 4, 2013

Your bash was working "as designed". AFAIK there's some sort of caching about where particular command is found.

Regarding documentation fix, please, feel free to submit it. Via gerrit at review.couchbase.org.

@avsej
Copy link
Contributor

avsej commented Jul 23, 2013

Just note for future: I've managed to reproduce similar behaviour when my system has both automake and automake-1.9 packages installed. Removing older one fixes the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants