asriel09
|
|
Posted on: March 20, 2014, 07:31:31 pm |
|
|
Joined: Feb 2014
Posts: 5
|
I have been trying to get ENIGMA working on my Windows 7 64bit computer for nearly a year, and still no luck! I constantly have compiler failed at c++ level errors that are usually like this; c:/enigma/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot open output file C:/Users/Asriel/AppData/Local/Temp/egm818580986862337842.exe: Permission denied collect2.exe: error: ld returned 1 exit status mingw32-make.exe[1]: *** [compile_game] Error 1 mingw32-make.exe[1]: Leaving directory `c:/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mingw32-make.exe: *** [Game] Error 2
There are obviously issues with Java security or windows permissions. I can't find a workaround, and isn't helping... It's getting very frustrating!!! I have attached a log with this post... Hopefully it will help someone find out what I'm doing wrong... Extra Information; • Java 7 r51 installed • JDK 8 installed • Windows 7 64 bit Build 7601 (SP1) • Instalation location; "C:\ENIGMA\"
|
|
« Last Edit: March 20, 2014, 07:36:52 pm by asriel09 »
|
Logged
|
|
|
|
|
|
|
|
|
Goombert
|
|
Reply #6 Posted on: March 21, 2014, 02:42:20 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Just worked fine for me on Windows 7 x64 with some warnings, same for my new Windows 8.1
Please try what was suggested by the other users.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
asriel09
|
|
Reply #7 Posted on: March 21, 2014, 04:07:07 pm |
|
|
Joined: Feb 2014
Posts: 5
|
Tried compiling...
Similar issue, once again related to my "Temp" folder... But this time, it can't find my game information, I have tried saving the project, editing the game information, but It always fails!
C:\Users\Asriel\AppData\Local\Temp\cccSlX5b.ltrans1.ltrans.o:cccSlX5b.ltrans1.o:(.text+0xb96): undefined reference to `enigma::gameInformation' collect2.exe: error: ld returned 1 exit status mingw32-make.exe[1]: *** [compile_game] Error 1 mingw32-make.exe[1]: Leaving directory `C:/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mingw32-make.exe: *** [Game] Error 2 And as for Administrator Permissions, I'm not sure that that would work well with the fact that this is a java-based application which is trying to run CMD executables... The last thing that java would do is allow administrator permissions to children.
Since I have made many changes to system files over the years, I'll try creating a Windows 8.1 Virtual machine and working from there... But I don't want do have to boot up my computer twice just to use ENIGMA...
|
|
« Last Edit: March 21, 2014, 04:17:40 pm by asriel09 »
|
Logged
|
|
|
|
TheExDeus
|
|
Reply #8 Posted on: March 21, 2014, 05:04:02 pm |
|
|
Joined: Apr 2008
Posts: 1860
|
But this time, it can't find my game information That probably means that you recently updated ENIGMA? You might also need to update .jar's in that case together with recompiling the compileEGMf.dll (it should do it automatically when you launch the .exe after you delete the .dll). The last thing that java would do is allow administrator permissions to children. I didn't quite got that. You mean that you don't want to do it because of security reasons or that you just don't think it would work anyway? It could work, because it is a permission issue after all. Similar issue, once again related to my "Temp" folder... Did you actually compile using "Build>Compile" and choosing a different folder? Because it shouldn't even touch Temp in that case. For example, when I compile to desktop the only places it touches is the ProgramData folder (which is accessed fine on your PC) and the desktop when it finished linking. The only thing it could still export to Temp folder is the icon. Permission denied can also be related to mingw installation itself. I remember having permission denied when I tried to compile the .dll trough CMD, while it did work when I compiled trough git-bash.
|
|
|
Logged
|
|
|
|
asriel09
|
|
Reply #9 Posted on: March 21, 2014, 05:26:53 pm |
|
|
Joined: Feb 2014
Posts: 5
|
But this time, it can't find my game information That probably means that you recently updated ENIGMA? You might also need to update .jar's in that case together with recompiling the compileEGMf.dll (it should do it automatically when you launch the .exe after you delete the .dll).
No, It's a clean install from the last update on dropbox (released about 3 weeks ago) The last thing that java would do is allow administrator permissions to children. I didn't quite got that. You mean that you don't want to do it because of security reasons or that you just don't think it would work anyway? It could work, because it is a permission issue after all.
All that I meant is that my computer's security, antivirus, generally wouldn't want a java application accessing sensitive directories like Temp and putting an executable in there... Hmm... I've tried lowering security settings in Java, but it isn't making any difference... Do you think taking ownership of Temp or changing system access permissions in Temp will help? Similar issue, once again related to my "Temp" folder... Did you actually compile using "Build>Compile" and choosing a different folder? Because it shouldn't even touch Temp in that case. For example, when I compile to desktop the only places it touches is the ProgramData folder (which is accessed fine on your PC) and the desktop when it finished linking. The only thing it could still export to Temp folder is the icon.
Strange, if you look at the code; C:\Users\Asriel\AppData\Local\Temp\cccSlX5b.ltrans1.ltrans.o:cccSlX5b.ltrans1.o:(.text+0xb96): undefined reference to `enigma::gameInformation' , it's trying to compile all the resources using a program in my Temp Appdata folder, but it fails because the script references to the Game Information, and can't find it... Note that ENIGMA is installed at C:\ENIGMA\ and the helloworld.exe I was compiling was just in C:\ ...
|
|
|
Logged
|
|
|
|
TheExDeus
|
|
Reply #10 Posted on: March 22, 2014, 06:24:02 am |
|
|
Joined: Apr 2008
Posts: 1860
|
Did you set Widget System to None in this example? Because the gameInformation bug could be fixed in the newest commit and it was mostly broken for "None". But it might be better in general. The whole error line seems weird though. I don't recognize the object file it tries to use. On windows we don't have "cccSlX5b.ltrans1.ltrans.o" or something like that and they should always be in C:\ProgramData\ENIGMA\.eobjs folder. So I don't know why it looks for objects in Temp. When you open LGM and go to Enigma Settings, what is the Make Directory? Mine is "%PROGRAMDATA%/ENIGMA/" where %PROGRAMDATA% is C:/ProgramData (you can see what %PROGRAMDATA% is by opening console (CMD) and typing %PROGRAMDATA% and pressing Enter). All that I meant is that my computer's security, antivirus, generally wouldn't want a java application accessing sensitive directories like Temp and putting an executable in there... Well that might as well be the problem. Of course if your antivirus or computers security doesn't allow ENIGMA to write out data, then ENIGMA will not be able to write out data. Just try for 1min disabling antivirus and then launch LGM and compile. Just to verify that it is the problem. If it really is antivirus (which should tell you when it blocks something actually), then there is little we can do but just say to add ENIGMA to whitelist. Robert, is .ico written to temp even when compiling to other directory? I would actually recommend writing it to a constant file in C:\ProgramData\ENIGMA. The icon is usually named randomly anyway, so it's impossible to reuse it. Then maybe we could just write icon to C:\ProgramData\ENIGMA\.eobjs\Windows\Windows\Compile\icon.ico (or similar) and use that. And overwrite it whenever you compile something else.
|
|
|
Logged
|
|
|
|
Goombert
|
|
Reply #11 Posted on: March 22, 2014, 10:36:15 am |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
We're doing away with writing to the temp directory, in the future ENIGMA's engine will be compiled and linked from AppData as it does now, but your game will be built by default in a ./build folder next to your project like every other IDE such as Visual Studio/Qt/GM Studio, and this directory can be changed via ENIGMA settings. Robert, is .ico written to temp even when compiling to other directory? No it is written to the temp folder and has the same filename as your executable except a .ico file extension. The error messages he is showing here make absolutely no sense, he had to have updated something, enigma::gameInformation is not in the latest Portable ZIP, I have not updated that thing for a month. Either the plugin, LGM, or something had to have been updated.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
TheExDeus
|
|
Reply #12 Posted on: March 22, 2014, 12:25:17 pm |
|
|
Joined: Apr 2008
Posts: 1860
|
No it is written to the temp folder So when I asked if .ico is written to the temp folder, your answer is NO, it is written to the temp folder? But I just did a test for myself. .ico is written to the temp folder and no, it's not called the same way as the game. I compiled an example to the desktop named motion_plan_gl33.exe with a custom icon, but the icon was written to the temp folder named "egm_ico1277297429185104899.ico". Also, while looking at the temp folder while compiling I noticed what those cccSlX5b.ltrans1.ltrans.o files are. They are actually temporary files created by the compiler (mingw) and they are deleted when the object is linked. So it seems that the OP can't compile anything on his PC and it's not just ENIGMA. The compiler and linker doesn't have permissions to run for him and I am sure it's some antivirus or something like that which is not letting it. Probably needs to either whitelist or disable it. edit: Also, then you maybe should also update the Portable ZIP. The Windows version in Master seems to work now. It's very likely he has newer .jar's than ENIGMA itself. Or the other way around (as PortableZIP pulls the newest from Git at first launch??).
|
|
« Last Edit: March 22, 2014, 12:28:06 pm by TheExDeus »
|
Logged
|
|
|
|
Goombert
|
|
Reply #13 Posted on: March 22, 2014, 12:31:52 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Ok.
No the Portable ZIP does not automatically update when first installing, it is considered stable, so I only update the Portable ZIP when master is good and solid. It did originally do that however.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|
|