{"comment":{"created_at":"2011-10-11T07:33:31Z","body":"[springmeyer] Closing this as it seems that the scope issue was the likely the culprit.\r\n\r\nIf other issues exist with building mapnik on recent versions of Solaris we should open new tickets when encountered.","updated_at":"2011-10-11T07:33:31Z","url":"https://api.github.com/repos/mapnik-org/mapnik/issues/comments/2356412","id":2356412,"user":{"avatar_url":"https://secure.gravatar.com/avatar/941f68386168a8a6b60f2529a7830af7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/artemp","id":59056,"login":"artemp"}},"action":"created","issue":{"number":61,"created_at":"2011-10-11T07:33:27Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"I wanted to get this out to the Mapnik community for discussion.  This patch fixes issues with compiling on OSX Leopard (10.5) (specifically in [browser:src/unicode.cpp unicode.cpp]), and provides very rough support for the Sun Studio `CC` C++ compiler on Solaris.  In the process, `SConstruct` was re-worked a bit and a SCons bug was fixed (was specific to Solaris-only).\r\n\r\nAs far as I know, this is the first attempt to use a C++ compiler other than `g++` (with the exception of the MS Windows references I've seen sprinkled in the code).  My C++ is a bit rusty, but this highlights some code with portability issues across compilers.\r\n\r\nSome highlights of code that was troublesome for Sun's compiler: \r\n\r\n * The following [browser:trunk/boost/property_tree/detail/ptree_implementation.hpp@600#L909 line] in the Boost `property_tree` implementation gave errors about \"the declaration needs to be within a statement\":\r\n{{{\r\ntypename traits_type::template inserter<Type>()(m_impl->m_data, value, loc);\r\n}}}\r\n\r\n * In [browser:trunk/include/mapnik/utils.hpp utils.hpp], the following lines (L83 and L92):\r\n\r\n{{{\r\nstatic void destroy(volatile T* obj)\r\n...\r\nfriend class CreatePolicy<T>;\r\n}}}\r\n\r\n The Sun compiler raises errors about the use of the `volatile` keyword and that the `friend` class declaration \"must specify a class or function.\"\r\n\r\n * All of the `inline` declarations in [browser:trunk/src/envelope.cpp envelope.cpp].\r\n\r\n\r\nI also added the `iconv` library to the requisites (even though Artem patched for Darwin in r600) because it was required for both Leopard and Solaris.","comments":6,"title":"Support for OSX Leopard and Solaris (using Sun Studio compiler)","updated_at":"2011-10-11T07:33:32Z","url":"https://api.github.com/repos/mapnik-org/mapnik/issues/61","id":1871543,"assignee":null,"milestone":null,"closed_at":"2011-10-11T07:33:32Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/941f68386168a8a6b60f2529a7830af7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/artemp","id":59056,"login":"artemp"},"html_url":"https://github.com/mapnik-org/mapnik/issues/61","labels":[{"name":"Core_Library","url":"https://api.github.com/repos/mapnik-org/mapnik/labels/Core_Library","color":"FFFFFF"}],"state":"closed"},"legacy":{"issue_id":1871543,"comment_id":2356412}}