Facebook Twitter YouTube Frictional Games | Forum | Newsletter | Dev Blog | Dev Wiki | Support


Post Reply 
Problems compiling in Windows
Author Message
JKO Offline
Junior Member

Posts: 10
Joined: Jul 2010
Reputation: 0
Post: #1
Problems compiling in Windows

Hi, I purchased the game from the Indie Bundle and loved it (except the beginning of Overture, but I just never liked caves) When I learned that the source was open, I got awesomely happy and tried to make it run (I'm a computer science student you see), but unfortunately, I'm getting a lot of problems, and would like your help!

First off, I downloaded everything and installed them properly (The 3 Git folders and dependencies, the various missing libs like GLaux and OpenAL, etc.)
Then, (After hours of trying to figure out how to,) I got the OALWrapper and the HPL1engine to compile, and got both their .lib's. But when I try to compile Penumbra, it runs without error, but the .exe crash before doing anything:

Problem Event Name:    APPCRASH
  Application Name:    Penumbra.exe
  Application Version:    0.0.0.0
  Application Timestamp:    4c477c59
  Fault Module Name:    Penumbra.exe
  Fault Module Version:    0.0.0.0
  Fault Module Timestamp:    4c477c59
  Exception Code:    c0000005
  Exception Offset:    00003ea5
  OS Version:    6.1.7600.2.0.0.256.1
  Locale ID:    2057
  Additional Information 1:    0a9e
  Additional Information 2:    0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:    0a9e
  Additional Information 4:    0a9e372d3b4ad19135b953a78882e789

If it can be of any use, my executable is not the same size as the official one. Mine is 2,886Kb and the vanilla one is 2,664Kb.

Here are a few snapshot I deemed of value (note the Linker error, is that a problem here?):

http://img251.imageshack.us/img251/3610/...aerror.png


This is the log it gives me when I compile Penumbra:

Build started 22/07/2010 01:24:29.
     1>Project "C:\Programation\OuvertureSource\PenumbraOverture\Penumbra.vcxproj" on node 2 (ClCompile target(s)).
     1>ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /I..\HPL1Engine\include /I..\dependencies\include /I..\OALWrapper\include /Zi /nologo /W3 /WX- /O2 /Oy- /D WIN32 /D NDEBUG /D _WINDOWS /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"build/Release\\" /Fd"build/Release\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt Credits.cpp
         Credits.cpp
     1>c:\programation\ouverturesource\hpl1engine\include\system/SystemTypes.h(169): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
                 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
     1>Done Building Project "C:\Programation\OuvertureSource\PenumbraOverture\Penumbra.vcxproj" (ClCompile target(s)).

Build succeeded.

Time Elapsed 00:00:12.41

The log of OALWrapper:

1>------ Build started: Project: OALWrapper, Configuration: Release Win32 ------
1>Build started 22/07/2010 02:20:26.
1>InitializeBuildStatus:
1>  Creating "Release\OALWrapper.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1>  OAL_AudioData.cpp
1>  OAL_Buffer.cpp
1>  OAL_Device.cpp
1>  OAL_EFX.cpp
1>  OAL_EFXManager.cpp
1>  OAL_Effect.cpp
1>  OAL_EffectSlot.cpp
1>  OAL_Effect_Reverb.cpp
1>  OAL_Filter.cpp
1>  OAL_Helper.cpp
1>sources\OAL_Helper.cpp(53): warning C4996: 'wcstombs': This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h(533) : see declaration of 'wcstombs'
1>sources\OAL_Helper.cpp(55): warning C4996: 'wcstombs': This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h(533) : see declaration of 'wcstombs'
1>sources\OAL_Helper.cpp(62): warning C4996: 'mbstowcs': This function or variable may be unsafe. Consider using mbstowcs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h(498) : see declaration of 'mbstowcs'
1>sources\OAL_Helper.cpp(64): warning C4996: 'mbstowcs': This function or variable may be unsafe. Consider using mbstowcs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h(498) : see declaration of 'mbstowcs'
1>sources\OAL_Helper.cpp(81): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(234) : see declaration of 'fopen'
1>sources\OAL_Helper.cpp(88): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(234) : see declaration of 'fopen'
1>  OAL_Init.cpp
1>sources\OAL_Init.cpp(251): warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'vsprintf'
1>  OAL_Loaders.cpp
1>  OAL_LoggerObject.cpp
1>sources\OAL_LoggerObject.cpp(54): warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'vsprintf'
1>sources\OAL_LoggerObject.cpp(124): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h(433) : see declaration of 'getenv'
1>  OAL_OggSample.cpp
1>  OAL_OggStream.cpp
1>  OAL_Playback.cpp
1>  OAL_Sample.cpp
1>  OAL_Source.cpp
1>sources\OAL_Source.cpp(660): warning C4244: 'argument' : conversion from 'double' to 'float', possible loss of data
1>  OAL_SourceManager.cpp
1>  OAL_Stream.cpp
1>  Compiling...
1>  OAL_WAVSample.cpp
1>sources\OAL_WAVSample.cpp(56): warning C4996: 'alutLoadWAVFile': was declared deprecated
1>          C:\Programation\OuvertureSource\dependencies\include\AL/alut.h(113) : see declaration of 'alutLoadWAVFile'
1>sources\OAL_WAVSample.cpp(73): warning C4996: 'alutUnloadWAV': was declared deprecated
1>          C:\Programation\OuvertureSource\dependencies\include\AL/alut.h(116) : see declaration of 'alutUnloadWAV'
1>sources\OAL_WAVSample.cpp(87): warning C4996: 'alutUnloadWAV': was declared deprecated
1>          C:\Programation\OuvertureSource\dependencies\include\AL/alut.h(116) : see declaration of 'alutUnloadWAV'
1>Lib:
1>  OALWrapper.vcxproj -> C:\Programation\OuvertureSource\OALWrapper\Release\OALWrapper.lib
1>FinalizeBuildStatus:
1>  Deleting file "Release\OALWrapper.unsuccessfulbuild".
1>  Touching "Release\OALWrapper.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:12.52
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

And finally, the HPLengine log:

1>------ Build started: Project: HPL, Configuration: Release Win32 ------
1>Build started 22/07/2010 02:29:45.
1>InitializeBuildStatus:
1>  Touching "build\Release\HPL.unsuccessfulbuild".
1>ClCompile:
1>  LowLevelSoundOpenAL.cpp
1>C:\Programation\OuvertureSource\HPL1Engine\include\system/SystemTypes.h(169): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>  OpenALSoundChannel.cpp
1>C:\Programation\OuvertureSource\HPL1Engine\include\system/SystemTypes.h(169): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>  OpenALSoundData.cpp
1>C:\Programation\OuvertureSource\HPL1Engine\include\system/SystemTypes.h(169): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>  Generating Code...
1>  All outputs are up-to-date.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): warning MSB8012: TargetPath(C:\Programation\OuvertureSource\HPL1Engine\build\Release\HPL.lib) does not match the Library's OutputFile property value (C:\Programation\OuvertureSource\HPL1Engine\lib\HPL.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
1>Spring.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
1>Container.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
1>  HPL.vcxproj -> C:\Programation\OuvertureSource\HPL1Engine\build\Release\HPL.lib
1>FinalizeBuildStatus:
1>  Deleting file "build\Release\HPL.unsuccessfulbuild".
1>  Touching "build\Release\HPL.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:14.64
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

I did a LOT of research, but the docs are not really there yet, so it's pretty hard to do my usual debugging (I don't usually need to ask questions). I've packaged my HPL.lib and OALWrapper.lib (along with the penumbra.exe it give me, just in case), which can be downloaded here. It would be nice if you could try them and tell me whether they are the problem or not. I'm using Visual Studio 2010 under Windows 7.

It would be nice to end the Windows/VS10 problems once and for all, I've noticed most topics don't really solve the problem clearly, so I've included as much info as possible in hope to pin down the problem.

If you need any other info, please tell me.

Also, I've been thinking about making the project files from scratch and link the stuff myself, is that an advisable idea?

(Sorry for mistakes I may have made, I'm not english)

(If I can get it to work I PROMISE I'll make a comprehensive VS10 guide! Smile)
07-22-2010 07:50 AM
Find all posts by this user Quote this message in a reply
Urkle Offline
FG - Associate

Posts: 1,154
Joined: Jul 2006
Reputation: 19
Post: #2
RE: Problems compiling in Windows

Couple of things to check out.. Did the Penumbra.exe generate an hpl log (I believe in the My Documents/Penumbra folder)
Also did you RUN the executable from within the "redist" data folder?
Have you tried building a Debug build instead of a Release build and putting a breakpoint on hplMain (in Main.cpp) and walking through the code there to see where it blows up?

Developing away on one of
Mac Pro Dual 2Ghz, 14GB RAM, 10.6 (still), nVidia 8800 512MB.
Linux, 8-core AMD, 8GB RAM, Fedora 17, nVidia 450 1GB
07-22-2010 02:17 PM
Visit this user's website Find all posts by this user Quote this message in a reply
JKO Offline
Junior Member

Posts: 10
Joined: Jul 2010
Reputation: 0
Post: #3
RE: Problems compiling in Windows

Quote:My penumbra.exe did not generate an hpl.log, but the vanilla one did straight away. I do run penumbra from the redist folder (and the project is linked to it). I tried running penumbra in debug with the breakpoint at hplmain, as you asked, here is the debug error it gives me:

http://img690.imageshack.us/img690/8123/...adebug.png

The codes that causes the problem, are in OALWrapper.
This is the code of the 2nd line in the debug stack:
bool                    iOAL_LoggerObject::mbLogEnabled = false;
eOAL_LogOutput            iOAL_LoggerObject::mLogOutput = eOAL_LogOutput_File;
eOAL_LogVerbose    iOAL_LoggerObject::mLogVerboseLevel = eOAL_LogVerbose_Low;
wstring                    iOAL_LoggerObject::msLogFile = BuildLogFilename("OAL.log");  <----(This line)

And this is the code where the crash happens:
#if defined(WIN32)

        WCHAR sPath[MAX_PATH];
        if(SUCCEEDED(SHGetFolderPath(NULL,
            CSIDL_PERSONAL | CSIDL_FLAG_CREATE,
            NULL,0,sPath)))
        {
            wsTemp = wstring(sPath).append(L"/").append(wsName);
        }
        else
        {
            return L"";
        }
    #else
        string home = string(getenv("HOME"));   <----(This line)
        wsTemp = String2WString(home);
        wsTemp.append(L"/").append(wsName);
    #endif

This is what I have so far.
EDIT:
I fixed it. The errors it gave me reminded me of the "It just crashes" topic, and I was able to fix if from there. Thanks a lot for the debug tip. Now I'll check what is the easiest way to get it all working and post a little guide, as promised.
07-22-2010 08:30 PM
Find all posts by this user Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)