PNaCl-связывание с внутренней ошибкой Perl в цели

Я пытаюсь сделать приложение PNaCl, которое использует NaCl порт WebPorts в Perl, но я получаю странную ошибку при связывании. Вот простой код, который я пытался создать:

#include <EXTERN.h>
#include <perl.h>
#include <ppapi/cpp/instance.h>
#include <ppapi/cpp/module.h>
#include <ppapi/cpp/var.h>namespace interp {
PerlInterpreter *my_perl;
}

class PerlTest : public pp::Instance {
static void perltest_init() {
using namespace interp;

if (my_perl == NULL) return;

char *params[] = {"", "-e", ""};
my_perl = perl_alloc();

perl_construct(my_perl);
perl_parse(my_perl, NULL, 3, params, NULL);
PL_exit_flags |= PERL_EXIT_DESTRUCT_END;

perl_run(my_perl);
}

static void perltest_destroy() {
using namespace interp;

perl_destruct(my_perl);
perl_free(my_perl);
}

public:
explicit PerlTest(PP_Instance instance) : pp::Instance(instance) {
perltest_init();
}

virtual ~PerlTest() {
perltest_destroy();
}

virtual void HandleMessage(const pp::Var &var) {
using namespace interp;
std::string message = var.AsString();

if(message == "test") {
SV* result = eval_pv("2 + 2", TRUE);
PostMessage(pp::Var(SvNV(result)));
}
}
};

class PerlTestModule : public pp::Module {
public:
PerlTestModule() : pp::Module() {}
virtual ~PerlTestModule() {}

virtual pp::Instance* CreateInstance(PP_Instance instance) {
return new PerlTest(instance);
}
};

namespace pp {
Module* CreateModule() {
return new PerlTestModule();
}
}

И для строительства:

$NACL_SDK/toolchain/linux_pnacl/bin/pnacl-clang++ test.cpp -c -I$NACL_SDK/include/ -I$WEB_PORTS/out/build/perl/perl-5.20.2/ -o test.o -O2 --pnacl-driver-verbose

$NACL_SDK/toolchain/linux_pnacl/bin/pnacl-ld -L$NACL_SDK/lib/pnacl/Release/ -L$WEB_PORTS/out/build/perl/perl-5.20.2/ $WEB_PORTS/out/build/nacl-spawn/build_pnacl/libnacl_spawn.a test.o -lppapi_cpp -lppapi -lperl -o test.pexe

Но при связывании я получаю эту загадочную ошибку:

/home/quartata/Downloads/nacl_sdk/pepper_49/toolchain/linux_pnacl/bin/le32-nacl-ld.gold: internal error in target, at ../../../src/binutils/gold/parameters.h:105

Очевидно, что я делаю что-то не так при ссылке на Perl, но понятия не имею, что. Кто-нибудь знает что это значит?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]