Linking Executable error when debug in 64Bit: #main.o: undefined symbol

Open a project and run in 64 Bit debug mode works only once. When I run in debug mode one more time, the build failed with this message:

Linking Executable
Linking Executable
C:\Program Files\Xojo\Xojo 2018r1\Xojo Resources\Win32\lld.exe: error: C:\Users\xxx\AppData\Local\Temp\xojo scratch 2168\ew App.xojo_binary_project [DE7A3576]\Windows_x86_64\/#main.o: undefined symbol: App.__Lookup%p%
C:\Program Files\Xojo\Xojo 2018r1\Xojo Resources\Win32\lld.exe: error: C:\Users\xxx\AppData\Local\Temp\xojo scratch 2168\ew App.xojo_binary_project [DE7A3576]\Windows_x86_64\/#main.o: undefined symbol: MainMenuBar.MainMenuBar%o<MainMenuBar.MainMenuBar>%
C:\Program Files\Xojo\Xojo 2018r1\Xojo Resources\Win32\lld.exe: error: C:\Users\xxx\AppData\Local\Temp\xojo scratch 2168\ew App.xojo_binary_project [DE7A3576]\Windows_x86_64\/#main.o: undefined symbol: Window1.Window1%o<Window1.Window1>%

In 32 Bit debug mode there is now error at any time.

The MenuBar is the default MenuBar when I start this new project. I don’t touch it or change it any time. I don’t know what is the error on Window1. Analyze project and analyze Window1 bring no problems. After this error I can’t start debug and also I can’t remove the files in the “scratch” folder, because it is in use. So I must quit Xojo, delete the folder and restart Xojo.

Please report with feedback.
And clear cache folders.

Feedback is not working on a remote location behind a firewall. I will create a feedback later today when I’m back in my office.

feedback: 51989

I am also experiencing these, deleted any 3rd party Xojo’s plugins still happened, while reporting it the Xojo team mentioned as not-reproduce-able, tried also running Xojo IDE as administrator, the strange thing is it’s only happened when linking the object files into an x64 executable.

The error :

[quote]Linking Executable
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/App.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/FileTypes1.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/CustomData.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/mColorPicker.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/colorPicker.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/MainMenuBar.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/SliderContainer.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: could not open C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/ButtonContainer.o: no such file or directory
C:\Program Files\Xojo\Xojo 2018r4\Xojo Resources\Win32\lld.exe: error: C:\Users
ameless\AppData\Local\Temp\xojo scratch 21416\dataview1.13.3.xojo_binary_project [B10AB748]\Windows_x86_64\/ComboContainer.o: The file was not recognized as a valid object file
[/quote]

The example project is here. Just

Steps to reproduce :

Here is the proof the xojo scratch directory do indeed exist

I have moved the project folder into root of C drive but still failed to link the x64 executable.

Although the compilation process seems finished but the Xojo compiler failed to create some of the object files

App.o FileTypes1.o CustomData.o

Which looks like a built-in xojo libraries?, it’s quite sad to see a case directly closed without another confirmation on the user, the Xojo’s team always assuming that the fault is on the user not the compiler itself, now i am left with a broken compiler.

Any helps would be really appreciated.

@Aditya Nugraha

Tried with Xojo 2018R3

Debug and Build worked fine if that helps you out?

Thanks, but this is really weird because of on 2018 R3 also getting the same errors.

And you cleared the Cache?

C:\Users\YourUserName\AppData\Roaming

Works here without issue. Try the following:

  1. Delete all folders starting C:\Users
    ameless\AppData\Local\Temp\xojo scratch
  2. Try the build again.
  3. Run chkdsk c: from an elevated cmd window
  4. Try the build again.
  5. Turn off any anti virus
  6. Try the build again.
  7. Reinstall Xojo
  8. Try the build again.

[quote=418575:@brian franco]And you cleared the Cache?

C:\Users\YourUserName\AppData\Roaming[/quote]
I haven’t cleared my roaming, hmm, will do it next time.[quote=418588:@JulianS]Works here without issue. Try the following:

  1. Delete all folders starting C:\Users
    ameless\AppData\Local\Temp\xojo scratch
  2. Try the build again.
  3. Run chkdsk c: from an elevated cmd window
  4. Try the build again.
  5. Turn off any anti virus
  6. Try the build again.
  7. Reinstall Xojo
  8. Try the build again.[/quote]
  9. I did, but doesn’t have any changes
  10. I was shutting down Xojo IDE, cleared out temp folder and re-open Xojo then re-build but the same thing happened
  11. You are correct, instead chkdsk, i was doing sfc /scannow and found some corruption, perhaps because of blackout in my place that was happened.
  12. Now i am in the process of re-installing my windows and toolchains
  13. Only plain vanilla windows defender in my case, haven’t had any issues with these setup before
  14. I was did uninstall R4 and came back with R3 but the same.

For my other project i was needed to turn off windows DEP, perhaps related but let’s see with these new windows install

Thanks @brian franco & @JulianS , really helpful.

