Differences between grpc package building and manual installation using grpc_1.3.2.orig.tar.gz

Asked by Frederic LOUI on 2019-03-24

I trying to rebuild grpc packages in bionic with protobuf 3.2.0 using the source deb simply without signing "debuild -us -uc".
(I also used the same source deb for protobuf 3.2.0. <-- packe were built successfully)
After having install all grpc's dependencies, I see the following during in the build log using DH_VERBOSE = 1.

All is well and is similar to manual installation of the same package. (I used the same tarball with patches applied)

Except the make install step in which I observed the following error:
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied

Extract of the output - make install step :

make[2]: Entering directory '/home/floui/build_grpc/grpc-1.3.2'
[INSTALL] Installing public C headers
[MAKE] Generating cache.mk
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc.a
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc_cronet.a
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc_unsecure.a
[STRIP] Stripping libgpr.a
[STRIP] Stripping libgrpc.a
[STRIP] Stripping libgrpc_cronet.a
[STRIP] Stripping libgrpc_unsecure.a
[INSTALL] Installing C pkg-config files
[INSTALL] Installing libgpr.a
[INSTALL] Installing libgrpc.a
[INSTALL] Installing libgrpc_cronet.a
[INSTALL] Installing libgrpc_unsecure.a
[STRIP] Stripping libgpr.so.3.0.0
[STRIP] Stripping libgrpc.so.3.0.0
[STRIP] Stripping libgrpc_cronet.so.3.0.0
[STRIP] Stripping libgrpc_unsecure.so.3.0.0
[INSTALL] Installing libgpr.so.3.0.0
[INSTALL] Installing libgrpc.so.3.0.0
[INSTALL] Installing libgrpc_cronet.so.3.0.0
[INSTALL] Installing libgrpc_unsecure.so.3.0.0
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
[INSTALL] Installing public C++ headers
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc++.a
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc++_cronet.a
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc++_error_details.a
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc++_reflection.a
[AR] Creating /home/floui/build_grpc/grpc-1.3.2/libs/opt/libgrpc++_unsecure.a
[STRIP] Stripping libgrpc++.a
[STRIP] Stripping libgrpc++_cronet.a
[STRIP] Stripping libgrpc++_error_details.a
[STRIP] Stripping libgrpc++_reflection.a
[STRIP] Stripping libgrpc++_unsecure.a
[INSTALL] Installing C++ pkg-config files
[INSTALL] Installing libgrpc++.a
[INSTALL] Installing libgrpc++_cronet.a
[INSTALL] Installing libgrpc++_error_details.a
[INSTALL] Installing libgrpc++_reflection.a
[INSTALL] Installing libgrpc++_unsecure.a
[STRIP] Stripping libgrpc++.so.1.3.2
[STRIP] Stripping libgrpc++_cronet.so.1.3.2
[STRIP] Stripping libgrpc++_error_details.so.1.3.2
[STRIP] Stripping libgrpc++_reflection.so.1.3.2
[STRIP] Stripping libgrpc++_unsecure.so.1.3.2
[INSTALL] Installing libgrpc++.so.1.3.2
[INSTALL] Installing libgrpc++_cronet.so.1.3.2
[INSTALL] Installing libgrpc++_error_details.so.1.3.2
[INSTALL] Installing libgrpc++_reflection.so.1.3.2
[INSTALL] Installing libgrpc++_unsecure.so.1.3.2
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
[INSTALL] Installing grpc protoc plugins
[INSTALL] Installing root certificates
make[2]: Leaving directory '/home/floui/build_grpc/grpc-1.3.2'
make[1]: Leaving directory '/home/floui/build_grpc/grpc-1.3.2'

The package building process finisehes and were built but someting is not working correctly.
I tried to compile a projet using grpc. https://github.com/p4lang/PI
Compilation succeed but make check is failing with the built packages.

When I install grpc manually from the same tarball, (make/make install)
PI Compilation succeed AND make check is also SUCCEEDING with the same compiled software. (again I applied the patches)

Any idea about the reason of this ? Maybe there is an issue with the source deb ?

Thank you for your help.

All the best,
Frederuc LOUI.

Question information

English Edit question
Ubuntu grpc Edit question
No assignee Edit question
Solved by:
Frederic LOUI
Last query:
Last reply:
Frederic LOUI (frederic-loui) said : #1

I recompiled the source deb and strip Ubuntu default LDFLAGS using the following env in debian/rules:

export DEB_LDFLAGS_MAINT_STRIP = -Wl,-Bsymbolic-functions

It is working as expected now.