So if I want run the application in another machine, the only solution
is build protobuf on that machine? And if I have no permission to do
this, there are no way to make a application which use protobuf work
fine?

Thanks.

On Jan 20, 10:52 am, Adam Skutt <[email protected]> wrote:
> On Wed, Jan 19, 2011 at 9:15 PM, triStone <[email protected]> wrote:
> > Thanks.
> > But if I also use "gethostbyname" function. So when I add -static
> > option, there will be a warning like this.
> >  warning: Using 'gethostbyname' in statically linked applications
> > requires at runtime the shared libraries from the glibc version used
> > for linking
> > I search this warning on the web, it seems a bug of glibc, and it
> > maybe cause the program crash.
> > So if I use static link, this program will crash, if I use dynamic
> > link, this program can't execute in other machine because no
> > "protobuf.so", how can I do?
>
> C++ and static linking doesn't really mix anyway, ignoring all the
> glibc issues that make static linking dangerous on Linux.
>
> You either need to provide the protobuf dynamic libraries with your
> application, or build it on your target machine.  Note that if you
> ship the protobuf libraries to a machine with a different version of
> the C++ runtime installed, bad things will happen.  You can ship that
> too, but that's quite a nightmare.  I wouldn't bother with libraries
> if you're shipping source to the target machine like you appear to be
> doing, just build protobuf on that machine too.
>
> Adam

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to