Strange thing is, it’s still happened :-(, what i have done is.

  1. Tested to run/build on a VM, lower version than currently problematic windows 10 (1809 x64), lld.exe running fine.
  2. Thoroughly checked my environment variable %PATH% just in-case there is the same name lld.exe dependencies in which being picked up by lld.exe.
  3. Turning off windows defender, and to double make sure, adding Xojo installation dir and xojo’s project dir in the exclusion list
  4. Turning off any windows defender registry customization, turning on windows defender’s cutomization on the ‘working’ VM have no minuses turnback (working fine even with the customization)
  5. Using Process Monitor to monitor lld.exe and xojo.exe, somehow i couldn’t find anything wrong other than both of them cannot found some of the compiled object (*.o) files.
  6. Using dependencies walker on the lld.exe in which launched from administrator privilege, the same, nothing wrong with all of the .dll that are being loaded from lld.exe

These are very isolated cases, i hope Xojo team have somekind of debug build for the customer :frowning:

Take example this error log :
Linking Executable

C:\\Program Files\\Xojo\\Xojo 2018r4\\Xojo Resources\\Win32\\lld.exe: error: could not open C:\\Users\ ameless\\AppData\\Local\\Temp\\xojo scratch 2424\\dataview1.13.3.xojo_binary_project [EFCBA1EC]\\Windows_x86_64\\/App.o: no such file or directory C:\\Program Files\\Xojo\\Xojo 2018r4\\Xojo Resources\\Win32\\lld.exe: error: could not open C:\\Users\ ameless\\AppData\\Local\\Temp\\xojo scratch 2424\\dataview1.13.3.xojo_binary_project [EFCBA1EC]\\Windows_x86_64\\/FileTypes1.o: no such file or directory C:\\Program Files\\Xojo\\Xojo 2018r4\\Xojo Resources\\Win32\\lld.exe: error: C:\\Users\ ameless\\AppData\\Local\\Temp\\xojo scratch 2424\\dataview1.13.3.xojo_binary_project [EFCBA1EC]\\Windows_x86_64\\/CustomData.o: The file was not recognized as a valid object file

Furthermore researching it seems that, HoudiniAssistant64.exe , is a somekind of x64 compiler for the xojo code (llvm), while lld.exe is the linker, based on this wild guess, i fired up Process Monitor and guess what, HoudiniAssistant64.exe is never anywhere in Process Monitor log using any windows API to have anything related about,for example above, App.o, which is should be generating/compiling Xojo code by HoudiniAssistant64.exe into an object file (*.o file extension).

This is a clean freshly installed Windows 10 x64 1809.

If any Xojo team reading this, i don’t mind if there is any special debug tools being run on my windows, even better remote trouble shooting.

Found interesting behaviour by Xojo.exe, somehow it trying to create “C:\Users
ameless\AppData\Local\Temp\xojo scratch 2424\dataview1.13.3.xojo_binary_project [EFCBA1EC]\Windows_x86_64\App.o\desktop.ini”, what’s with desktop.ini?, it was pretty old school if my memories serves me right. Instead of creating the App.o object file there is addition of desktop.ini??

That would seem to indicate that its trying to create a folder called App.o instead of a file called App.o

Yes that’s correct, quite shock a company like Xojo doesn’t do path/syntax normalization?.

Meanwhile in the last minute also tried :

  1. Adding UseDesktopIniCache as null to my registry, restarted the windows, retried xojo but still the same
  2. Unninstalling any third party applications (image viewer, video player) that has might anything to do with desktop.ini

Now i have found out, xojo somehow always trying to access/create lot’s of desktop.ini, instead of object files :-((

At a guess, they have a generic function that checks for a file which they are using to check for the existence of the App.o file. This is probably a generic function that can also check for folders which will also check for the existence of \desktop.ini at the end of that path (in case it has to remove it to empty a folder, another guess).

I think its a little misleading to carry on looking into that. We need to figure out why App.o and a few other files aren’t able to be created on your system where as other files in the same folder are.

Reading into <https://xojo.com/issue/51989> it might just be prudent to zip up C:\Users
ameless\AppData\Local\Temp\xojo scratch 2424\dataview1.13.3.xojo_binary_project [EFCBA1EC] and send it in with a new ticket referencing <https://xojo.com/issue/51989> and see if Xojo can shed any more light on it.

Let them know everything you have tried in the ticket including testing in another vm etc.

I have another theory of it’s being a windows bugs, Windows 10 codename Redstone 5 or 1809 was being delayed for nearly one months since it’s first announcement.

I have used my google ‘kungfu’ in order find a solution to permanently disable creating desktop.ini, the appearing addition of “\desktop.ini” probably just somekind of ‘probe’ by windows internal just in-case user wanted to go in that folder, so windows take pre-caution to ‘probe’ all of the folders when user either enter by windows explorer or by API.

Before sending new feedback i need to more isolating the probable causes, i have imaged my installation so for now wanted to take a stab by installing windows freshly and installing Xojo without any additions, even a driver.

Btw thanks a lot man for making me not feeling alone in this ‘quest’.

@JulianS

  • Been spending time on downgrading my motherboard bios, the same thing, just in case if Intel Microcode for Spectre mitigation related issues made any differences.
  • Testing my hardware (RAM,SSD,CPU), still no clue
  • Downgrading my OS, even plain clean Windows x64 redstone 4 & 5 install make the behavior.
  • Changing the windows %TEMP% & %TMP% into “C:\temp”, just in-case is Windows path limit thing, but still the same.

But to be noted
Smaller Xojo projects like the one on the example or in the MBS plugin is successfully compiled into x64 Windows binaries, and the same project in which the Windows x64 compilation is failing, the x86 compilation is working fine!. Probably something going on Xojo compiler and linker.

The strange thing is i cannot isolated the issue into specific hardware or software configurations, it’s like my workstation is having a bad ‘karma’. Tested on x64 compilation in my bro notebook and my relative notebook, all is safe sailing :-(.

How long have you been experiencing this, is it a new thing that you’ve just noticed with this project or have you seen it with other projects too?

Are you able to see if its related to project size? I.e. smaller projects work fine and larger projects have issues, do you have other larger projects that you can test against? Like what happens if you compile Examples>Sample Application>EddiesElectronics>Desktop>EEDesktop.xojo_binary_project ?