Community
FBX Forum
Welcome to Autodesk’s FBX Forums. Share your knowledge, ask questions, and explore popular FBX topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

libfbxsdk.so linux compatibility with gcc 5+ and runtime crashes

4 REPLIES 4
Reply
Message 1 of 5
victorngthowhing
845 Views, 4 Replies

libfbxsdk.so linux compatibility with gcc 5+ and runtime crashes

Hi, I have a multiplatform application using fbx201612. It works fine under Windows and MacOS.

On Linux,  I experience a few issues:

      I'm running Ubuntu 16.04 LTS which uses gcc 5.4 as the default compiler. I find if I try to link to the supplied static libraries, my FbxManager::Create() call returns null. If I link to the dynamic libfbxsdk.so, I succeed only if the system finds the library in its original location in my tree. If I try to move libfbxsdk.so to the same folder as my executable, FbxManager::Create() also returns NULL.

 

    Finally, even with the good libfbxsdk.so I get an exception thrown on certain calls (I'm still investigating this). I suspect some of my problems have to do with linking the gcc4 supplied fbx libraries with my main executable which was build with gcc5.4 because of the different ABI's. 

 

My question is:

Is there a workaround or some obvious problem I'm missing here?

Can Autodesk build gcc5 versions of the libraries?

 

Victor

Tags (1)
4 REPLIES 4
Message 2 of 5

Just some followups to my original question:

 

1) I was able to dive deeper into this problem and pinpointed where the error was happening. I have a global variable of type std::function that was

storing a function pointer. After a call to FbxManager::LoadPluginsDirectory(), the contents of the pointer were reset and the variable became empty.

 

Since the code resides in the libfbxsdk.so which was build with gcc4, I suspect it's messing up my main code compiled with gcc5 due to ABI compatibility issues. One workaround is to rebuild my main code with gcc4, but I would rather not since I'm using lots of C++11 and C++14.

 

So, please, can we provide Linux binaries compiled with gcc5 in addition to gcc4?

 

Victor

Message 3 of 5
regalir
in reply to: victorngthowhing

Hi Victor,

 

We have received your request an we will evaluate if we can provide new build targets in future releases. However, take note that this is not a commitment and we don't have a defined schedule for this.

 

Best regards

 

 

Message 4 of 5
victorngthowhing
in reply to: regalir

Ok, thank you! I'd appreciate if you can consider doing this as soon as
possible, as the Linux world is moving already to gcc5 and you will have
less compatilbility otherwise.

Victor
Message 5 of 5

Hi,

I would also highly appreciate that the FBX libraries are going to get recompiled with up to date compiler versions. I recently tried to compile the FBX SDK on Linux. It compiled at the end but still had to give up on it as some FBX SDK methods just keep crashing on Linux (I assume it's because of the newer compiler linking against an older lib). Same code works well on Windows.

Thus I tried to install GCC 4 on my Ubuntu installation (18.04) but that was also not possible because there is no binary GCC 4 available and the old GCC 4 source code doesn't compile using the newer GCC versions...

 

On Mac I'm having a similar problem: Xcode 5 (recommended according the docs) is not supported on Mac OS High Sierra anymore. Newer Xcode versions lead to crashes when calling FBX lib methods: See this forum post

 

Looking forward to any suggestions and keeping my fingers crossed for recompiled libs 🙂 Thanks.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report