[CRIU] [PATCH 2/6] protobuf: compile opts.proto
Ruslan Kuprieiev
kupruser at gmail.com
Mon Jan 19 04:51:14 PST 2015
Done.
On 01/19/2015 02:38 PM, Pavel Emelyanov wrote:
> On 01/19/2015 03:28 PM, Ruslan Kuprieiev wrote:
>> You should install protobuf-devel.
> OK. Plz, update the wiki "Installation" page with this ;)
>
>> On 01/19/2015 02:24 PM, Pavel Emelyanov wrote:
>>> On 01/16/2015 11:55 PM, Ruslan Kuprieiev wrote:
>>>> We need our proto files to compile with both protoc and
>>>> protoc-c compilers, which requires creating google/protobuf
>>>> directory with a symlink to /usr/include/google/protobuf/
>>>> descriptor.proto to make protoc-c and generated c files happy.
>>>>
>>>> Signed-off-by: Ruslan Kuprieiev <kupruser at gmail.com>
>>> I have compilation error on this:
>>>
>>> PBCC protobuf/core-x86.pb-c.h
>>> google/protobuf/descriptor.proto: File not found.
>>> opts.proto: Import "google/protobuf/descriptor.proto" was not found or had errors.
>>> opts.proto:7:8: "google.protobuf.FieldOptions" is not defined.
>>> core-x86.proto: Import "opts.proto" was not found or had errors.
>>>
>>>
>>> What package should I install? I don't have the /usr/include/google/protobuf
>>> dir, but do have the /usr/include/google/protobuf-c one :)
>>>
>>>> ---
>>>> .gitignore | 2 ++
>>>> protobuf/Makefile | 4 ++++
>>>> protobuf/google/protobuf/descriptor.proto | 1 +
>>>> pycriu/images/Makefile | 2 +-
>>>> 4 files changed, 8 insertions(+), 1 deletion(-)
>>>> create mode 120000 protobuf/google/protobuf/descriptor.proto
>>>>
>>>> diff --git a/.gitignore b/.gitignore
>>>> index 977c782..3f28497 100644
>>>> --- a/.gitignore
>>>> +++ b/.gitignore
>>>> @@ -20,6 +20,8 @@ include/syscall.h
>>>> include/syscall-codes.h
>>>> protobuf/*.c
>>>> protobuf/*.h
>>>> +protobuf/google/protobuf/*.c
>>>> +protobuf/google/protobuf/*.h
>>>> include/version.h
>>>> arch/x86/sys-exec-tbl.c
>>>> arch/x86/syscalls.S
>>>> diff --git a/protobuf/Makefile b/protobuf/Makefile
>>>> index 983629e..12d07fc 100644
>>>> --- a/protobuf/Makefile
>>>> +++ b/protobuf/Makefile
>>>> @@ -63,6 +63,8 @@ proto-obj-y += rpc.o
>>>> proto-obj-y += ext-file.o
>>>> proto-obj-y += cgroup.o
>>>> proto-obj-y += userns.o
>>>> +proto-obj-y += google/protobuf/descriptor.o # To make protoc-c happy and compile opts.proto
>>>> +proto-pbj-y += opts.o
>>>>
>>>> proto := $(proto-obj-y:.o=)
>>>> proto-c := $(proto-obj-y:.o=.pb-c.c)
>>>> @@ -124,4 +126,6 @@ ifneq ($(MAKECMDGOALS),clean)
>>>> endif
>>>>
>>>> cleanup-y += $(obj)/*.c.d $(obj)/*.pb-c.c $(obj)/*.pb-c.h
>>>> +cleanup-y += $(obj)/google/protobuf/*.pb-c.d
>>>> +cleanup-y += $(obj)/google/protobuf/*.pb-c.h
>>>> cleanup-y += $(obj)/*.d $(obj)/*.i $(obj)/*.s $(obj)/*.o
>>>> diff --git a/protobuf/google/protobuf/descriptor.proto b/protobuf/google/protobuf/descriptor.proto
>>>> new file mode 120000
>>>> index 0000000..07a4c9a
>>>> --- /dev/null
>>>> +++ b/protobuf/google/protobuf/descriptor.proto
>>>> @@ -0,0 +1 @@
>>>> +/usr/include/google/protobuf/descriptor.proto
>>>> \ No newline at end of file
>>>> diff --git a/pycriu/images/Makefile b/pycriu/images/Makefile
>>>> index 6aa115e..579b6fa 100644
>>>> --- a/pycriu/images/Makefile
>>>> +++ b/pycriu/images/Makefile
>>>> @@ -10,7 +10,7 @@ proto-py-modules := $(foreach m,$(proto),$(subst -,_,$(notdir $(m:.proto=_pb2)))
>>>> # Unfortunately, we can't drop ugly _pb2 suffixes here, because
>>>> # some _pb2 files depend on others _pb2 files.
>>>> protobuf:
>>>> - $(Q) protoc -I=$(SRC_DIR)/protobuf --python_out=./ $(proto)
>>>> + $(Q) protoc -I=$(SRC_DIR)/protobuf -I=/usr/include/ --python_out=./ $(proto)
>>>>
>>>> magic.py: $(SRC_DIR)/scripts/magic-gen.py $(SRC_DIR)/include/magic.h
>>>> $(E) " GEN " $@
>>>>
>> .
>>
More information about the CRIU
mailing list