Thread: [pygccxml-development] Do function transformers require a customized version of boost?
Brought to you by:
mbaas,
roman_yakovenko
From: Allen B. <al...@vr...> - 2007-03-30 13:53:10
|
Last night I added function transformers to my py++ code generation script. But unfortunately it now looks like I can't use this feature with boost 1.33.1. It gives this error on compiling: In file included from src/python/ben_module/generated/_ben.main.cpp:7: src/python/ben_module/generated/__call_policies.pypp.hpp:14:58: error: boost/python/suite/indexing/iterator_range.hpp: No such file or directory src/python/ben_module/generated/__convenience.pypp.hpp: In function 'void pyplusplus::convenience::ensure_uniform_sequence(boost::python::api::object, pyplusplus::convenience::index_type)': src/python/ben_module/generated/__convenience.pypp.hpp:46: error: 'len' is not a member of 'boost::python' I am assuming this means that it requires the a customized version of boost with the new indexing suite that is not part of the standard boost.python. Is this correct? Is there any way around this? It would be very painful for me to tell all my users that they can't use the standard version of boost that comes with their OS or that they can get from boost.org. Unless the indexing suite is accepted into boost.python I don't really think it will ever become an option for me to use it or any py++ code that requires it. :( In the case of the code I am generating, I am only using the FT.output transformation anyway, so it doesn't even need the indexing suite. Is there any way that py++ could be a bit smarter and not include the indexing suite files unless they are needed? -Allen |
From: Roman Y. <rom...@gm...> - 2007-03-30 17:49:14
|
On 3/30/07, Allen Bierbaum <al...@vr...> wrote: > Last night I added function transformers to my py++ code generation > script. But unfortunately it now looks like I can't use this feature > with boost 1.33.1. It gives this error on compiling: > > In file included from src/python/ben_module/generated/_ben.main.cpp:7: > src/python/ben_module/generated/__call_policies.pypp.hpp:14:58: error: > boost/python/suite/indexing/iterator_range.hpp: No such file or directory > src/python/ben_module/generated/__convenience.pypp.hpp: In function > 'void > pyplusplus::convenience::ensure_uniform_sequence(boost::python::api::object, > pyplusplus::convenience::index_type)': > src/python/ben_module/generated/__convenience.pypp.hpp:46: error: 'len' > is not a member of 'boost::python' > > I am assuming this means that it requires the a customized version of > boost with the new indexing suite that is not part of the standard > boost.python. Is this correct? Is there any way around this? > > It would be very painful for me to tell all my users that they can't use > the standard version of boost that comes with their OS or that they can > get from boost.org. Unless the indexing suite is accepted into > boost.python I don't really think it will ever become an option for me > to use it or any py++ code that requires it. :( > > In the case of the code I am generating, I am only using the FT.output > transformation anyway, so it doesn't even need the indexing suite. Is > there any way that py++ could be a bit smarter and not include the > indexing suite files unless they are needed? Yes. I will try to address the issue in a few days. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Roman Y. <rom...@gm...> - 2007-03-31 18:33:03
|
On 3/30/07, Roman Yakovenko <rom...@gm...> wrote: > On 3/30/07, Allen Bierbaum <al...@vr...> wrote: > > Last night I added function transformers to my py++ code generation > > script. But unfortunately it now looks like I can't use this feature > > with boost 1.33.1. It gives this error on compiling: > > > > In file included from src/python/ben_module/generated/_ben.main.cpp:7: > > src/python/ben_module/generated/__call_policies.pypp.hpp:14:58: error: > > boost/python/suite/indexing/iterator_range.hpp: No such file or directory > > src/python/ben_module/generated/__convenience.pypp.hpp: In function > > 'void > > pyplusplus::convenience::ensure_uniform_sequence(boost::python::api::object, > > pyplusplus::convenience::index_type)': > > src/python/ben_module/generated/__convenience.pypp.hpp:46: error: 'len' > > is not a member of 'boost::python' > > > > I am assuming this means that it requires the a customized version of > > boost with the new indexing suite that is not part of the standard > > boost.python. Is this correct? Is there any way around this? > > > > It would be very painful for me to tell all my users that they can't use > > the standard version of boost that comes with their OS or that they can > > get from boost.org. Unless the indexing suite is accepted into > > boost.python I don't really think it will ever become an option for me > > to use it or any py++ code that requires it. :( > > > > In the case of the code I am generating, I am only using the FT.output > > transformation anyway, so it doesn't even need the indexing suite. Is > > there any way that py++ could be a bit smarter and not include the > > indexing suite files unless they are needed? > > Yes. I will try to address the issue in a few days. Allen I separated functionality dependent on BP Index V2 to a different file. Can you test this? Thanks -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Allen B. <al...@vr...> - 2007-03-31 21:10:08
|
[...] >> Yes. I will try to address the issue in a few days. > > Allen I separated functionality dependent on BP Index V2 to a > different file. > Can you test this? It didn't work. I still get compile errors: src/python/ben_module/generated/__convenience.pypp.hpp: In function 'void pyplusplus::convenience::ensure_uniform_sequence(boost::python::api::object, pyplusplus::convenience::index_type)': src/python/ben_module/generated/__convenience.pypp.hpp:46: error: 'len' is not a member of 'boost::python' src/python/ben_module/generated/__convenience.pypp.hpp: In function 'void pyplusplus::convenience::copy_sequence(const boost::python::api::object&, Inserter)': src/python/ben_module/generated/__convenience.pypp.hpp:76: error: 'len' is not a member of 'boost::python' src/python/ben_module/generated/__convenience.pypp.hpp: In function 'void pyplusplus::convenience::copy_sequence(const boost::python::api::object&, Inserter, boost::type<Target>)': src/python/ben_module/generated/__convenience.pypp.hpp:84: error: 'len' is not a member of 'boost::python' Any ideas? -Allen |
From: Roman Y. <rom...@gm...> - 2007-03-31 21:16:50
|
On 4/1/07, Allen Bierbaum <al...@vr...> wrote: > > [...] > >> Yes. I will try to address the issue in a few days. > > > > Allen I separated functionality dependent on BP Index V2 to a > > different file. > > Can you test this? > It didn't work. I still get compile errors: > > src/python/ben_module/generated/__convenience.pypp.hpp: In function > 'void > > pyplusplus::convenience::ensure_uniform_sequence(boost::python::api::object, > pyplusplus::convenience::index_type)': > src/python/ben_module/generated/__convenience.pypp.hpp:46: error: 'len' > is not a member of 'boost::python' > src/python/ben_module/generated/__convenience.pypp.hpp: In function > 'void pyplusplus::convenience::copy_sequence(const > boost::python::api::object&, Inserter)': > src/python/ben_module/generated/__convenience.pypp.hpp:76: error: 'len' > is not a member of 'boost::python' > src/python/ben_module/generated/__convenience.pypp.hpp: In function > 'void pyplusplus::convenience::copy_sequence(const > boost::python::api::object&, Inserter, boost::type<Target>)': > src/python/ben_module/generated/__convenience.pypp.hpp:84: error: 'len' > is not a member of 'boost::python' http://boost.cvs.sourceforge.net/boost/boost/boost/python/object.hpp?view=markup As you can see this functions will be released as a part of 1.34. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Allen B. <al...@vr...> - 2007-03-31 22:10:42
|
Roman Yakovenko wrote: > > > On 4/1/07, *Allen Bierbaum* <al...@vr... > <mailto:al...@vr...>> wrote: > > [...] > >> Yes. I will try to address the issue in a few days. > > > > Allen I separated functionality dependent on BP Index V2 to a > > different file. > > Can you test this? > It didn't work. I still get compile errors: > > src/python/ben_module/generated/__convenience.pypp.hpp: In function > 'void > pyplusplus::convenience::ensure_uniform_sequence(boost::python::api::object, > pyplusplus::convenience::index_type)': > src/python/ben_module/generated/__convenience.pypp.hpp:46: error: > 'len' > is not a member of 'boost::python' > src/python/ben_module/generated/__convenience.pypp.hpp: In function > 'void pyplusplus::convenience::copy_sequence(const > boost::python::api::object&, Inserter)': > src/python/ben_module/generated/__convenience.pypp.hpp:76: error: > 'len' > is not a member of 'boost::python' > src/python/ben_module/generated/__convenience.pypp.hpp: In function > 'void pyplusplus::convenience::copy_sequence(const > boost::python::api::object&, Inserter, boost::type<Target>)': > src/python/ben_module/generated/__convenience.pypp.hpp:84: error: > 'len' > is not a member of 'boost::python' > > > http://boost.cvs.sourceforge.net/boost/boost/boost/python/object.hpp?view=markup > > As you can see this functions will be released as a part of 1.34. True, but 1.34 isn't released yet so my users don't have it. Is there anyway to keep features like this (FT.output) working for 1.33 until 1.34 is out and in more wide spread use? -Allen > > -- > Roman Yakovenko > C++ Python language binding > http://www.language-binding.net/ > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > ------------------------------------------------------------------------ > > _______________________________________________ > pygccxml-development mailing list > pyg...@li... > https://lists.sourceforge.net/lists/listinfo/pygccxml-development > |
From: Roman Y. <rom...@gm...> - 2007-04-01 04:59:00
|
On 4/1/07, Allen Bierbaum <al...@vr...> wrote: > > Roman Yakovenko wrote: > > > > > > On 4/1/07, *Allen Bierbaum* <al...@vr... > > <mailto:al...@vr...>> wrote: > > > > [...] > > >> Yes. I will try to address the issue in a few days. > > > > > > Allen I separated functionality dependent on BP Index V2 to a > > > different file. > > > Can you test this? > > It didn't work. I still get compile errors: > > > > src/python/ben_module/generated/__convenience.pypp.hpp: In function > > 'void > > > pyplusplus::convenience::ensure_uniform_sequence(boost::python::api::object, > > pyplusplus::convenience::index_type)': > > src/python/ben_module/generated/__convenience.pypp.hpp:46: error: > > 'len' > > is not a member of 'boost::python' > > src/python/ben_module/generated/__convenience.pypp.hpp: In function > > 'void pyplusplus::convenience::copy_sequence(const > > boost::python::api::object&, Inserter)': > > src/python/ben_module/generated/__convenience.pypp.hpp:76: error: > > 'len' > > is not a member of 'boost::python' > > src/python/ben_module/generated/__convenience.pypp.hpp: In function > > 'void pyplusplus::convenience::copy_sequence(const > > boost::python::api::object&, Inserter, boost::type<Target>)': > > src/python/ben_module/generated/__convenience.pypp.hpp:84: error: > > 'len' > > is not a member of 'boost::python' > > > > > > > http://boost.cvs.sourceforge.net/boost/boost/boost/python/object.hpp?view=markup > > > > As you can see this functions will be released as a part of 1.34. > True, but 1.34 isn't released yet so my users don't have it. Is there > anyway to keep features like this (FT.output) working for 1.33 until > 1.34 is out and in more wide spread use? > Yes I will fix this too -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Allen B. <al...@vr...> - 2007-04-01 14:03:02
|
> http://boost.cvs.sourceforge.net/boost/boost/boost/python/object.hpp?view=markup > > > > As you can see this functions will be released as a part of 1.34. > True, but 1.34 isn't released yet so my users don't have it. Is there > anyway to keep features like this (FT.output) working for 1.33 until > 1.34 is out and in more wide spread use? > > > Yes I will fix this too Thank you. After thinking about this more, I was wondering what you may think of adding support for a py++ generation script to specify a "target software set". For example the user could tell the module builder that they are targetting boost 1.33.1 without the indexing suite 2 or conversely that they are targeting boost HEAD and indexing suite 2. Then the code could use this for two things: 1) Telling the user if they try to use a feature that is not supported by their target 2) Letting the system make decisions in code generation based on available features. What does everyone think, would this be a useful feature? -Allen |
From: Roman Y. <rom...@gm...> - 2007-04-01 14:08:34
|
On 4/1/07, Allen Bierbaum <al...@vr...> wrote: > > > > > http://boost.cvs.sourceforge.net/boost/boost/boost/python/object.hpp?view=markup > > > > > > As you can see this functions will be released as a part of 1.34. > > True, but 1.34 isn't released yet so my users don't have it. Is > there > > anyway to keep features like this (FT.output) working for 1.33 until > > 1.34 is out and in more wide spread use? > > > > > > Yes I will fix this too > > Thank you. > > After thinking about this more, I was wondering what you may think of > adding support for a py++ generation script to specify a "target > software set". For example the user could tell the module builder that > they are targetting boost 1.33.1 without the indexing suite 2 or > conversely that they are targeting boost HEAD and indexing suite 2. > Then the code could use this for two things: > > 1) Telling the user if they try to use a feature that is not > supported by their target > 2) Letting the system make decisions in code generation based on > available features. > > What does everyone think, would this be a useful feature? I think this is a cool feature and it will take me 0( zero) minutes to implement it :-) http://language-binding.net/pyplusplus/documentation/apidocs/pyplusplus.code_creators.target_configuration.target_configuration_t-class.html http://language-binding.net/pyplusplus/documentation/apidocs/pyplusplus.module_builder.builder.module_builder_t-class.html#build_code_creator The problem with this feature is that I cannot test it :-( -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |