"new trie is larger than original trie" error on Xcode 14

I’m seeing an error with Xcode 14. It only shows up when I’m archiving my app in Xcode 14. The message is as follows:

“new trie is larger than original trie”

It seems to be happening during the code stripping phase. Nothing I do in terms of changing flags seems to make the error go away. Is anyone else having the same issue?

I’ve encountered same issue as well few days ago. But after trying again today I no longer get it. Archive just works.

Maybe try to manually clear build folder, I’ve received error when I attempted to Clean project “build folder cannot be emptied because it was created by different build system”.
Hope that helps

Same issue here. Tried “clean build folder” and manually deleting the /DerivedData folder. Full rebuild, but still getting the same error :frowning:

Only on Release/Archive, I should note, not an issue in the debug build.

Xcode 14 has removed the Legacy Build system… try making sure that option isn’t enabled in your exporter.

Rail

1 Like

Well, I’m using the latest projucer, which doesn’t seem to try to use the legacy build system anymore, but maybe I’m missing something.

Oddly, it seems only to happen on the standalone build too … the VST3/AU/AAX and Shared Library are all fine.

Actually, it looks like I am getting this for any Juce standalone.

I can’t build the latest ProJucer in release mode either (see below).

Anyone else seeing this issue?

This is Xcode 14, OSX 12.5.1 on an Intel Macbook, and latest juce on dev branch.

Same for me: only on standalone build. Cleaning the build folder doesn’t seem to help.

I just tested a JUCE 6.1.6 project and I have both 13.4.1 and 14.0 installed… and the Release build builds fine with both versions of Xcode. I’ll try with a JUCE 7 project and report my findings.

Follow up…

Created a new test plugin with JUCE 7 Develop (tip) and built a Release build without any errors.

Test system: MacBook Pro M1 Max 64GB RAM, macOS 12.6

Rail

1 Like

Any chance this could be intel mac only issue?
Can’t think of what else could be different :frowning:

I also notice that I can use the command line version (xcodebuild) works without issue, it’s only when actually running xcode that I see this error.

For what it’s worth, I was seeing the issue on an M1 MacBook Pro.

1 Like

Ok, so not that.

Well I’m out of ideas then, this is a bit out of my knowledge zone.

Hopefully someone at Juce will see the same issue and find a fix.

Can you create a new plugin in projucer, export it and build a Release build?

Start there.

Rail

So, a brand new plugin does not have this issue, as expected.

Slowly adding items from my current project to get it back to being the proper plugin, though, I quickly run into this error again. Archiving repeatedly is a slow process of course, but I’m now removing items to see what causes it.

Unfortunately, I was able to add files and change some settings and see this issue, then remove them and eventually it went away … then add them again and no issue.

So, I can’t get it to be solidly reproducible, though currently any older projects of mine (pre juce 7) seem to have this issue even when rebuilt from the latest jucer, as does the projucer.

In your Xcode preferences → Locations … Derived Data … Advanced settings…is it set to Legacy or something else?

Rail

Yeah, it’s the default (DerivedData). I’ve been deleting that regularly, assuming that the stored files there are the source of the “original trie”.

Archives are (supposedly) stored in a sibling directory (~/Library/Developer/Xcode/Archives).

This directory doesn’t exist though. I suspect I deleted it yesterday and haven’t successfully archived anything since then.

I will also note that the compiled products have actually been created at my Install Directory. Presumably they just haven’t been stripped. The compilation stops too, so it doesn’t go on to compile the other targets after this error (so I have to compile VST, etc, individually).

Do you have a decent understanding of what this error even is?
What could be in the code that would cause this?

It does seem to be in some part of my code, since it shows up (only semi-reliably) once I add enough of the tree. No idea what to look for though …

A couple times now I have been able to:
1 - create project from Projucer, see the issue
2 - remove all of my code, see the issue disappear
3 - re-add parts of my code, issue still gone
4 - complete reconstructed project, issue not present
5 - rebuild from projucer, issue present again

I’m not sure how that is possible, but I’ve been able to replicate it with a couple different projects.

This has to be something Xcode is creating… which I don’t think is specific to your code but something happening when compiling…

This indicated it may be related to symbol stripping: strip: error: new trie is larger (… | Apple Developer Forums

If you backup your build folder after step 4 and then perform step 5 can you do a FileMerge on the Xcode project file to see what the differences are to isolate a potential setting? Only create Release exporters to make things easier to find.

I’d try changing the Derived Data to Legacy to see if it makes any difference.

Rail

Ok, so the good news is that setting it Derived data to legacy location works.
Preferences → Locations ->DerivedData → Advanced

This is (I think) different than the previous “use legacy build system” setting (?).

There is a setting in the projucer (to use legacy build system) which I’m guessing doesn’t do anything in XCode 14 (at least, the option that it used to control no longer exists in the build settings).

I’ll try a full strip down / build / compare trees as you suggest later this week.

Also, I did try the “-s do_not_strip” in the other post without success.

Whoops … nope, that was a lie. Now giving me the same error with Legacy location for DerivedData. It did work a few times, now broken again … uggg.