x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Linker errors when cross compiling for Linux

With UE 4.14 I'm getting the following linker errors when cross compiling for Linux: http://pastebin.com/T33aXst4

Looks like a math library is missing when linking PhysX.

Cross compiling worked flawlessly with UE 4.13.

Product Version: UE 4.14 Preview
Tags:
more ▼

asked Nov 08 '16 at 05:54 PM in Installation & Setup

avatar image

Dominator86
33 2 6 8

avatar image Doug E ♦♦ STAFF Nov 10 '16 at 04:26 PM

Hey Dominator86-

Are you getting this error when compiling the engine for Linux or your project? Are you using the 4.14 branch or the Master branch from GitHub? I was able to compile the engine from the 4.14 branch as well as a project created with this engine for Linux successfully. Please explain your setup and exactly where this error is occurring for you.

avatar image Dominator86 Nov 11 '16 at 03:08 PM

I'm trying to build the Linux dedicated server for our project with the 4.14 branch from GitHub.

I just tried it again with the sources updated to the latest commit (which is e99c9f6 at the time of writing) and it still doesn't work.

The errors happen during linking immediately after successfully compiling the source.

This time round I did notice a warning when the build command started:

UnrealBuildTool: Using LINUX_ROOT (deprecated, consider LINUX_MULTIARCH_ROOT), building with toolchain 'H:\toolchain\'

I'm using the v7 clang 3.7.0-based toolchain from here: https://wiki.unrealengine.com/Compiling_For_Linux

Maybe there's something wrong with the build command I'm using. It did work with 4.13 though:

RunUAT.bat -ScriptsForProject=H:\Game\Game.uproject BuildCookRun -nocompileeditor -nop4 -project=H:\Game\Game.uproject -cook -stage -clientconfig=Development -ue4exe=UE4Editor-Cmd.exe -SKIPEDITORCONTENT -nodebuginfo -targetplatform=Linux -utf8output -build -noclient -server -serverconfig=Development -serverplatform=Linux

avatar image Doug E ♦♦ STAFF Nov 14 '16 at 04:41 PM

Can you provide the steps to building that you're using? After downloading the 4.14 engine, I ran Setup.bat and GenerateProjectFiles.bat. Inside VS I built CrashReportClient for Development Editor/Linux followed by building UE4 for DevelopmentEditor/Win64 and again for DevelopmentEditor/Linux. All of this completed successfully and I was able to create/compile a project for Linux successfully. Let me know if you're able to compile with Visual Studio rather than using the command line or if you get the same compile errors.

avatar image Dominator86 Nov 16 '16 at 09:40 AM

Pretty much the same steps. Download the source, run Setup.bat, run GenerateProjectFiles.bat and build UE4 in VS. For building the project I used the aforementioned command because it's more convenient for automated builds since it continues with cooking the assets right after it's done building.

Anyway, I tried building with VS as you suggested. Building UE4 for DevelopmentEditor/Linux succeeds but when I try building the game project for DevelopmentServer/Linux I'm getting the exact same linker errors.

avatar image Doug E ♦♦ STAFF Nov 16 '16 at 04:37 PM

Building the project for Development Server completed successfully for me after building for Development Editor. Can you try building the project for DeleopmentEditor/Linux first then build again for DevelopmentServer?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

You have to update to clang v8 and use the LINUX_MULTIARCH_ROOT environment variable. I ran into a different side of this here: https://answers.unrealengine.com/questions/524151/linux-platform-sdk-is-missing-after-414-update.html and updated the Linux wiki page (linked in my question/answer).

more ▼

answered Nov 16 '16 at 08:13 PM

avatar image

Dr_Jerm
103 13 15 19

avatar image Dominator86 Nov 17 '16 at 09:34 AM

Perfect, it builds successfully now! Thanks!

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question