# Can't compile 5.4 Projects anymore, I need help.

**URL:** <https://forums.unrealengine.com/t/cant-compile-5-4-projects-anymore-i-need-help/2138002>\
**Category:** C++\
**Tags:** c-c, c-class-wizard, c-and-bluepri, c-custommeshcomponen, c-and-blueprint, c-error, c-class, c-custom-shape, c-programming, c-cone-shape, unreal-engine, editor, question, CPP\
**Created:** [November 20, 2024, 4:30pm UTC](https://forums.unrealengine.com/t/cant-compile-5-4-projects-anymore-i-need-help/2138002 "2024-11-20T16:30:15Z")\
**Posts on this page:** 1\
**Showing post:** 23

<div class="post-metadata">

**Author:** ![TheGangRobin](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/thegangrobin/32/1036420_2.png) [@TheGangRobin](https://forums.unrealengine.com/u/TheGangRobin)\
**Post date:** [March 14, 2025, 8:38am UTC](https://forums.unrealengine.com/t/cant-compile-5-4-projects-anymore-i-need-help/2138002/23 "2025-03-14T08:38:21Z")

</div>

**DON’T DO THIS, FOLLOW THE INSTRUCTIONS IN MY NEXT POST BELOW INSTEAD.**

We just ran into this issue for a build machine that runs multiple versions of UE, so we could not update the shared build xml - this issue has been fixed in 5.5 so we patched the old engines.

**What we did was to open up:**

`\Unreal Engine\Engine\Source\Runtime\Core\Public\Experimental\ConcurrentLinearAllocator.h`

Replaced this chunk:

```auto
#if PLATFORM_HAS_ASAN_INCLUDE
#include <sanitizer/asan_interface.h>
#if defined( __SANITIZE_ADDRESS__ )
#define IS_ASAN_ENABLED 1
#elif __has_feature(address_sanitizer)
#define IS_ASAN_ENABLED 1
#else
#define IS_ASAN_ENABLED 0
#endif
#else
#define ASAN_POISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
#define ASAN_UNPOISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
#define IS_ASAN_ENABLED 0
#endif

```

With this from UE 5.5:

```auto
#if PLATFORM_HAS_ASAN_INCLUDE
#include <sanitizer/asan_interface.h>
#if defined( __SANITIZE_ADDRESS__ )
#define IS_ASAN_ENABLED 1
#elif defined(__has_feature)
#if __has_feature(address_sanitizer)
#define IS_ASAN_ENABLED 1
#else
#define IS_ASAN_ENABLED 0
#endif
#else
#define IS_ASAN_ENABLED 0
#endif
#else
#define ASAN_POISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
#define ASAN_UNPOISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
#define IS_ASAN_ENABLED 0
#endif

```

The key difference is that it checks `defined(__has_feature)`

---

_[View the full topic](https://forums.unrealengine.com/t/cant-compile-5-4-projects-anymore-i-need-help/2138002)._
