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"

4.18 Linux build errors with: clang10, bp nativization

I'm building a dedicated server for Linux (CentOS) on my Windows machine using source UE 4.18 and this batch file:

 call c:\Unreal\UnrealEngine-release-4.18\Engine\Build\BatchFiles\RunUAT.bat ^
     BuildCookRun -project="c:\GameArtists\Unreal\D1M1Arena\Unreal\D1M1Arena.uproject" ^
     -nop4 -build -cook -compressed -stage ^
     -noclient -server -serverplatform=Linux -serverconfig=Shipping ^
     -pak -archive -archivedirectory="c:\GameArtists\Unreal\D1M1Arena\Unreal\Build " ^
     -utf8output
 

if I try to build using v10_clang-5.0.0-centos7 I get error: specified path differs in case from file name on disk

alt text

I checked, I have these files on disk with the same exact case. For example, this is a file path from disk, like it is: c:\Unreal\UnrealEngine-release-4.18\Engine\Source\Runtime\CoreUObject\Public\CoreUObjectSharedPCH.h

if I use v9_clang-4.0.0-centos7 and blueprint nativization setting in DefaultGame.ini - it fails with one of the blueprints failing with fatal error: UTF-16 (LE) byte order mark detected (see file) alt text

There are no errors if I use toolchain v9_clang-4.0.0-centos7 and blueprint nativization is disabled. Also, there are no errors in 4.17 and BP nativization enabled.

Product Version: UE 4.18
Tags:
more ▼

asked Oct 25 '17 at 01:09 AM in Bug Reports

avatar image

Flash7
844 9 17 30

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

2 answers: sort voted first

Hi there,

Cross-referencing with the notes at https://answers.unrealengine.com/questions/720847/utf-16-error.html

Thanks! -phil.

more ▼

answered Nov 02 '17 at 03:59 PM

avatar image

sks-xovangam
141 1 3 3

avatar image Flash7 Nov 02 '17 at 04:01 PM

Are you talking about: Get\xd0\xa2\xd0\xb5\xd1\x85\xd1\x82_Attributes ?

avatar image sks-xovangam Nov 02 '17 at 04:05 PM

This is the line that's causing the encoding to switch to UTF-16:

UFunction* ReturnFunction = static_cast(StaticFindObjectFast( UFunction::StaticClass(), Outer, TEXT("GetТехт_Attributes") ));

It appears that may have been overlooked and we're not translating that occurrence to the other form.

avatar image Flash7 Nov 02 '17 at 04:29 PM

Indeed, I opened in the hex editor - The word Text has weird characters. I wander how did that happen... Will test soon, to confirm if that fixed that issue.

avatar image sks-xovangam Nov 02 '17 at 04:31 PM

Cool, yeah if that wasn't intentional I'd check your Blueprint asset in the editor and correct the function name there, then rebuild the cooked target with Blueprint nativization enabled. That should do the trick.

avatar image Flash7 Nov 03 '17 at 07:15 PM

Cool, that actually helped with nativization, any ideas about v10_clang-5.0.0-centos7 ?

avatar image sks-xovangam Nov 04 '17 at 12:02 AM

I don't unfortunately, that's not really my area. =(

I've entered a new issue for you on that one, it should eventually become available here.

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

For some reason the disk drive is spelled with a small "c" letter, which causes a case-sensitivity warning. Arguably in this case it should not apply (hard to imagine a path with "C:\" in it being portable), but that unfortunately would need fixing in clang. You can remove -Wnonportable-include-path from LinuxToolChain.cs, although I would try to first fix the reason for lowercase "c".

more ▼

answered May 15 '18 at 02:27 PM

avatar image

RCL STAFF
2.7k 59 6 88

avatar image Flash7 May 16 '18 at 03:12 AM

According to Windows, my drive is not "C", it is "c", so path is actually correct. RCL, it does not look like "-Wnonportable-include-path" is in LinuxToolChain.cs: \Engine\Source\Programs\UnrealBuildTool\Platform\Linux\LinuxToolChain.cs

avatar image RCL STAFF May 16 '18 at 03:26 PM

Ah yes, the warning is enabled by -Wall perhaps, so you rather need to add Result += " -Wno-nonportable-include-path"; somewhere.

As for the drive name being lowercase - I wonder how it happened. The UBT is perhaps assuming that the drive letters are always uppercase and is not prepared to handle a situation like this.

avatar image LiorML Jan 28 '19 at 08:08 PM

This response helped me fix the same issue. Make sure you pass the upper case drive letter in all RunUAT command line arguments (and that the rest of the path match in case)

(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