Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build problem on OSX (boost 1.44.0) #1

Open
ghost opened this issue Aug 22, 2013 · 3 comments
Open

Build problem on OSX (boost 1.44.0) #1

ghost opened this issue Aug 22, 2013 · 3 comments

Comments

@ghost
Copy link

ghost commented Aug 22, 2013

The CMake step works just fine, but the build breaks.

It looks like there was a change in the property_ptree API between the version
you used to build this and the standard boost that come with Mac.

Scanning dependencies of target certus_util
[  7%] Building CXX object core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2:
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7:
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515:
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:470:66: error: no
      member named 'base' in
      'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const
      std::basic_string<char>, boost::property_tree::basic_ptree<std::basic_string<char>,
      std::basic_string<char>, std::less<std::basic_string<char>>>>,
      std::allocator<std::pair<const std::basic_string<char>,
      boost::property_tree::basic_ptree<std::basic_string<char>, std::basic_string<char>,
      std::less<std::basic_string<char>>>>>>>>'
        return std::pair<assoc_iterator, assoc_iterator>(r.first.base(),
                                                         ~~~~~~~ ^
/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:12:30: note: in instantiation of
      member function 'boost::property_tree::basic_ptree<std::basic_string<char>,
      std::basic_string<char>, std::less<std::basic_string<char>> >::equal_range' requested
      here
        std::pair<a_it,a_it> p = pt.equal_range(key);
                                    ^
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2:
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7:
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515:
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:484:21: error: no
      member named 'base' in
      'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const
      std::basic_string<char>, boost::property_tree::basic_ptree<std::basic_string<char>,
      std::basic_string<char>, std::less<std::basic_string<char>>>>,
      std::allocator<std::pair<const std::basic_string<char>,
      boost::property_tree::basic_ptree<std::basic_string<char>, std::basic_string<char>,
      std::less<std::basic_string<char>>>>>>>>'
            r.first.base(), r.second.base());
            ~~~~~~~ ^
/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:48:32: note: in instantiation of
      member function 'boost::property_tree::basic_ptree<std::basic_string<char>,
      std::basic_string<char>, std::less<std::basic_string<char>> >::equal_range' requested
      here
        std::pair<ca_it,ca_it> p = pt.equal_range(key);
                                      ^
2 errors generated.
make[2]: *** [core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o] Error 1
make[1]: *** [core/lib/util/CMakeFiles/certus_util.dir/all] Error 2
make: *** [all] Error 2
@nerdvegas
Copy link
Owner

Hey Benjamin,

Certus hasn't seen any development for a long while now, and I've since had
other thoughts about the direction Rez is going, so this project is for all
intent and purpose a dead end (specifically, I don't think that C++
necessarily adds much benefit any more). It was still a useful exercise for
me though, since part of its development involved a much better rewrite of
the 'version' submodule (which I intent to reimplement in python and add to
rez), and I also implemented a substantial improvement in the resolving
algorithm (which I'd also like to see go into Rez, as a python
implementation).

Part of this work will also involve modularising Rez somewhat. For example,
going to a python-egg-based distribution would allow me to split the
version submodule out into its own python library. I also want to further
separate the core resolving system from Rez, so that it's possible to use
in scenarios that aren't tied to software (there's at least one other
problem space - in asset management - where I think this would be useful).
In order to do this, the concept of packages needs to be generalised, so
they don't necessarily have to be loaded from disk from a package.yaml
file, for example. Some of this work, also, has already been done in
Certus, and will be ported into Rez (at some point!).

Cheers
A

On Thu, Aug 22, 2013 at 12:07 PM, bsergean [email protected] wrote:

The CMake step works just fine, but the build breaks.

It looks like there was a change in the property_ptree API between the
version
you used to build this and the standard boost that come with Mac.

Scanning dependencies of target certus_util
[ 7%] Building CXX object core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2:
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7:
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515:
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:470:66: error: no
member named 'base' in
'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const
std::basic_string, boost::property_tree::basic_ptreestd::basic_string<char,
std::basic_string, std::lessstd::basic_string>>,
std::allocator<std::pair<const std::basic_string,
boost::property_tree::basic_ptreestd::basic_string<char, std::basic_string,
std::lessstd::basic_string>>>>>>'
return std::pair<assoc_iterator, assoc_iterator>(r.first.base(),
~~~~~~~ ^
/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:12:30: note: in instantiation of
member function 'boost::property_tree::basic_ptreestd::basic_string<char,
std::basic_string, std::lessstd::basic_string >::equal_range' requested
here
std::pair<a_it,a_it> p = pt.equal_range(key);
^
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2:
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7:
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515:
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:484:21: error: no
member named 'base' in
'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const
std::basic_string, boost::property_tree::basic_ptreestd::basic_string<char,
std::basic_string, std::lessstd::basic_string>>,
std::allocator<std::pair<const std::basic_string,
boost::property_tree::basic_ptreestd::basic_string<char, std::basic_string,
std::lessstd::basic_string>>>>>>'
r.first.base(), r.second.base());
~~~~~~~ ^
/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:48:32: note: in instantiation of
member function 'boost::property_tree::basic_ptreestd::basic_string<char,
std::basic_string, std::lessstd::basic_string >::equal_range' requested
here
std::pair<ca_it,ca_it> p = pt.equal_range(key);
^
2 errors generated.
make[2]: *** [core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o] Error 1
make[1]: *** [core/lib/util/CMakeFiles/certus_util.dir/all] Error 2
make: *** [all] Error 2


