[haiku-3rdparty-dev] Sequitur add-ons not being recognized

  • From: Pete Goodeve <pete.goodeve@xxxxxxxxxxxx>
  • To: Haiku-3rd-Party-Dev <haiku-3rdparty-dev@xxxxxxxxxxxxx>
  • Date: Mon, 27 Jul 2015 16:04:00 -0700

Hi,

Maybe somebody has some idea about this, because I'm stumped!

I've been making fair progress in getting A working Sequitur compiled
under Haiku (most things now work), but it's not loading most of the
(newly compiled) Filter add-ons.

Taking a random example -- ArpControllerMap -- the call to load_add_on
results in:

"resolve symbol "__21ArpControllerMapAddOnPCv" returned: -2147478780
Loaded image -2147478780 (ArpControllerMap) (addon 0x36b1280), err=Symbol not
found
"/boot/WORK/Sequitur-master/Sequitur/add-ons/Filters/ArpControllerMap" was not
an image: Symbol not found"

And sure enough if I do:

objdump -t ArpControllerMap|grep ArpControllerMap|grep UND
I get:

00000000 *UND* 00000000 __21ArpControllerMapAddOnPCv

However, as far as I can see, that symbol should exist. The header
for the module has:

.....
class ArpControllerMapAddOn : public AmFilterAddOn
{
public:
ArpControllerMapAddOn(const void* cookie)
: AmFilterAddOn(cookie)
{
}

......

which I'd have thought was an appropriate definition.

All the failing modules have the same form header. There are,
however, half a dozen that do load. They all have headers of
the form:

....
class ArpVelocitySplitterAddOn : public AmFilterAddOn
{
public:
ArpVelocitySplitterAddOn(const void* cookie);
....

with actual code in the cpp file.

What's the catch? why did the first form work fine in BeOS, but
not in Haiku. What's the solution?

Thanks,

-- Pete --


Other related posts: