Comments (6)
There is still no Epic Launcher or marketplace support for Linux, so we still cannot build and distribute a pre-built plugin for Linux.
It looks like Epic has settled on clang 5.0.0+ for Linux, so we can move the FaceFX Runtime Linux tool chain to clang 5+ and hopefully create a .lib that can be linked in to UE4 when compiling the UE4 plugin from source on Linux.
from facefx-ue4.
Epic's documentation is pretty bad. The "cross compilation" documentation says clang 5.0.0, but the actual Linux build instructions in the README say clang 3.8. It's all behind the UBT black box, so who knows what their exact compiler and compilation settings are.
from facefx-ue4.
It looks like we can use clang 5.0, 4.0, 3.9, 3.8, 3.7, 3.6 and 3.5 (gcc is explicitly forbidden) [1]. This poses a problem, though, because the version of clang is determined at compile time based on what is installed on your Linux system.
In order to do this, we'd have to pick a version and enforce it. We'd have to pick 5.0 because 5.0 is the only version of clang that cross compiling to Linux from Windows supports [2]. This is also a moving target, because as you can see the version of clang changes with (almost) each version of UE4 [2].
Also, this issue is specific to x86_64 Linux. Everything is different for ARM Linux.
// refuse to use compilers that we know won't work
// disable that only if you are a dev and you know what you are doing
if (!UsingClang())
{
throw new BuildException("This version of the engine can only be compiled by clang - refusing to register the Linux toolchain.");
}
else if (CompilerVersionMajor == 3 && CompilerVersionMinor == 4)
{
throw new BuildException("clang 3.4.x is known to miscompile the engine - refusing to register the Linux toolchain.");
}
// prevent unknown clangs since the build is likely to fail on too old or too new compilers
else if ((CompilerVersionMajor * 10 + CompilerVersionMinor) > 50 || (CompilerVersionMajor * 10 + CompilerVersionMinor) < 35)
{
throw new BuildException(
string.Format("This version of the Unreal Engine can only be compiled with clang 5.0, 4.0, 3.9, 3.8, 3.7, 3.6 and 3.5. clang {0} may not build it - please use a different version.",
CompilerVersionString)
);
}
[2] https://wiki.unrealengine.com/Compiling_For_Linux
from facefx-ue4.
I know this bug is kinda old, but we just got bit by it. But yeah, UE4 uses clang, and the version does change frequently. We've found that the best thing to do is just to cross-compile from Windows (unfortunately). That being said, does a UE4 compatible version exist? Can we request one?
from facefx-ue4.
We are releasing the 1.5.1 runtime in the next few weeks which switches the pre-compiled linux .lib of the runtime from gcc to clang, which should help for native linux builds of the ue4 plugin.
If you have a full license rather than the indie license you'll have source to the runtime and can simply modify our makefile to build the runtime with the exact compiler settings you need for your specific build.
from facefx-ue4.
Thanks for the incredibly quick response. We're still working on getting an Enterprise license internally, the wheels are turning a little slower than I'd like. But that's great news for the future.
from facefx-ue4.
Related Issues (20)
- Automate (re)import of facefx asset with commandlet HOT 7
- Negative-time keys cause end of audio to be clipped in Sequencer HOT 4
- Add Support for Force Front X Axis
- FaceFX sequencer event duration can get stale
- UE 4.21 support HOT 3
- Failing to install latest compiler with UE4.21 needs custom warning HOT 1
- Same anim blueprint with different skeletal meshes breaks "Add To Existing" blending HOT 5
- UE 4.22 support HOT 2
- 4.23 support
- FAnimNode_BlendFaceFXAnimation broken on dynamically spawned actors
- Drop Matinee support
- UE 4.24 Support
- UE 4.24 crash in debug mode on map save
- UE 4.25 support
- Plugin doesn't compile with Unity and Precompiled headers build options turned off (66fc8be)
- 4.26 support
- Newly Added Sequencer keys don't play FaceFX animation from Sequencer tab
- Pasting a FaceFX Animation key in sequencer crashes UnrealEd HOT 2
- UE5 support HOT 1
- UE4.27 support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from facefx-ue4.