Cmake does find protobuf and the compilation turns out errors as the protobuf library is installed with wrong settings. I am not sure about how it happens. Maybe homebrew causes the problem or perhaps wrong parameters are specified during installing.
-----Original Message----- From: wangwei...@gmail.com [mailto:wangwei...@gmail.com] On Behalf Of Wang Wei Sent: Sunday, 17 July, 2016 9:35 PM To: dev@singa.incubator.apache.org Subject: Re: Problems on mac On Sun, Jul 17, 2016 at 9:25 PM, Xiezhongle <xiezhon...@comp.nus.edu.sg> wrote: > I think the problem is about the configuration when installing Protobuf. > The make script sets the architecture as "x86_64" somehow. > Do you mean homebrew installs protobuf as 'x86_64'? and then cmake cannot find protobuf? > > -----Original Message----- > From: wangwei...@gmail.com [mailto:wangwei...@gmail.com] On Behalf Of > Wang Wei > Sent: Sunday, 17 July, 2016 9:23 PM > To: zhongle > Cc: dev@singa.incubator.apache.org > Subject: Re: Problems on mac > > What is the problem of homebrew? > I think people using MacOS would typically use homebrew just like > using 'sudo apt-get' for ubuntu OS. > > On Sun, Jul 17, 2016 at 7:28 PM, Erhard M. Dinhobl jun. < > e...@master-studios.net> wrote: > > > I built protobuf now from source! I also reconfigured my whole mac > > to get default configuration. Everything should be fine now! > > > > -- > > > > master-studios.net - Intelligent Software / Consulting / Research > > > > +43 (0)699 / 102 69 056, Vienna, Austria > > > > Am 17.07.2016 13:27, schrieb Erhard M. Dinhobl jun.: > > > > > Hi > > > > > > I first removed protobuf from brew (no install). then: > > > > > > CPATH=/usr/local/include > > > > > > DYLD_LIBRARY_PATH=/usr/local/lib > > > > > > LD_LIBRARY_PATH=/usr/local/lib > > > > > > LIBRARY_PATH=/usr/local/lib > > > > > > > > PATH=/usr/local/lib:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Li > > br ary/TeX/texbin:/Users/Erhard/Library/Developer/android-ndk-r10e > > > > > > I removed the build > > > > > > created it with: > > > > > > $ cmake .. > > > > > > $ make > > > > > > again: > > > > > > Undefined symbols for architecture x86_64: > > > "google::protobuf::Message::DebugString() const", referenced from: > > > singa::Channel::Send(google::protobuf::Message const&) in > > > channel.cc.o > > > > > "google::protobuf::Message::SerializeToOstream(std::__1::basic_ostre > > am <char, std::__1::char_traits<char> >*) const", referenced from: > > > singa::Channel::Send(google::protobuf::Message const&) in > > > channel.cc.o > > > ld: symbol(s) not found for architecture x86_64 > > > clang: error: linker command failed with exit code 1 (use -v to > > > see > > invocation) > > > make[2]: *** [lib/libsinga_utils.dylib] Error 1 > > > make[1]: *** [src/CMakeFiles/singa_utils.dir/all] Error 2 > > > > > > I checked every file. in the dylib files, there are evidences, > > > that > > those two methods are in. > > > > > > Anyone other a suggestion? > > > > > > -- > > > > > > master-studios.net - Intelligent Software / Consulting / Research > > > > > > +43 (0)699 / 102 69 056, Vienna, Austria > > > > > > Am 16.07.2016 20:59, schrieb Xiezhongle: > > > > > >> Hi Erhard, > > >> > > >> I believe that the problem is caused by Protobuf, not SINGA. > > >> > > >> Could you please try to reinstall it? > > >> > > >> I suggest you compile Protobuf from source code instead of using > > homebrew. > > >> > > >> Best, > > >> > > >> Zhongle > > >> > > >> From: Erhard M. Dinhobl jun. [mailto:e...@master-studios.net] > > >> Sent: Sunday, 17 July, 2016 2:06 AM > > >> To: dev@singa.incubator.apache.org > > >> Cc: Xiezhongle > > >> Subject: RE: Problems on mac > > >> > > >> BTW: it would be greate because to get it up running because I > > >> invested > > now more than 40 hours in this problem and my mac is currently my > > main working station. > > >> > > >> -- > > >> > > >> master-studios.net - Intelligent Software / Consulting / Research > > >> > > >> +43 (0)699 / 102 69 056, Vienna, Austria > > >> > > >> Am 16.07.2016 19:40, schrieb Erhard M. Dinhobl jun.: > > >> > > >> Hi xiezhongle > > >> > > >> I motivated myself trying another run on mac (to work also at > > >> home and > > not in my bureau only, at home I have more time). I did: > > >> > > >> $ mkdir build > > >> > > >> $ cd build > > >> > > >> $ cmake > > -DPROTOBUF_INCLUDE_DIR:PATH=/usr/local/Cellar/protobuf/2.6.1/include > > \ > > >> > > --DPROTOBUF_LIBRARY:FILEPATH=/usr/local/Cellar/protobuf/2.6.1/lib/li > > bp > > rotobuf.dylib > > \ > > >> > > -DPROTOBUF_LIBRARY_DEBUG:FILEPATH=/usr/local/Cellar/protobuf/2.6.1/l > > ib > > /libprotobuf.dylib > > \ > > >> > > -DPROTOBUF_LITE_LIBRARY:FILEPATH=/usr/local/Cellar/protobuf/2.6.1/li > > b/ > > libprotobuf-lite.dylib > > \ > > >> > > -DPROTOBUF_LITE_LIBRARY_DEBUG:FILEPATH=/usr/local/Cellar/protobuf/2.6. > > 1/lib/libprotobuf-lite.dylib > > \ > > >> > > -DPROTOBUF_PROTOC_EXECUTABLE:FILEPATH=/usr/local/Cellar/protobuf/2.6 > > .1 > > /bin/protoc > > \ > > >> > > -DPROTOBUF_PROTOC_LIBRARY:FILEPATH=/usr/local/Cellar/protobuf/2.6.1/ > > li > > b/libprotoc.dylib > > \ > > >> > > -DPROTOBUF_PROTOC_LIBRARY_DEBUG:FILEPATH=/usr/local/Cellar/protobuf/2. > > 6.1/lib/libprotoc.dylib > > \ > > >> -DUSE_CUDA=OFF -DUSE_CUDNN=OFF .. > > >> > > >> (those are all taken from the CMakeCache-File) > > >> > > >> and then: > > >> > > >> $ make > > >> > > >> result is again: > > >> > > >> Undefined symbols for architecture x86_64: > > >> "google::protobuf::Message::DebugString() const", referenced from: > > >> singa::Channel::Send(google::protobuf::Message const&) in > > >> channel.cc.o > > >> > > "google::protobuf::Message::SerializeToOstream(std::__1::basic_ostre > > am <char, std::__1::char_traits<char> >*) const", referenced from: > > >> singa::Channel::Send(google::protobuf::Message const&) in > > >> channel.cc.o > > >> ld: symbol(s) not found for architecture x86_64 > > >> clang: error: linker command failed with exit code 1 (use -v to > > >> see > > invocation) > > >> make[2]: *** [lib/libsinga_utils.dylib] Error 1 > > >> make[1]: *** [src/CMakeFiles/singa_utils.dir/all] Error 2 > > >> make: *** [all] Error 2 > > >> > > >> I don't know where to define the lib that it finds the x86_64 arch. > > There exists every path and what ever. I really don't know. > > >> > > >> -- > > >> > > >> master-studios.net - Intelligent Software / Consulting / Research > > >> > > >> +43 (0)699 / 102 69 056, Vienna, Austria > > >> > > >> Am 04.07.2016 08:52, schrieb Xiezhongle: > > >> > > >> Hi Erhard, > > >> > > >> Please check your export parameters. > > >> It should be something like: > > >> export > > >> LIBRARY_PATH=/usr/local/Cellar/protobuf/2.6.1/lib:$LIBRARY_PATH > > >> ...... > > >> You missed the "/lib". > > >> > > >> And also, if the folder installed by homebrew is not included in > > >> the > > bash > > >> settings, please use the following command under "incubator-singa/" > > folder: > > >> mkdir build && cd build > > >> cmake -DProtobuf_SRC_ROOT_FOLDER=/usr/local/Cellar/protobuf/2.6.1 > > >> -DUSE_CUDA=OFF -DUSE_CUDNN=OFF .. > > >> make > > >> > > >> Please try and let me know if you have other problems. > > >> > > >> Best, > > >> zhongle > > >> > > >> -----Original Message----- > > >> From: Erhard M. Dinhobl jun. [mailto:e...@master-studios.net] > > >> Sent: Monday, 4 July, 2016 12:51 PM > > >> To: Apache Singa Dev > > >> Subject: Problems on mac > > >> > > >> Hi > > >> > > >> I am on to get singa up running under mac. I will write a > > >> developer introduction on this. but one problem. I get the > > >> following message > > >> > > >> Undefined symbols for architecture x86_64: > > >> "google::protobuf::Message::DebugString() const", referenced from: > > >> singa::Channel::Send(google::protobuf::Message const&) in > > >> channel.cc.o > > >> > > >> > > "google::protobuf::Message::SerializeToOstream(std::__1::basic_ostre > > am > > <char, > > >> std::__1::char_traits<char> >*) const", referenced from: > > >> singa::Channel::Send(google::protobuf::Message const&) in > > >> channel.cc.o > > >> ld: symbol(s) not found for architecture x86_64 > > >> clang: error: linker command failed with exit code 1 (use -v to > > >> see > > >> invocation) > > >> make[2]: *** [lib/libsinga_utils.dylib] Error 1 > > >> make[1]: *** [src/CMakeFiles/singa_utils.dir/all] Error 2 > > >> make: *** [all] Error 2 > > >> > > >> I installed protobuf 2.6.0 and set the variables via: > > >> > > >> export LD_LIBRARY_PATH=/usr/local/Cellar/protobuf/2.6.1/ > > >> > > >> export LIBRARY_PATH=/usr/local/Cellar/protobuf/2.6.1/ > > >> > > >> export DYLD_LIBRARY_PATH=/usr/local/Cellar/protobuf/2.6.1/ > > >> > > >> maybe someone has a hint.... > > >> > > >> -- > > >> > > >> master-studios.net - Intelligent Software / Consulting / Research > > >> > > >> +43 (0)699 / 102 69 056, Vienna, Austria > > > >