brown/protobuf

Can't Reconfigure for New Platforms

Closed this issue · 6 comments

Whilst compiling for MacOS, I get the below error. It looks like some of this is auto-generated, but without a way to regenerate the files for Mac. In my situation, I need this working on both MS Windows and Mac for development.

- Steve

c++ -std=c++0x -I/usr/local/include -I. -c -o message.o message.cc
In file included from message.cc:32:
./hash.h:43:10: fatal error: 'tr1/unordered_map' file not found

include HASH_MAP_H

     ^

./config.h:8:20: note: expanded from macro 'HASH_MAP_H'

define HASH_MAP_H <tr1/unordered_map>

               ^

1 error generated.
make: *** [message.o] Error 1

brown commented

Hello Steve. The compilation instructions are missing some
information. I didn't see the problem because I only use Linux.

The config.h include file is host specific, created by a
configure script. The process of compiling Google's protobuf
compiler, step 1 of my installation instructions, will create
config.h in the top-level directory of the checked out Google
protobuf compiler tree.

Take the version of config.h in the Google protobuf compiler
tree and copy it to protoc/lisp/config.h in my tree, overwriting
what's there.

Let me know if the above procedure works. If it does, I'll update
the installation instructions.

Bob

On Fri, Jul 10, 2015 at 10:56 AM, senor-hadoop notifications@github.com
wrote:

Whilst compiling for MacOS, I get the below error. It looks like some of
this is auto-generated, but without a way to regenerate the files for Mac.
In my situation, I need this working on both MS Windows and Mac for
development.

  • Steve

c++ -std=c++0x -I/usr/local/include -I. -c -o message.o message.cc
In file included from message.cc:32:
./hash.h:43:10: fatal error: 'tr1/unordered_map' file not found
#include HASH_MAP_H
^
./config.h:8:20: note: expanded from macro 'HASH_MAP_H'
#define HASH_MAP_H
^
1 error generated.
make: *** [message.o] Error 1


Reply to this email directly or view it on GitHub
#3.

brown commented

I updated the installation instructions in README and removed file
protoc/lisp/config.h. Let me know if the new instructions work better
for you.

It gets past the compile, but there are linking errors now. I'll see if I can work through them and report back.

brown commented

The file protoc/lisp/Makefile was created by hand, not generated
using the GNU autoconf process. It works on Linux, but may
supply the wrong arguments for linking on Mac OS X. You may be
able to fix it by looking at the makefiles in the Google protobuf
compiler tree.

Sorry you're having trouble. The C++ code that implements
the proto-gen-lisp plugin was meant to be temporary, so I did not
do the work to make the build process portable with autoconf.
I intend to eventually replace the C++ plugin code with a plugin
written in Lisp.

Bob

On Fri, Jul 10, 2015 at 12:00 PM, senor-hadoop notifications@github.com
wrote:

It gets past the compile, but there are linking errors now. I'll see if I
can work through them and report back.


Reply to this email directly or view it on GitHub
#3 (comment).

Ah, I see. Looking at the protobuf makefile linking flags solved the problem. Agreed on the idea that using a lisp-based plugin is the way to go. I can help test the plugin when you start working on it.

brown commented

Let me know if you have any other problems using the
protobuf code.

Bob

On Fri, Jul 10, 2015 at 12:40 PM, senor-hadoop notifications@github.com
wrote:

Ah, I see. Looking at the protobuf makefile linking flags solved the
problem. Agreed on the idea that using a lisp-based plugin is the way to
go. I can help test the plugin when you start working on it.


Reply to this email directly or view it on GitHub
#3 (comment).