* All Main Python Modules:

- Change: New problem identified with the Python modules: each module seems
        to be built as a complete binary, so all the static C++ initializers are
        allocated in each module. In particular the C++ tree inheritance is built
        for *each* module so we cannot longer uses the typeid() comparisons
        across modules... It was used by boost::program_options to perform is
        casts with boost::any and was starting throwing exceptions because of
        bad casts. program_option was first initialized in "configuration"
        first included by PyViewer then in PyCRL (see Utilities.cpp).
          A first solution is to re-order the import of Python modules in
        stratus1/st_model so that CRL is imported first.
          The second is to not not link "configuration" with boost::program_option
        as only the binary vlsisapd-conf-editor needs it.
          That is a serious problem of which we must be aware and can cause further
        strange behaviors.
          Debug code used to diagnostic has been kept commented in the sources a
        it may be needed again :-(
          This behavior do not affect our singletons because they are part of
        dynamic libraries that seems to be correctly shared between the various
        Python modules.
This commit is contained in:
Jean-Paul Chaput 2010-07-17 10:33:01 +00:00
parent 32cd2304e9
commit 94961baafb
1 changed files with 2 additions and 1 deletions

View File

@ -21,7 +21,8 @@ endif ( HMETIS_FOUND )
)
add_library ( metis ${cpps} ${mocCpps} )
target_link_libraries ( metis ${NIMBUS_LIBRARIES}
target_link_libraries ( metis ${HMETIS_LIBRARIES}
${NIMBUS_LIBRARIES}
${HURRICANE_PYTHON_LIBRARIES}
${HURRICANE_GRAPHICAL_LIBRARIES}
${HURRICANE_LIBRARIES}