processone / ejabberd

Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
https://www.process-one.net/ejabberd/
Other
6.11k stars 1.51k forks source link

ejabberd installation issue(sh: line 0: exec: c++: not found ERROR: compile failed while processing /Users/pawanyadav/vcs/ejabberd/deps/stringprep: rebar_abort make: *** [deps/.built] Error 1) #1187

Closed pawan-logicwares closed 8 years ago

pawan-logicwares commented 8 years ago

I am following below link for setup instruction https://docs.ejabberd.im/developer/install-osx/

What version of ejabberd are you using? Latest version form github git clone git@github.com:processone/ejabberd.git

What operating system (version) are you using? OS X 10.9.5

How did you install ejabberd (source, package, distribution)? source

What did not work as expected? Are there error messages in the log? What Make install not working

Amans-iMac:vcs pawanyadav$ cd ejabberd/ Amans-iMac:ejabberd pawanyadav$ ./autogen.sh Amans-iMac:ejabberd pawanyadav$ export LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/opt/expat/lib" Amans-iMac:ejabberd pawanyadav$ export CFLAGS="-I/usr/local/opt/openssl/include/ -I/usr/local/include -I/usr/local/opt/expat/include" Amans-iMac:ejabberd pawanyadav$ export CPPFLAGS="-I/usr/local/opt/openssl/include/ -I/usr/local/include -I/usr/local/opt/expat/include" Amans-iMac:ejabberd pawanyadav$ ./configure --prefix=$HOME/my-ejabberd --enable-mysql checking whether make sets $(MAKE)... yes checking for a BSD-compatible install... /usr/bin/install -c checking for a sed that does not truncate output... /usr/bin/sed checking for erl... /usr/local/bin/erl checking for erlc... /usr/local/bin/erlc checking for epmd... /usr/local/bin/epmd checking for erl... /usr/local/bin/erl checking for erlc... /usr/local/bin/erlc checking Erlang/OTP version... ok checking for Erlang/OTP root directory... /usr/local/Cellar/erlang/17.3/lib/erlang checking for escript... /usr/local/Cellar/erlang/17.3/lib/erlang/bin/escript checking for make... make checking whether Erlang is using deprecated types... no configure: creating ./config.status config.status: creating Makefile config.status: creating vars.config config.status: creating src/ejabberd.app.src Amans-iMac:ejabberd pawanyadav$ make && make install rm -rf deps/.got rm -rf deps/.built /usr/local/Cellar/erlang/17.3/lib/erlang/bin/escript rebar get-deps && :> deps/.got ==> rel (get-deps) ==> ejabberd (get-deps) Pulling lager from {git,"https://github.com/basho/lager",{tag,"3.2.1"}} Cloning into 'lager'... Pulling p1_utils from {git,"https://github.com/processone/p1_utils", {tag,"1.0.5"}} Cloning into 'p1_utils'... Pulling cache_tab from {git,"https://github.com/processone/cache_tab", {tag,"1.0.3"}} Cloning into 'cache_tab'... Pulling fast_tls from {git,"https://github.com/processone/fast_tls", {tag,"1.0.5"}} Cloning into 'fast_tls'... Pulling stringprep from {git,"https://github.com/processone/stringprep", {tag,"1.0.4"}} Cloning into 'stringprep'... Pulling fast_xml from {git,"https://github.com/processone/fast_xml", {tag,"1.1.14"}} Cloning into 'fast_xml'... Pulling stun from {git,"https://github.com/processone/stun",{tag,"1.0.5"}} Cloning into 'stun'... Pulling esip from {git,"https://github.com/processone/esip",{tag,"1.0.6"}} Cloning into 'esip'... Pulling fast_yaml from {git,"https://github.com/processone/fast_yaml", {tag,"1.0.4"}} Cloning into 'fast_yaml'... Pulling jiffy from {git,"https://github.com/davisp/jiffy",{tag,"0.14.7"}} Cloning into 'jiffy'... Pulling p1_oauth2 from {git,"https://github.com/processone/p1_oauth2", {tag,"0.6.1"}} Cloning into 'p1_oauth2'... Pulling p1_xmlrpc from {git,"https://github.com/processone/p1_xmlrpc", {tag,"1.15.1"}} Cloning into 'p1_xmlrpc'... Pulling luerl from {git,"https://github.com/rvirding/luerl",{tag,"v0.2"}} Cloning into 'luerl'... Pulling p1_mysql from {git,"https://github.com/processone/p1_mysql", {tag,"1.0.1"}} Cloning into 'p1_mysql'... Pulling ezlib from {git,"https://github.com/processone/ezlib",{tag,"1.0.1"}} Cloning into 'ezlib'... Pulling iconv from {git,"https://github.com/processone/iconv",{tag,"1.0.0"}} Cloning into 'iconv'... checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erl checking for erlc... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erlc checking for SSL_free in -lssl... yes checking for SHA1_Init in -lcrypto... yes checking openssl/ssl.h usability... yes checking openssl/ssl.h presence... yes checking for openssl/ssl.h... yes checking openssl/err.h usability... yes checking openssl/err.h presence... yes checking for openssl/err.h... yes checking openssl/sha.h usability... yes checking openssl/sha.h presence... yes checking for openssl/sha.h... yes checking openssl/opensslv.h usability... yes checking openssl/opensslv.h presence... yes checking for openssl/opensslv.h... yes configure: creating ./config.status config.status: creating vars.config checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erl checking for erlc... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erlc configure: creating ./config.status config.status: creating vars.config checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erl checking for erlc... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erlc checking yaml.h usability... yes checking yaml.h presence... yes checking for yaml.h... yes checking for library containing yaml_parser_initialize... -lyaml configure: creating ./config.status config.status: creating vars.config checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erl checking for erlc... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erlc configure: creating ./config.status config.status: creating vars.config checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erl checking for erlc... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erlc checking expat.h usability... yes checking expat.h presence... yes checking for expat.h... yes checking for library containing XML_ParserCreate... -lexpat configure: creating ./config.status config.status: creating vars.config checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erl checking for erlc... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erlc checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes configure: creating ./config.status config.status: creating vars.config checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erl checking for erlc... /usr/local/Cellar/erlang/17.3/lib/erlang/erts-6.2/bin/erlc checking build system type... x86_64-apple-darwin13.4.0 checking host system type... x86_64-apple-darwin13.4.0 checking for ld used by GCC... /Users/aman/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld checking if the linker (/Users/aman/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no checking for shared library run path origin... done checking for iconv... yes checking for working iconv... yes checking how to link with libiconv... -liconv checking for iconv declaration... extern size_t iconv (iconv_t cd, char * _inbuf, size_t inbytesleft, char * outbuf, size_t outbytesleft); configure: creating ./config.status config.status: creating vars.config ==> lager (get-deps) Pulling goldrush from {git,"git://github.com/DeadZen/goldrush.git", {tag,"0.1.8"}} Cloning into 'goldrush'... ==> goldrush (get-deps) ==> p1_utils (get-deps) ==> cache_tab (get-deps) ==> fast_tls (get-deps) ==> stringprep (get-deps) ==> fast_xml (get-deps) ==> stun (get-deps) ==> esip (get-deps) ==> fast_yaml (get-deps) ==> jiffy (get-deps) ==> p1_oauth2 (get-deps) ==> p1_xmlrpc (get-deps) ==> luerl (get-deps) ==> p1_mysql (get-deps) ==> ezlib (get-deps) ==> iconv (get-deps) /usr/local/Cellar/erlang/17.3/lib/erlang/bin/escript rebar compile && :> deps/.built ==> goldrush (compile) Compiled src/gr_param_sup.erl Compiled src/gr_sup.erl Compiled src/gr_manager_sup.erl Compiled src/gre.erl Compiled src/gr_counter_sup.erl Compiled src/gr_manager.erl Compiled src/gr_context.erl Compiled src/gr_param.erl Compiled src/gr_app.erl Compiled src/gr_counter.erl Compiled src/glc_ops.erl Compiled src/glc_lib.erl Compiled src/glc.erl Compiled src/glc_code.erl ==> lager (compile) Compiled src/lager_util.erl Compiled src/lager_transform.erl Compiled src/lager_sup.erl Compiled src/lager_msg.erl Compiled src/lager_manager_killer.erl Compiled src/lager_handler_watcher_sup.erl Compiled src/lager_handler_watcher.erl Compiled src/lager_stdlib.erl Compiled src/lager_trunc_io.erl Compiled src/lager_default_formatter.erl Compiled src/lager_format.erl Compiled src/lager_console_backend.erl Compiled src/lager_crash_log.erl Compiled src/lager_config.erl Compiled src/lager_file_backend.erl Compiled src/lager_backend_throttle.erl Compiled src/lager_common_test_backend.erl Compiled src/lager_app.erl Compiled src/lager.erl Compiled src/error_logger_lager_h.erl ==> p1_utils (compile) Compiled src/p1_time_compat.erl Compiled src/treap.erl Compiled src/p1_nif_utils.erl Compiled src/p1_server.erl Compiled src/p1_fsm.erl Compiled src/p1_edoc_layout.erl ==> cache_tab (compile) Compiled src/cache_tab_sup.erl Compiled src/cache_tab_app.erl Compiled src/cache_tab.erl ==> fast_tls (compile) Compiled src/fast_tls_sup.erl Compiled src/fast_tls_app.erl Compiled src/p1_sha.erl Compiled src/fast_tls.erl Compiling c_src/fast_tls_drv.c Compiling c_src/p1_sha.c ==> stringprep (compile) Compiled src/stringprep_sup.erl Compiled src/stringprep_app.erl Compiled src/stringprep.erl Compiling /Users/pawanyadav/vcs/ejabberd/deps/stringprep/c_src/stringprep.cpp sh: line 0: exec: c++: not found ERROR: compile failed while processing /Users/pawanyadav/vcs/ejabberd/deps/stringprep: rebar_abort make: _* [deps/.built] Error 1

was the unexpected behaviors? What was the expected result? Installation should be completed successfully. let me know if I am doing something wrong.

weiss commented 8 years ago
sh: line 0: exec: c++: not found

You need a C++ compiler (such as g++) to build ejabberd.

prakashbangaru commented 7 years ago

Hi weiss,

I have installed g++ but still I am facing the same error

weiss commented 7 years ago
export CXX=g++

before building ejabberd, or make the g++ binary available under the name c++.

lock[bot] commented 5 years ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.