Ошибка компиляции с make -O

Thirlan спросил: 13 октября 2017 в 07:40 в: protocol-buffers

У нас проблемы с перекомпиляцией protobuf v2.6. Он используется для работы, и gmake выведет следующее:

...
gmake[3]: Entering directory `/atc/proto/protobuf-2.6.0/src'
depbase=`echo google/protobuf/compiler/main.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
/usr/bin/g++ -DHAVE_CONFIG_H -I. -I..    -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare  -m32 -MT google/protobuf/compiler/main.o -MD -MP -MF $depbase.Tpo -c -o google/protobuf/compiler/main.o google/protobuf/compiler/main.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo google/protobuf/stubs/atomicops_internals_x86_gcc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../libtool --tag=CXX   --mode=compile /usr/bin/g++ -DHAVE_CONFIG_H -I. -I..    -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare  -m32 -MT google/protobuf/stubs/atomicops_internals_x86_gcc.lo -MD -MP -MF $depbase.Tpo -c -o google/protobuf/stubs/atomicops_internals_x86_gcc.lo google/protobuf/stubs/atomicops_internals_x86_gcc.cc &&\
mv -f $depbase.Tpo $depbase.Plo
...

Теперь он выводит следующее и ничего не компилирует. Все .o файлы имеют размер 0 байтов.

...
gmake[5]: Entering directory `/atc/proto/protobuf-2.6.0/src'
touch google/protobuf/compiler/.dirstamp
touch google/protobuf/compiler/.deps/.dirstamp
touch google/protobuf/compiler/main.o
touch google/protobuf/stubs/.dirstamp
touch google/protobuf/stubs/.deps/.dirstamp
touch google/protobuf/stubs/atomicops_internals_x86_gcc.lo
...

Мы надеемся, что кто-то, имеющий опыт использования google protobuf, сможет объяснить, почему он касается файлов, а не компилирует их. Зная это, мы могли бы быстро решить проблему. У нас он построен на другой машине, и мы сравнивали все, что только могли придумать, но теперь мы находимся на этапе, когда мы проходим через autoconf, создаем файлы с тонкой зубчатой ​​гребенкой, чтобы понять это поведение.

Наш скрипт, запускающий макет google protobuff, очень прост, и мы не внесли никаких изменений в google protobuf (мы только распаковываем его, а затем собираем).

build_proto.sh

set -x
pb_pkg=protobuf-2.6.0
cc=/usr/bin/g++
if [[ ! -e "$pb_pkg.tar.gz" ]]; then
    echo "Can't find $pb_pkg.tar.gz"
    exit
fitar xvfz $pb_pkg.tar.gz
cd $pb_pkgexport PATH=$PATH:/opt/bb/bin/:/usr/bin
./configure CC=$cc CXX=$cc CFLAGS=-m32 CXXFLAGS=-m32 FFLAGS=-m32 FCFLAGS=-m32
gmake

Makefile

.PHONY: allall:
    ./build_proto.sh
clean:
    rm -rf protobuf-2.6.0build: alltest: all

uname -a

Linux atc-build 2.6.32-642.6.2.el6.x86_64 #1 SMP Mon Oct 24 10:22:33 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

Update

Проблема не настроена. Ран конфигурировал сам по себе, и различия в обеих системах были одинаковыми, за исключением тривиальных различий. Должен быть в процессе.

0 ответов