Details
-
Improvement
-
Status: Accepted
-
Minor
-
Resolution: Unresolved
-
None
-
None
Description
Currently, if one wishes to use the system-wide installation of third party dependencies such as protobuf, the following configure command line is used:
../configure --with-protobuf=/usr
The configure scripts then adds "/usr/include" to include path and /usr/lib to library path. However, on some 64-bit systems (e.g., OpenSuse), /usr/lib points to the 32-bit libraries and thus the build system ends up printing a bunch of warnings:
libtool: link: g++ -g1 -O0 -Wno-unused-local-typedefs -std=c++11 -o .libs/mesos-slave slave/mesos_slave-main.o -L/usr/lib ./.libs/libmesos.so -lprotobuf -lsasl2 -lsvn_delta-1 -lsvn_subr-1 -lapr-1 -lcurl -lz -lpthread -lrt -lunwind /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/librt.so when searching for -lrt /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
Further, if someone uses system-wide installations, we can omit the path with the configure flag and the system should be able to pick the correct flags. E.g, the above example becomes:
../configure --with-protobuf
Since, the correct system include and lib dirs are already in the standard path, we don't need to specify that path.