Gaurav_handa's picture

Hi All,

I have downloaded the latest pion build from the site and trying to compile it using Visual Studio 2008. I have downloaded the Third party libraries too. What I found was that I need to use Boost version 1.36 on Visual Studio 2008
and it worked.

Now when I try to compile the DatabaseOutputReactor I get linking error saying that pion-platform.lib not found.

I checked the properties of pion-platform project and it was built like dll. I converted its type to library file and used it in the Databaseoutputreactor project.

Now the old error was gone but linking errors like unable to find definition for hasPlugin() and getDatabase() started coming. I checked the code of pion-platform project in PluginConfig.hpp and DatabaseManager.hpp but these method are present there.

Can someone help me what is the issue?

Thanks in advance.

Gaurav
Software Architect.

Gaurav_handa's picture
Visual studio 2008 Issue

Hi Thanks for your feedback.
After some initial hiccups I was able to launch Pion from VS2008.
I had to recompile the ThirdParty libraries again with VS2008. I used Cygwin/Mingw to compile most of them. Can provide details if required.

I dropped the LogInputReactor as it needed recompilation from Boost::iostream. As this compilation was failing on my machine all the time and niether I had time to look into that so just dropped.

I also tried to run the test cases and looked like all of them were passing.

The only problem that I am facing is I dont have any input reactor listed on my workspace page. How to solve this?

If I can get a link/document about how to use the web user interface it will be great.

If you can help that will be great.

Thanks in Advance.

Regards
Gaurav

Submitted by Gaurav_handa on Fri, 11/21/2008 - 12:49.
mignon's picture
Visual Studio 2008 issues

We don't currently support Visual Studio 2008, but I tried building pion-platform.sln with it to see what would happen. The only two projects which didn't compile were LogService and LogInputReactor.

The problem with LogService is due to log4cxx, and has nothing to do with Boost. Probably log4cxx needs to be rebuilt with Visual Studio 2008, but this might not be easy; see http://www.elpauer.org/?p=250. However, you might not need LogService, since it's only used by PionWebServer. If you just want to run Pion, you can ignore it.

The problem with LogInputReactor is a Boost issue but not a Boost 1.35 vs. 1.36 issue. Here is an extract from pion-platform/common/doc/README.msvc which explains the situation:

--- begin extract ---

Boost.Iostreams is built by default without compression/decompression
support on Windows (since zlib and bzip2 aren't installed as part of
Windows.) Since Pion uses boost::iostreams::gzip_decompressor and
boost::iostreams::bzip2_decompressor, zlib and bzip2 must be installed
(see instructions later in this document) and Boost.Iostreams must be
rebuilt: open a command prompt in ...\boost_1_35_0\libs\iostreams\build,
and run the following command (changing the paths if you installed zlib
and/or bzip2 elsewhere.)

bjam debug release -sZLIB_BINARY=zdll -sZLIB_INCLUDE=C:/zlib-1.2.3/include \
-sZLIB_LIBPATH=C:/zlib-1.2.3/lib -sBZIP2_BINARY=bzip2 \
-sBZIP2_INCLUDE=C:/bzip2-1.0.5/include -sBZIP2_LIBPATH=C:/bzip2-1.0.5/lib

Then copy boost_iostreams-vc80-mt-gd-1_35.{dll|lib} and
boost_iostreams-vc80-mt-1_35.{dll|lib} from
...\boost_1_35_0\bin.v2\libs\iostreams\build to C:\Boost\Lib.

--- end extract ---

You will need to do the same thing, but for VC9 (aka Visual Studio 2008).

So, I did not come across anything that indicated a need for Boost 1.36, and would be interested in knowing what problem you had that was solved by switching to Boost 1.36.

Thanks for your feedback.

Mignon

Submitted by mignon on Sat, 10/18/2008 - 15:33.
Mike Dickey's picture
Probably 1.36 related?

The Visual Studio files should work fine out of the box.. we use them extensively internally for all our builds and testing..

We haven't tried upgrading to 1.36 yet, so I suspect this is a problem.. we're still using 1.35.1. We have a ticket for the 1.36 upgrade, but it's a rather low priority:

http://trac.atomiclabs.com/ticket/270

Submitted by Mike Dickey on Fri, 10/17/2008 - 16:09.