Reply to this email directly or view it on GitHubhttps://github.com//issues/1
.

@ghost
Copy link
Author

ghost commented Aug 22, 2013

Interesting. I tried once to rewrite something to use a DB (SQLite as opposed
to using my built-in in-memory DB, and in this process I learned about DB indexes,
which I retrofited in a limited way in my in-memory DB work ... and never used the
SQLite code.

Here's an example setup.py I built a long time ago (to build C code).
You could start by moving the old version.py into its own directory
that you'd put in github (coming up with the right name might be tricky ... rez-version ?
and pushing that to PyPY shouldn't be too bad.

"""Build the smaz python module."""
from distutils.core import setup, Extension

setup(
name = "smaz",
version = "1.0",
description = 'Python interface for smaz',
author = 'Benjamin Sergeant',
author_email = '[email protected]',

ext_modules = [
    Extension("smaz", sources=["smaz.c", "pysmaz.c"]),
    ],
)

(somewhere you'll have to specify that your source code is "version.py", I don't remember
how to do that but it must be easy.

On Aug 21, 2013, at 11:00 PM, allan johns [email protected] wrote:

Hey Benjamin,

Certus hasn't seen any development for a long while now, and I've since had
other thoughts about the direction Rez is going, so this project is for all
intent and purpose a dead end (specifically, I don't think that C++
necessarily adds much benefit any more). It was still a useful exercise for
me though, since part of its development involved a much better rewrite of
the 'version' submodule (which I intent to reimplement in python and add to
rez), and I also implemented a substantial improvement in the resolving
algorithm (which I'd also like to see go into Rez, as a python
implementation).

Part of this work will also involve modularising Rez somewhat. For example,
going to a python-egg-based distribution would allow me to split the
version submodule out into its own python library. I also want to further
separate the core resolving system from Rez, so that it's possible to use
in scenarios that aren't tied to software (there's at least one other
problem space - in asset management - where I think this would be useful).
In order to do this, the concept of packages needs to be generalised, so
they don't necessarily have to be loaded from disk from a package.yaml
file, for example. Some of this work, also, has already been done in
Certus, and will be ported into Rez (at some point!).

Cheers
A

On Thu, Aug 22, 2013 at 12:07 PM, bsergean [email protected] wrote:

The CMake step works just fine, but the build breaks.

It looks like there was a change in the property_ptree API between the
version
you used to build this and the standard boost that come with Mac.

Scanning dependencies of target certus_util
[ 7%] Building CXX object core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2:
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7:
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515:
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:470:66: error: no
member named 'base' in
'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const
std::basic_string, boost::property_tree::basic_ptreestd::basic_string<char,
std::basic_string, std::lessstd::basic_string>>,
std::allocator<std::pair<const std::basic_string,
boost::property_tree::basic_ptreestd::basic_string<char, std::basic_string,
std::lessstd::basic_string>>>>>>'
return std::pair<assoc_iterator, assoc_iterator>(r.first.base(),

/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:12:30: note: in instantiation of 
member function 'boost::property_tree::basic_ptree<std::basic_string<char>, 
std::basic_string<char>, std::less<std::basic_string<char>> >::equal_range' requested 
here 
std::pair<a_it,a_it> p = pt.equal_range(key); 
^ 
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2: 
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7: 
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515: 
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:484:21: error: no 
member named 'base' in 
'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const 
std::basic_string<char>, boost::property_tree::basic_ptree<std::basic_string<char>, 
std::basic_string<char>, std::less<std::basic_string<char>>>>, 
std::allocator<std::pair<const std::basic_string<char>, 
boost::property_tree::basic_ptree<std::basic_string<char>, std::basic_string<char>, 
std::less<std::basic_string<char>>>>>>>>' 
r.first.base(), r.second.base()); 
~~~~~~~ ^ 
/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:48:32: note: in instantiation of 
member function 'boost::property_tree::basic_ptree<std::basic_string<char>, 
std::basic_string<char>, std::less<std::basic_string<char>> >::equal_range' requested 
here 
std::pair<ca_it,ca_it> p = pt.equal_range(key); 
^ 
2 errors generated. 
make[2]: *** [core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o] Error 1 
make[1]: *** [core/lib/util/CMakeFiles/certus_util.dir/all] Error 2 
make: *** [all] Error 2 

— 
Reply to this email directly or view it on GitHub<https://github.com/nerdvegas/certus/issues/1> 
. 

—
Reply to this email directly or view it on GitHub.

@ghost
Copy link
Author

ghost commented Aug 22, 2013

Great tutorial on the topic of building package

http://zetcode.com/articles/packageinpython/

On Aug 21, 2013, at 11:00 PM, allan johns [email protected] wrote:

Hey Benjamin,

Certus hasn't seen any development for a long while now, and I've since had
other thoughts about the direction Rez is going, so this project is for all
intent and purpose a dead end (specifically, I don't think that C++
necessarily adds much benefit any more). It was still a useful exercise for
me though, since part of its development involved a much better rewrite of
the 'version' submodule (which I intent to reimplement in python and add to
rez), and I also implemented a substantial improvement in the resolving
algorithm (which I'd also like to see go into Rez, as a python
implementation).

Part of this work will also involve modularising Rez somewhat. For example,
going to a python-egg-based distribution would allow me to split the
version submodule out into its own python library. I also want to further
separate the core resolving system from Rez, so that it's possible to use
in scenarios that aren't tied to software (there's at least one other
problem space - in asset management - where I think this would be useful).
In order to do this, the concept of packages needs to be generalised, so
they don't necessarily have to be loaded from disk from a package.yaml
file, for example. Some of this work, also, has already been done in
Certus, and will be ported into Rez (at some point!).

