Author Topic: CLang++ 3.7.0 / Linux - Is latest Substance compatible?  (Read 207 times)

Hello,

We've downloaded Substance (4.13.0.16?) via Epic's Marketplace. Our UE4.13 build targets Linux via CLang++ 3.7.0.

Is the current version of Substance Designer compatible with that configuration?

We're getting a linker error from Clang when building our Linux/Development/Game:

-------

  UATHelper: Packaging (Linux): UnrealBuildTool: C:\UE4GameProject\LinuxTools\toolchain\bin\x86_64-unknown-linux-gnu-ld.exe:
  S:/P4/UE4GameProject/DL/Unreal/UE4GameProject/Plugins/Substance/Libs/Linux/libSubstanceCPU.a(substance.o): unrecognized relocation (0x2a) in section `.text'

  UATHelper: Packaging (Linux): UnrealBuildTool:
  C:\UE4GameProject\LinuxTools\toolchain\bin\x86_64-unknown-linux-gnu-ld.exe: final link failed: Bad value

  UATHelper: Packaging (Linux): UnrealBuildTool: clang++.exe:
  error: linker command failed with exit code 1 (use -v to see invocation)


-----

Editor (Win64) and Game (Win64) link, build and run fine.

Apologies if it's a stupid question; someone else downloaded the plugin and I'm trying to fix the break :)

PS. I'm assuming the SubstanceCPU.a/SubstanceGPU.a libs were included in the package and aren't rebuilt by UE right?

PPS. Also, should it be trying to pull Substance in to the GAME anyway? Is it not just required for the Editor?

Thanks!

Vdek
Last Edit: May 19, 2017, 04:11:24 pm

4.13.0.16 Will not be compatible with SD6.
Substance Designer 6 support was added to the most recent version of the plugin. (4.15.0.23)
There is currently a few issues with Linux with the Substance Plugin which we are working to have fixed by the next release.
I can post an issue here as soon as I this fix becomes available.
Software Engineer, Integrations
daniel.stover@allegorithmic.com

Thanks Dan,

By the way, apologies, I was slightly wrong-- I meant Substance PLUGIN, not full SD6; apologies, I wasn't sure of the terminology (we're attempting to use 3rd party assets created by -- I assume -- SD6).

Does that mean we've received an old version of the plugin from the Marketplace? Or your new(er) version isn't yet up there?

But regardless of what assets we're trying to use, is it safe to say the plugin 4.13.0.16 Libs aren't compatible with CLang++/3.7.0 + UE4.13? Does the Lib even need to be linked into the Game itself? Because if it shouldn't, that may be our solution though I'd need to find out why it was pulled in.

What timescales are we talking about regarding "fixed" Linux version?

Vdek
Last Edit: May 19, 2017, 06:43:52 pm

In the case you are using 3rd party assets, they may be created with a version of Substance Designer (In this case SD6 or later) that is incompatible with the 4.13 version of the plugin.

The 4.15 version of the plugin is available in the marketplace but this will require using the version of the engine that is associated with the plugin release. In this case, support for assets created using Substance Designer 6 will not be backported to 4.13 versions of the engine. If the assets were created in Substance Designer 5, there should be no issue.

Each release is tested on all platforms and the plugin for 4.13 should be compatible as long as you are using it with the corresponding engine version.

The lib is linked to the game build to allow procedural generation/changes at runtime. In the case you are only going to be using substance materials in a static manner in packaged builds, there is an option to bake out all texture data during the cooking phase which does save in overhead but there is not currently a way to not link the lib. This is something we talked about supporting previously and something we do plan to support in the future.

As for the time frame for the Linux fixes for the 4.15, I currently do not have a time estimation on when this will be up but as soon as I do, I can let you know.  :D

Cheers!
Software Engineer, Integrations
daniel.stover@allegorithmic.com

Right okay. I think for us, that means we'll have to skip Substance for now, because the LIB files simply don't seem to work with our Engine/CLang++ version.

Thanks for your help and (very) quick responses-- much appreciated.

Regards,
Vdek

Hello Vdek,
The previously mentioned Linux issues have been fixed within the latest 4.16 version of the plugin. =)

Cheers!
Software Engineer, Integrations
daniel.stover@allegorithmic.com