Announcements

Between mid-October and November, the content on AREA will be relocated to the Autodesk Community M&E Hub and the Autodesk Community Gallery. Learn more HERE.

XGen shared libraries missing some functions in Maya 2018.

XGen shared libraries missing some functions in Maya 2018.

Anonymous
Not applicable
1,659 Views
10 Replies
Message 1 of 11

XGen shared libraries missing some functions in Maya 2018.

Anonymous
Not applicable

I tried to compile some in-house XGen plugins, and the result plugins crash Maya 2018 due to "undefined symbol: _ZN12SgRampUIComp4initERKSs"

The SgRampUIComp::init() supposed to be in libAdskXGen.so.

I checked the dso files in xgen/lib/ directory in my Linux system with objdump command, and I got nothing.

objdump -T /usr/autodesk/maya2018/plug-ins/xgen/lib/*.so | grep _ZN12SgRampUIComp4initERKSs

 

 

On the other hand, the dso in Maya 2017 has it.

 

objdump -T /usr/autodesk/maya2017/plug-ins/xgen/lib/*.so | grep _ZN12SgRampUIComp4initERKSs

0000000000104740 g DF .text 0000000000000702 Base _ZN12SgRampUIComp4initERKSs

 

I am using Autodesk Maya 2018.1 cut Id: 201708311015-002f4fe637 on Linux. 

Is there a newer version shipped with good XGen API and libraries? Or, am I missing something?

0 Likes
1,660 Views
10 Replies
Replies (10)
Message 2 of 11

cheng_xi_li
Autodesk Support
Autodesk Support

Hi,

 

I've logged a defect in our system. If there is any progress, I'll post it here.

 

Yours,

Li

0 Likes
Message 3 of 11

ptorrevillas
Participant
Participant

Do you have a bug number we can use to track this?

 

Thanks.

 

PJ

0 Likes
Message 4 of 11

cheng_xi_li
Autodesk Support
Autodesk Support

Hi,

 

Sorry I can't do it. Our policy is not post defect on the forum.  

 

Yours,

Li

0 Likes
Message 5 of 11

Michael_Todd
Alumni
Alumni

Hi..

 

Would it be possible to share the plugin code with us so that we can test the fix for this issue? It would be great if we can test this internally to make sure that we are addressing the issue rather than issuing the fix in the hopes that it works for you later...

 

Cheers

 

 



Michael Todd

XGen Product Owner and Designer

0 Likes
Message 6 of 11

ptorrevillas
Participant
Participant

Hi Michael,

 

Here's a stripped down of pretty much how we are using it.

 

 

#include <XGen/SgRampUIComp.h>

class XgMyFXModule: public XgFXModule
{
private:
    SgRampUIComp _myScale;
}


bool XgMyFXModule::setAttr(const std::string &name, const std::string &value,
        const std::string &type, const std::string &uiHint)
{
    if (name == "myScaleAttr")
    {
        _myScale.init(value);
        return true;
    }
}


bool XgMyFXModule::compute()
{
     unsigned int _nCvs =  prim->cGeom().size();
      safevector<double> my_scales;
      _myScale.sample(my_scales, _nCvs);

    for (unsigned int i = 1; i < _nCvs; ++i)
    {
        std::cout << my_scales[i] << std::endl
    }
}

 

For the _UI py file we just implement using RampUI().

 

 

 

PJ

0 Likes
Message 7 of 11

Michael_Todd
Alumni
Alumni

Hi Paul..

Would it be possible to get the plugin files that you are using (along with details of dependencies)

We need to make sure that the fix is complete to get it to you in a timely manner

 

You can send the files privately of course.

 

Cheers



Michael Todd

XGen Product Owner and Designer

0 Likes
Message 8 of 11

ptorrevillas
Participant
Participant

Sounds good, let me touch base with wesley2015 and see if we can package it up and send it to you.

 

 

PJ

 

0 Likes
Message 9 of 11

Anonymous
Not applicable

Hi Michel,

 

Please see the attached file.

There is a simple Makefile to show what happens.

 

Runing "make all" will try to compile the example plugin and show some error like these:

test.o: In function `XgRegisterOnLoad<XgMyFXModule>::create(XgDescription*)':
main.cpp:(.text._ZN16XgRegisterOnLoadI12XgMyFXModuleE6createEP13XgDescription[_ZN16XgRegisterOnLoadI12XgMyFXModuleE6createEP13XgDescription]+0x17): undefined reference to `XgFXModule::XgFXModule()'
test.o: In function `XgMyFXModule::setAttr(std::string const&, std::string const&, std::string const&, std::string const&)':
main.cpp:(.text._ZN12XgMyFXModule7setAttrERKSsS1_S1_S1_[_ZN12XgMyFXModule7setAttrERKSsS1_S1_S1_]+0x2c): undefined reference to `SgRampUIComp::init(std::string const&)'
test.o: In function `XgMyFXModule::compute()':
main.cpp:(.text._ZN12XgMyFXModule7computeEv[_ZN12XgMyFXModule7computeEv]+0x65): undefined reference to `SgRampUIComp::sample(safevector<double, std::allocator<double> >&, int) const'
collect2: error: ld returned 1 exit status
Makefile:6: recipe for target 'all' failed

 

Runing "make pass" will compile and link without error, but the result .so file would crash Maya 2018 and has error like these:

/usr/autodesk/maya018/bin/maya.bin: symbol lookup error: /home/ychu/xgen/plugins//XgMyFXModule.so: undefined symbol: _ZN12SgRampUIComp4initERKSs

 

Thanks,

Yi-Ming a.k.a. wesly

 

Message 10 of 11

WindXu
Alumni
Alumni

Thanks Yi-Ming for providing the test plugin. We are currently working on this issue.

0 Likes
Message 11 of 11

Anonymous
Not applicable

Hi,

Is there any progress for the solution on this issue after I provided the example plugin?

Thanks,

Yi-Ming

 

0 Likes