Cheers
A

On Thu, Aug 22, 2013 at 12:07 PM, bsergean [email protected] wrote:

The CMake step works just fine, but the build breaks.

It looks like there was a change in the property_ptree API between the
version
you used to build this and the standard boost that come with Mac.

Scanning dependencies of target certus_util
[ 7%] Building CXX object core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2:
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7:
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515:
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:470:66: error: no
member named 'base' in
'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const
std::basic_string, boost::property_tree::basic_ptreestd::basic_string<char,
std::basic_string, std::lessstd::basic_string>>,
std::allocator<std::pair<const std::basic_string,
boost::property_tree::basic_ptreestd::basic_string<char, std::basic_string,
std::lessstd::basic_string>>>>>>'
return std::pair<assoc_iterator, assoc_iterator>(r.first.base(),

/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:12:30: note: in instantiation of 
member function 'boost::property_tree::basic_ptree<std::basic_string<char>, 
std::basic_string<char>, std::less<std::basic_string<char>> >::equal_range' requested 
here 
std::pair<a_it,a_it> p = pt.equal_range(key); 
^ 
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:2: 
In file included from /Users/bsergean/src/certus/core/lib/util/ptree_utils.h:7: 
In file included from /usr/local/include/boost/property_tree/ptree.hpp:515: 
/usr/local/include/boost/property_tree/detail/ptree_implementation.hpp:484:21: error: no 
member named 'base' in 
'boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const 
std::basic_string<char>, boost::property_tree::basic_ptree<std::basic_string<char>, 
std::basic_string<char>, std::less<std::basic_string<char>>>>, 
std::allocator<std::pair<const std::basic_string<char>, 
boost::property_tree::basic_ptree<std::basic_string<char>, std::basic_string<char>, 
std::less<std::basic_string<char>>>>>>>>' 
r.first.base(), r.second.base()); 
~~~~~~~ ^ 
/Users/bsergean/src/certus/core/lib/util/ptree_utils.cpp:48:32: note: in instantiation of 
member function 'boost::property_tree::basic_ptree<std::basic_string<char>, 
std::basic_string<char>, std::less<std::basic_string<char>> >::equal_range' requested 
here 
std::pair<ca_it,ca_it> p = pt.equal_range(key); 
^ 
2 errors generated. 
make[2]: *** [core/lib/util/CMakeFiles/certus_util.dir/ptree_utils.cpp.o] Error 1 
make[1]: *** [core/lib/util/CMakeFiles/certus_util.dir/all] Error 2 
make: *** [all] Error 2 

— 
Reply to this email directly or view it on GitHub<https://github.com/nerdvegas/certus/issues/1> 
. 

—
Reply to this email directly or view it on GitHub.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant