Windows on this laptop automatically logs in when it starts (I use Ubuntu Linux almost exclusively and this is a dual boot laptop hence why I don't mind windows auto logging in). When it starts and logs in, I see a pop up that has the title "emergeCore.exe - Entry Point Not Found"
The content of the pop up is:
The procedure entry point OpenProcessToken could not be located in the dynamic link library KERNEL32.dll
The shell then ceases to start. I am begining to debug this now since I can ctrl+alt+del and bring up the task manager which allows me to run other programs but the extent of my debugging will probably be finding out how to recover my system.
I am using the 64 bit version of emerge and Windows Vista Home Premium 64 bit edition. I may try the 32 bit edition if I can recover windows to explorer.exe and uninstall the failed version I have now.
Anonymous
After uninstalling it, I re installed it to make sure I double clicked the 64 bit version the first time and the same thing happened. The installer is EmergeDesktop64-5.1.exe
32 bit version doesn't work entirely but was far more effective the the 64 bit version. I seemed to have the desktop but the start menu would not open.
I've worked with the mingw64 developers and know what the issue is. It will be fixed in the upcoming 5.2.1 release.
I have a potential fix for the issue, would you be willing to test it for me?
Nope. I wanted to try out emerge on windows to see if it was worth the switch and when I did, aside from this bug, there was another bug which caused the start menu to fail. Since the start menu doesn't work, I am disinclined to acquiesce to your request. ...on second though, being a FOSS zealot, I feel I am responsible to test. Send me the test and I will take a look,
You can find a test build here:
http://dl.dropbox.com/u/5530441/EmergeDesktop64-test1.7z
Thank you.
Can you send the source too?
The source is unchanged. The issue is a result of MinGW GCC compiler's built in link order including kernel32 before advapi32. As of Windows 7, Microsoft exports OpenProcessToken from both kernel32 and advadpi32 and the MinGW-w64 folks updated their library definition files based on Win7. A result of this change means that binaries using the OpenProcessToken on Windows OSs prior to Win7 are broken by default. A workaround is to manually specify advapi32 in the link command so that it's linked to before kernel32, which is what I've done in the test build.
I can upload the updated source that contains the updated Code::Blocks project files and Makefiles if you like.
Does this issue still occur? When I've tested recently with the 6.0 Dev builds they have started fine on Vista.