I am currently working on a project, and I am trying to implement Protocol Buffers to work as a serialization format to store data on the local computer, and then be read back at a later time. Some of the features of protocol buffers seem perfect for this project so I was eager to test it out but I have run into some issues.
So far though, I have not even been able to get far enough to test out Protocol Buffers. I downloaded the most recent zip file (version 2.4.1) to my windows machine. I read through the install.txt located in the root of the folder, but it was for Unix based systems. I then saw that it came with a vsprojects folder and read through the instructions listed there. Basically, all I was told to do was open up a solution, and then build the entire solution in either Debug or Release. I instantly received several errors about “config.h” not being found.
I checked over the Unix instructions again and step one was…
cd' to the directory containing the package's source code and typecsh’ on an old version of System V, you might need to type
'./configure' to configure the package for your system. If you're
using
sh ./configure' instead to preventcsh’ from trying to execute
`configure’ itself.Running `configure’ takes awhile. While running, it prints some
messages telling which features it is checking for.
So I booted into ubuntu, which I rarely use, and tried follow these instructions. The step listed above went fine and I was even able to get to the next step and ‘make’ the project, but then when the time came to use ‘make install’ I received the following errors:
ross@ubuntu:~/Desktop/protobuf-2.4.1$ make install
Making install in .
make[1]: Entering directory `/home/ross/Desktop/protobuf-2.4.1'
make[2]: Entering directory `/home/ross/Desktop/protobuf-2.4.1'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/lib/pkgconfig" || /bin/mkdir -p "/usr/local/lib/pkgconfig"
/bin/mkdir: cannot create directory `/usr/local/lib/pkgconfig': Permission denied
make[2]: *** [install-pkgconfigDATA] Error 1
make[2]: Leaving directory `/home/ross/Desktop/protobuf-2.4.1'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/ross/Desktop/protobuf-2.4.1'
make: * [install-recursive] Error 1
I primarily use windows for development, and the entire project I am working with now is being made in windows, so I am a little concerned. Has anybody had any luck building Protocol Buffers in either windows or linux?
Thank you
You can’t do
make installas your own user, when you’re trying to install it system-wide.Either use
sudo make installif you have sudo rights, or become root any other possible way and then run it.If you don’t have admin rights, you can run
./configure --prefix=$HOME/protobuffers, compile and runmake installagain, it will install them in your home dir in subdir calledprotobuffers. Note that you might want to adjust yourLD_LIBRARY_PATHin profile after that to be able to find libraries. If you only needprotoc, that should do the trick.— edit —
Speaking of which, protoc is also available for windows, and you can use them there as well.
You can download it here.