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

Compile fails on Ubuntu 14.04 ? #4105

Closed
jgeewax opened this issue Nov 10, 2015 · 14 comments

Comments

@jgeewax
Copy link

commented Nov 10, 2015

I've done a bunch of apt-get installing and now the compile seems to fail on the Make command:

$ make
... snip ...
[MAKE]    Generating cache.mk
[MAKE]    Building protobuf
checking whether to enable maintainer-specific portions of Makefiles... yes
configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
make: *** [/home/jjg/grpc/libs/opt/protobuf/libprotobuf.a] Error 1

I've apt-get installed:

  • build-essential
  • autoconf
  • libtool
  • python-all-dev
  • python-virtualenv
  • zlib1g-dev
  • clang
  • libc++-dev
@tbetbetbe

This comment has been minimized.

Copy link
Contributor

commented Nov 11, 2015

Just clarifying: was this an attempt to build grpc from source ?

@jgeewax

This comment has been minimized.

Copy link
Author

commented Nov 12, 2015

Yessir - - trying to compile from source on Ubuntu 14.04:

$ git clone https://github.com/grpc/grpc.git
$ cd grpc
$ git submodule update --init
$ make  # <-- Here's where things exploded
$ make install
@abhijitsbhopale

This comment has been minimized.

Copy link

commented Dec 27, 2015

facing same problem on Ubuntu 14.04

@ctiller

This comment has been minimized.

Copy link
Member

commented Dec 27, 2015

Haven't had a chance to test, but I think you need automake installed also.
You'll also want to git clean the third_party/protobuf submodule to blow
away cached configure scripts.

Hoping to spend some time with the protobuf team to simplify this in the
new year.

Out of curiosity which language were you wanting to use? I'm trying to make
sure that the make process is only useful to 5% of developers - nobody
should really need to be exposed to it.

On Sun, Dec 27, 2015, 10:03 AM abhijitsbhopale notifications@github.com
wrote:

facing same problem on Ubuntu 14.04


Reply to this email directly or view it on GitHub
#4105 (comment).

@larsonmpdx

This comment has been minimized.

Copy link

commented Dec 27, 2015

on a clean install for C++ I need to go into third_party/protobuf and run:

sudo ./autogen.sh (not sure why this requires sudo - maybe it has been
fixed now)
sudo ./configure CC=clang CXX=clang++ (requires sudo because previous step
polluted things) (clang is optional)
sudo make (requires sudo because previous step polluted things)
sudo make install
sudo ldconfig

then make/make install for grpc will work correctly

On Sun, Dec 27, 2015 at 10:28 AM, Craig Tiller notifications@github.com
wrote:

Haven't had a chance to test, but I think you need automake installed also.
You'll also want to git clean the third_party/protobuf submodule to blow
away cached configure scripts.

Hoping to spend some time with the protobuf team to simplify this in the
new year.

Out of curiosity which language were you wanting to use? I'm trying to make
sure that the make process is only useful to 5% of developers - nobody
should really need to be exposed to it.

On Sun, Dec 27, 2015, 10:03 AM abhijitsbhopale notifications@github.com
wrote:

facing same problem on Ubuntu 14.04


Reply to this email directly or view it on GitHub
#4105 (comment).


Reply to this email directly or view it on GitHub
#4105 (comment).

@abhijitsbhopale

This comment has been minimized.

Copy link

commented Dec 28, 2015

@ctiller @larsonmpdx
Thank you very much for the reply.
$ make gives error saying,
In function ‘gpr_cv_wait’: src/core/support/sync_posix.c:84:42: error: conversion to ‘__time_t’ from ‘gpr_int64’ may alter its value [-Werror=conversion] abs_deadline_ts.tv_sec = abs_deadline.tv_sec;
cc1: all warnings being treated as errors
I changed Makefile by replacing -Werror with -Wno-error then could build and install successfully.

If run $ make command twice get message saying
Circular grpc/libs/opt/libboringssl.a <- grpc/libs/opt/libboringssl.a dependency dropped. Is this behavior correct?

I am planning to use gRPC for C++ and C# language.

@larsonmpdx

This comment has been minimized.

Copy link

commented Jan 20, 2016

the time_t conversion error is still an issue on 32 bit machines (checked today on release-0_12)

@nicolasnoble

This comment has been minimized.

Copy link
Contributor

commented Apr 21, 2016

Are there still issues with the latest releases? (0.13.2)

@nicolasnoble nicolasnoble modified the milestones: GA, 2016/05/21 Milestone Apr 21, 2016

@ctiller

This comment has been minimized.

Copy link
Member

commented Apr 21, 2016

Assuming fixed.

@ctiller ctiller closed this Apr 21, 2016

@peterhuene

This comment has been minimized.

Copy link

commented Sep 19, 2016

I hate resurrecting a zombie a thread, but I ran into this today with my experimentation of getting gRPC working on Alpine Linux (with musl libc).

According to https://github.com/google/protobuf/blob/master/src/README.md, protobuf needs ./autogen.sh run prior to building it, which is why the build fails with configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.." under these conditions:

  • protobuf (3) isn't present on the system.
  • the grpc repository was cloned recursively, creating third_party/protobuf and causing gRPC to attempt to build and install it.

This is with today's master of gRPC. I see no attempt from gRPC to run autogen.sh in the generated Makefile. Manually running autogen.sh prior to gRPC's make invocation gets past the problem.

@johndpope

This comment has been minimized.

@rameshdharan

This comment has been minimized.

Copy link

commented Aug 9, 2017

Not sure why this was closed but it is definitely not fixed.

I just wanted grpc_cli on a machine running Ubuntu 14.04. Following the instructions, I installed libgflags-dev, ran git submodule update --init and then issued make -j12 grpc_cli.

The build failed with:

configure.ac:94: error: possibly undefined macro: AC_PROG_LIBTOOL

I then tried just make, and the build failed with:

configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."

Cobbling together from the suggestions here I then did:

sudo apt-get install libtool
cd third_party/protobuf
./autogen.sh

After that I was able to re-run make grpc_cli and I have a working binary.

@mehrdada

This comment has been minimized.

Copy link
Member

commented Aug 9, 2017

@rameshdharan I just started from a new Ubuntu 14.04 VM on GCE and did the following:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y build-essential git libgflags-dev libtool shtool autoconf automake
git clone --recursive https://github.com/grpc/grpc
cd grpc
make -j20 grpc_cli

and it worked just fine. You may have had an unclean working tree after your first run of make —without libtool installed—and I suspect simply make cleaning before rerunning make would have resolved the issue.

@grantr

This comment has been minimized.

Copy link

commented Jan 3, 2018

I suspect simply make cleaning before rerunning make would have resolved the issue.

Came here to report that make clean doesn't fix the cannot find install-sh... problem after initially running make without libtool. I had to start over with a new clone.

@lock lock bot locked as resolved and limited conversation to collaborators Sep 30, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
You can’t perform that action at this time.