I guess apply the patch android-x86 mentioned on their web-site it will
work.

Bilal

On Wed, Nov 11, 2009 at 3:12 PM, John Lee <[email protected]> wrote:

> Hi list,
>
> I've been trying to compile and run opencore on native PC following
> the instructions in quick_start.txt . The reason I want to do this is
> that it's supposed to be easier to work on host pc since what I want
> to do is not hardware dependent, but so far it doesn't seem to be the
> case. After 8 bug fix commits I managed to finish the compilation, but
> other problem follows.  Here is the problem description:
>
> Since H223LowerLayer is both PvmfPortBaseImpl and
> PVMFPortActivityHandler, it sends itself to the constructor of
> PvmfPortBaseImpl to act as its iPortActivityHandler. During the
> destruction of PvmfPortBaseImpl,
> iPortActivityHandler->HandlePortActivity will be called.  The problem
> is, the real implementation of HandlePortActivity lies inside
> H223LowerLayer, and the order of destruction is:
>
> ~H223LowerLayer
> ~PvmfPortBaseImpl
>  iPortActivityHandler->HandlePortActivity
>
> So when HandlePortActivity is actually invoked,
> H223LowerLayer::HandlePortActivity() is already invalid, and the code
> path falls to PVMFPortActivityHandler::HandlePortActivity, which is a
> pure virtual function. This will cause a SIGABRT:
>
> pure virtual method called
> terminate called without an active exception
>
> Program received signal SIGABRT, Aborted.
>
> (Backtrace enclosed.)
>
> p.s. Here is the snipped source code related to this issue:
>
>
> external/opencore/protocols/systems/3g-324m_pvterminal/h223/include/lowerlayer.h:
> class H223LowerLayer : public PvmfPortBaseImpl,
>        public PVMFPortActivityHandler
> };
>
> external/opencore/pvmi/pvmf/include/pvmf_port_base_impl.h:
> class PvmfPortBaseImpl : public PVMFPortInterface
> {
>        OSCL_IMPORT_REF PvmfPortBaseImpl(int32 aPortTag,
> PVMFPortActivityHandler* aNode, const char*name = NULL);
> };
>
> external/opencore/pvmi/pvmf/include/pvmf_port_interface.h:
> class PVMFPortInterface
> {
>        PVMFPortActivityHandler *iPortActivityHandler;
> };
>
> external/opencore/pvmi/pvmf/include/pvmf_node_interface.h:
> class PVMFPortActivityHandler
> {
>    public:
>        virtual ~PVMFPortActivityHandler() {}
>        virtual void HandlePortActivity(const PVMFPortActivity &) = 0;
> };
>
>
> implementation:
>
>
> external/opencore/protocols/systems/3g-324m_pvterminal/h223/src/lowerlayer.cpp:
> H223LowerLayer::H223LowerLayer(int32 aPortTag, TPVLoopbackMode
> aLoopbackMode)
>        :   PvmfPortBaseImpl(aPortTag, this),
> {
> }
>
> external/opencore/pvmi/pvmf/src/pvmf_port_base_impl.cpp:
> OSCL_EXPORT_REF PvmfPortBaseImpl::PvmfPortBaseImpl(int32 aTag,
> PVMFPortActivityHandler* aNode, const char*name)
>        : PVMFPortInterface(aNode),
> {
> }
>
> OSCL_EXPORT_REF PvmfPortBaseImpl::~PvmfPortBaseImpl()
> {
>    PortActivity(PVMF_PORT_ACTIVITY_DELETED);
> }
>
> OSCL_EXPORT_REF void PvmfPortBaseImpl::PortActivity(PVMFPortActivityType
> aActivity)
> {
>    if (iPortActivityHandler)
>    {
>        PVMFPortActivity activity(this, aActivity);
>        iPortActivityHandler->HandlePortActivity(activity);
>    }
> }
>
> --
> unsubscribe: 
> [email protected]<android-porting%[email protected]>
> website: http://groups.google.com/group/android-porting

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to