From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!feeder4.usenet.farm!feed.usenet.farm!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.68.MISMATCH!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx06.fr7.POSTED!not-for-mail Subject: Re: protobuff for Ada Newsgroups: comp.lang.ada References: <3c1b3efc-90d8-4642-a72e-7ab4d7680921@googlegroups.com> <06c84a2d-a9f0-4163-8b39-b38e1ac77081@googlegroups.com> From: Per Sandberg User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <06c84a2d-a9f0-4163-8b39-b38e1ac77081@googlegroups.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Message-ID: X-Complaints-To: abuse@usenet.se NNTP-Posting-Date: Sun, 30 Dec 2018 06:21:36 UTC Organization: usenet.se Date: Sun, 30 Dec 2018 07:21:35 +0100 X-Received-Bytes: 2980 X-Received-Body-CRC: 903712382 Xref: reader01.eternal-september.org comp.lang.ada:55127 Date: 2018-12-30T07:21:35+01:00 List-Id: The repo is in heavy flux and shall not build yet. /P On 12/30/18 1:28 AM, joakimds@kth.se wrote: >> Joakim its still in non working alpha state and should not work. > > Hi Per! > > I have taken a look at this and the result can be found at: > https://github.com/joakim-strandberg/temp_protobuf > > As you remember it wasn't possible to execute "./autogen.sh" without error message. And the error message indicated that the "src/" directory was missing. To improve on this situation I cloned the repository > > https://github.com/protocolbuffers/protobuf > > which contains the latest version of the official C++ protocol buffer compiler and took the "src/" directory. In addition I've taken the latest version of "autogen.sh", "configure.ac", "Makefile.am" and "Makefile.in". Also I took the directories "benchmarks" and "conformance" since these directories were non-existant in the 2013 version of the protobuf implementation for Ada. In the 2013 protobuf repository the contents of directory "m4" was deleted and then replenished with the the latest versions from the official C++ repository. > With these changes it was then possible to run "./autogen.sh" without error and then successfully run "make". > > Next step after this was to compile the C++ code in the "compiler" directory by executing "gprbuild -p -P protoc_ada.gpr". This was not possible due to compilation errors. To fix the compilation errors the following changes were done to the C++ code: > > scoped_ptr --> std::unique_ptr > scoped_array --> std::vector > map --> std::map > numeric_limits --> std::numeric_limits > > It seems the protocol buffer C++ code from 2013 had a dependency upon Boost which has been removed. With the changes in place it is possible to compile the C++ code. The protoc_ada.gpr file also needed adjustments to be able to link against libprotoc and libprotobuf that are created in the "src/.libs" directory when running make above. I hope this feedback will help accelerate the Ada binding from "non working alpha state" into a "working alpha state". > > Best regards, > Joakim >