I'm hacking on a patch to make 2.1.0 work properly on my Sun Studio set up as we speak. Was there something more specific you wanted from it than just compiling?
vikram wrote: > I am using 2.1.0 only. > > On Jun 24, 12:26 pm, Kenton Varda <ken...@google.com> wrote: >> The list of files there suggest that you're using protobuf 2.0.3 or earlier. >> Have you tried 2.1.0? >> >> On Wed, Jun 24, 2009 at 11:54 AM, vikram <patilvik...@gmail.com> wrote: >> >>> I am using CC: Sun C++ 5.9 compiler to compile on Solaris. I was able >>> to compile source but tests are failing. >>> I need some help here about libtool >>> /bin/bash ./libtool --tag=CXX --mode=link CC -g -o lib/ >>> libgtest.la -rpath /usr/local/lib src/gtest.lo src/gtest-death- >>> test.lo src/gtest-filepath.lo src/gtest-port.lo src/gtest-test- >>> part.lo src/gtest-typed-test.lo >>> libtool: link: rm -fr lib/.libs/libgtest.so lib/.libs/libgtest.so.0 >>> libtool: link: (cd "lib/.libs" && rm -f "libgtest.so.0" && ln -s >>> "libgtest.so.0.0.0" "libgtest.so.0") >>> libtool: link: (cd "lib/.libs" && rm -f "libgtest.so" && ln -s >>> "libgtest.so.0.0.0" "libgtest.so") >>> libtool: link: ar cru lib/.libs/libgtest.a src/gtest.o src/gtest- >>> death-test.o src/gtest-filepath.o src/gtest-port.o src/gtest-test- >>> part.o src/gtest-typed-test.o >>> ar: cannot open src/gtest.o >>> No such file or directory >>> ar: cannot open src/gtest-death-test.o >>> No such file or directory >>> ar: cannot open src/gtest-filepath.o >>> No such file or directory >>> ar: cannot open src/gtest-port.o >>> No such file or directory >>> ar: cannot open src/gtest-test-part.o >>> No such file or directory >>> ar: cannot open src/gtest-typed-test.o >>> No such file or directory >>> ar: src/gtest.o not found >>> ar: src/gtest-death-test.o not found >>> ar: src/gtest-filepath.o not found >>> ar: src/gtest-port.o not found >>> ar: src/gtest-test-part.o not found >>> ar: src/gtest-typed-test.o not found >>> All object files are created in the same directory as Makefile and in >>> src/.libs/ directory . While libtool looks for these files in >>> src directory. I am new too libtool so I am not able to solve the >>> problem. >>> On Jun 22, 4:38 pm, vikram <patilvik...@gmail.com> wrote: >>>> I am trying out what changes he suggested uptil now I am able to >>>> compile but gtests are failing. I will update discussion once I am >>>> able to find out whats going with gtests. >>>> Vikram >>>> On Jun 22, 4:34 pm, Kenton Varda <ken...@google.com> wrote: >>>>> I haven't heard from the patch author since my previous mail. :/ >>>>> On Mon, Jun 22, 2009 at 4:06 PM, vikram <patilvik...@gmail.com> wrote: >>>>>> Can somebody point out when this patch will be included in source? >>>>>> I am trying to do compilation on Solaris 10 but right now I am >>> getting >>>>>> errors as mentioned in this post. >>>>>> Vikram >>>>>> On Jun 4, 1:42 pm, Kenton Varda <ken...@google.com> wrote: >>>>>>> Thanks for the patch! >>>>>>> It looks like you were using the examples as a test. Running "make >>>>>> check" >>>>>>> in the top directory will run a much better suite of tests -- do >>> they >>>>>> pass? >>>>>>> Assuming it does work, can you re-send that patch as an attachment >>> (it >>>>>> looks >>>>>>> like it has been mangled), or even send it to me via >>>>>> codereview.appspot.com? >>>>>>> Also, for me to submit it you'll need to sign the contributor >>> license >>>>>>> agreement: >>>>>>> http://code.google.com/legal/individual-cla-v1.0.html--ifyouown >>>>>>> copyright on this patchhttp:// >>>>>> code.google.com/legal/corporate-cla-v1.0.html-- if your employer >>>>>>> does >>>>>>> On Wed, Jun 3, 2009 at 10:53 PM, <bmcarnes_proto...@oddren.com> >>> wrote: >>>>>>>>> Probably not. LibCstd isn't complete enough for protobuf. >>>>>>>> I was able to get protobuf 2.1.0 to work well under Sun Studio >>> 11, >>>>>>>> using libCstd, with a few patches. Works well enough to compile >>> and >>>>>>>> run the add_person_cpp/list_people_cpp examples. >>>>>>>> I include the build instructions and patch set below Also >>> included >>>>>>>> are patches to the examples makefile to test it out. >>>>>>>> <Apply below patchset first against protobuf 2.1.0> >>>>>>>> $ CXX=CC CC=cc ./configure --disable-shared >>>>>>>> $ make >>>>>>>> $ cd examples >>>>>>>> $ make cpp >>>>>>>> $ ./add_person_cpp addressbook.test >>>>>>>> (enter a test record) >>>>>>>> $ ./list_people_cpp addressbook.test >>>>>>>> (test record is displayed correctly) >>>>>>>> $ ldd list_people_cpp (or ldd add_person_cpp ) >>>>>>>> libpthread.so.1 => /lib/libpthread.so.1 >>>>>>>> libCstd.so.1 => /usr/lib/libCstd.so.1 >>>>>>>> libCrun.so.1 => /usr/lib/libCrun.so.1 >>>>>>>> libm.so.2 => /lib/libm.so.2 >>>>>>>> libc.so.1 => /lib/libc.so.1 >>>>>>>> Index: src/google/protobuf/repeated_field.h >>> =================================================================== >>>>>>>> --- src/google/protobuf/repeated_field.h (revision 2) >>>>>>>> +++ src/google/protobuf/repeated_field.h (working copy) >>>>>>>> @@ -69,7 +69,7 @@ >>>>>>>> class LIBPROTOBUF_EXPORT GenericRepeatedField { >>>>>>>> public: >>>>>>>> inline GenericRepeatedField() {} >>>>>>>> -#if defined(__DECCXX) && defined(__osf__) >>>>>>>> +#if defined(__SUNPRO_CC) || defined(__DECCXX) && >>> defined(__osf__) >>>>>>>> // HP C++ on Tru64 has trouble when this is not defined inline. >>>>>>>> virtual ~GenericRepeatedField() {} >>>>>>>> #else >>>>>>>> @@ -548,7 +548,7 @@ >>>>>>>> current_size_ = 0; >>>>>>>> } >>>>>>>> -#if defined(__DECCXX) && defined(__osf__) >>>>>>>> +#if defined(__SUNPRO_CC) || defined(__DECCXX) && >>> defined(__osf__) >>>>>>>> // HP C++ on Tru64 has trouble when this is not defined inline. >>>>>>>> template <> >>>>>>>> inline void RepeatedPtrField<string>::Clear() { >>>>>>>> Index: src/google/protobuf/descriptor_database.cc >>> =================================================================== >>>>>>>> --- src/google/protobuf/descriptor_database.cc (revision 2) >>>>>>>> +++ src/google/protobuf/descriptor_database.cc (working copy) >>>>>>>> @@ -127,7 +127,13 @@ >>>>>>>> // Insert the new symbol using the iterator as a hint, the new >>>>>>>> entry will >>>>>>>> // appear immediately before the one the iterator is pointing >>> at. >>>>>>>> + >>>>>>>> + // Sun Studio 11 needs a little help here >>>>>>>> +#if defined(__SUNPRO_CC) >>>>>>>> + by_symbol_.insert(iter, make_pair<const string,Value>(name, >>>>>>>> value)); >>>>>>>> +#else >>>>>>>> by_symbol_.insert(iter, make_pair(name, value)); >>>>>>>> +#endif >>>>>>>> return true; >>>>>>>> } >>>>>>>> Index: src/google/protobuf/compiler/command_line_interface.cc >>> =================================================================== >>>>>>>> --- src/google/protobuf/compiler/command_line_interface.cc >>>>>> (revision >>>>>>>> 2) >>>>>>>> +++ src/google/protobuf/compiler/command_line_interface.cc >>>>>> (working >>>>>>>> copy) >>>>>>>> @@ -474,7 +474,7 @@ >>>>>>>> // If no --proto_path was given, use the current working >>> directory. >>>>>>>> if (proto_path_.empty()) { >>>>>>>> - proto_path_.push_back(make_pair("", ".")); >>>>>>>> + proto_path_.push_back(make_pair(string(""), string(".."))); >>>>>>>> } >>>>>>>> // Check some errror cases. >>>>>>>> Index: src/google/protobuf/repeated_field.cc >>> =================================================================== >>>>>>>> --- src/google/protobuf/repeated_field.cc (revision 2) >>>>>>>> +++ src/google/protobuf/repeated_field.cc (working copy) >>>>>>>> @@ -40,7 +40,7 @@ >>>>>>>> // HP C++ on Tru64 can't handle the stuff below being defined >>> out-of- >>>>>>>> line, so >>>>>>>> // on that platform everything is defined in repeated_field.h. >>> On >>>>>>>> other >>>>>>>> // platforms, we want these to be out-of-line to avoid code >>> bloat. >>>>>>>> -#if !defined(__DECCXX) || !defined(__osf__) >>>>>>>> +#if !defined(__SUNPRO_CC) && (!defined(__DECCXX) || !defined >>>>>>>> (__osf__)) >>>>>>>> namespace internal { >>>>>>>> ------- Below changes the examples makefile to exercise protobuf >>> under >>>>>>>> solaris >>>>>>>> Index: examples/Makefile >>> =================================================================== >>>>>>>> --- examples/Makefile (revision 2) >>>>>>>> +++ examples/Makefile (working copy) >>>>>>>> @@ -1,5 +1,13 @@ >>>>>>>> # See README.txt. >>>>>>>> +# For the rest of the world >>>>>>>> +#CXX = c++ >>>>>>>> +#PROTOC = protoc >>>>>>>> + >>>>>>>> +# Testing For Solaris (pre-install) >>>>>>>> +CXX = CC -I../src -L../src/.libs >>>>>>>> +PROTOC = ../src/protoc >>>>>>>> + >>>>>>>> .PHONY: all cpp java python clean >>>>>>>> all: cpp java python >>>>>>>> @@ -18,14 +26,14 @@ >>>>>>>> rmdir com 2>/dev/null || true >>>>>>>> protoc_middleman: addressbook.proto >>>>>>>> - protoc --cpp_out=. --java_out=. --python_out=. >>>>>> addressbook.proto >>>>>>>> + $(PROTOC) --cpp_out=. --java_out=. --python_out=. >>>>>> addressbook.proto >>>>>>>> @touch protoc_middleman >>>>>>>> add_person_cpp: add_person.cc protoc_middleman >>>>>>>> - c++ add_person.cc addressbook.pb.cc -lprotobuf -lpthread >>> -o >>>>>>>> add_person_cpp >>>>>>>> + $(CXX) add_person.cc addressbook.pb.cc -lprotobuf >>> -lpthread -o >>>>>>>> add_person_cpp >>>>>>>> list_people_cpp: list_people.cc protoc_middleman >>>>>>>> - c++ list_people.cc addressbook.pb.cc -lprotobuf >>> -lpthread -o >>>>>>>> list_people_cpp >>>>>>>> + >> ... >> >> read more ยป > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to protobuf@googlegroups.com To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~----------~----~----~----~------~----~------~--~---