Building Oolite Windows from source - The Easier Way

News and discussion of the PC port of Oolite.

Moderators: winston, another_commander

totya
Poor
Poor
Posts: 5
Joined: Mon May 14, 2012 2:22 pm

Re: Building Oolite Windows from source - The Easier Way

Post by totya »

Hi. When I compile rev4959 I get errors.

Code: Select all

SVN update:
Updating '.':
At revision 4959.
Compile process is started...

Making all for objc_program oolite...
 Compiling file src/Core/Octree.m ...
src/Core/Octree.m: In function '-[Octree initWithRadius:leafCount:objectRepresentation:]':
src/Core/Octree.m:101: warning: implicit declaration of function 'copyRepresentationIntoOctree'
src/Core/Octree.m: At top level:
src/Core/Octree.m:201: error: static declaration of 'copyRepresentationIntoOctree' follows non-static declaration
src/Core/Octree.m:101: error: previous implicit declaration of 'copyRepresentationIntoOctree' was here
make[3]: *** [obj.win.spk/oolite.obj/Octree.m.o] Error 1
make[2]: *** [internal-objc_program-all_] Error 2
make[1]: *** [oolite.all.objc-program.variables] Error 2
make: *** [internal-all] Error 2
I know, this is nightly version, answer is not needed.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

totya wrote:
I know, this is nightly version, answer is not needed.
Thanks for your report totya. It is fixed in r4960. Although nightlies are expected to contain bugs etc., such reports of build failures are welcome. The source tree should never be in a non-compiling state.
SubV
Above Average
Above Average
Posts: 26
Joined: Tue Oct 13, 2009 6:23 pm
Location: Witchspace

Re: Building Oolite Windows from source - The Easier Way

Post by SubV »

One question. I want to build Oolite with SSE2 instruction set, to get maximum perfomance on Core2 processors.

I made the following corrections to GNUmakefile:

Code: Select all

ADDITIONAL_CFLAGS = -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags` -O2 -march=core2 -msse2 -mtune=core2
Is it enough?
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

SubV: Your command line above seems about right. After a quick check in the gcc 4.3.2 online pages, it looks like you've got all that is needed in there.
SubV
Above Average
Above Average
Posts: 26
Joined: Tue Oct 13, 2009 6:23 pm
Location: Witchspace

Re: Building Oolite Windows from source - The Easier Way

Post by SubV »

Thank you. I already built the game and it seems it working fine.
SubV
Above Average
Above Average
Posts: 26
Joined: Tue Oct 13, 2009 6:23 pm
Location: Witchspace

Re: Building Oolite Windows from source - The Easier Way

Post by SubV »

Another question related to PC build.

There are some dependencies in 'dep' folder. I want to rebuild them too, with modern core and SSE2 suport. Especially the JavaScript engine, the JS32ECMAv5.dll.

Where can I find the sources for this one, and how to build it?
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

SubV wrote:
Another question related to PC build.

There are some dependencies in 'dep' folder. I want to rebuild them too, with modern core and SSE2 suport. Especially the JavaScript engine, the JS32ECMAv5.dll.

Where can I find the sources for this one, and how to build it?
The bad news is that you are setting up yourself for a lot of work if you want to build all the dependencies from scratch. The good news is that it can be done though. Be aware that most of the Win32 dependencies require modifications specifically for supporting Oolite anyway. The modified SDL.dll sources are already included in the trunk's cross platform deps folder and the modifications required for libespeak.dll are also included. For the rest, you will have to get the sources yourself and make sure you download the versions used in Oolite, because there are no guarantees whatsoever that newer library versions will work.

Be sure to read the document titled ExternalLibrariesSourceCodeChanges.txt, located in the Doc folder before you begin. Start with the basics: zlib1.dll, SDL.dll, libogg/libvorbis + SDL_mixer.dll, libpng14.dll. I know that there will be lots of questions, so feel free to take it to PM if you get stuck. I will try to help as much as I can.

Regarding the js32ECMAv5.dll, this is the source of the Spidermonkey library for Firefox 4. Building this is a b!tch of a task. I will probably have to send you ready-made makefiles for it, because the official Spidermonkey build does not support our toolchain (GCC/MinGW) and yet another special build had to be made for it.

Another one of the bad ones is gnustep-base-1_20.dll, but leave that till very last. It has extensive modifications to the Objective-C library itself.

Good luck.
SubV
Above Average
Above Average
Posts: 26
Joined: Tue Oct 13, 2009 6:23 pm
Location: Witchspace

Re: Building Oolite Windows from source - The Easier Way

Post by SubV »

another_commander wrote:
The bad news is that you are setting up yourself for a lot of work if you want to build all the dependencies from scratch. The good news is that it can be done though. Be aware that most of the Win32 dependencies require modifications specifically for supporting Oolite anyway. The modified SDL.dll sources are already included in the trunk's cross platform deps folder and the modifications required for libespeak.dll are also included. For the rest, you will have to get the sources yourself and make sure you download the versions used in Oolite, because there are no guarantees whatsoever that newer library versions will work.

Be sure to read the document titled ExternalLibrariesSourceCodeChanges.txt, located in the Doc folder before you begin. Start with the basics: zlib1.dll, SDL.dll, libogg/libvorbis + SDL_mixer.dll, libpng14.dll. I know that there will be lots of questions, so feel free to take it to PM if you get stuck. I will try to help as much as I can.
Thank you. I'll start with SDL, then. However (in my opininon) this library is not critical in terms of game performance. I think the maximum performance gain can be achieved by rebuilding the JS engine and Objective-C library. Maybe PNG library, too.
Regarding the js32ECMA5.dll, this is the source of the Spidermonkey library for Firefox 4. Building this is a b!tch of a task. I will probably have to send you ready-made makefiles for it, because the official Spidermonkey build does not support our toolchain (GCC/MinGW) and yet another special build had to be made for it.

Another one of the bad ones is gnustep-base-1_20.dll, but leave that till very last. It has extensive modifications to the Objective-C library itself.
Much obliged to you. And thank you again for thorough explanation.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

There is an update to the build system for Oolite on Windows. As of today, we are switching the compiler to GCC 4.7.1, as opposed to the 4.3.2 one we were using until now. This will enable us to make use of quite a few new ObjC language features and at the same time reap the benefits of the performance optimizations done on the compiler since about 2009. Anyone building Oolite from source on Windows should upgrade to the new development environment, found here: https://docs.google.com/open?id=0BwG6R5 ... 2JTU0xIUTg. The instructions for use are exactly the same as before, but note that there have been problems reported when the environment is installed in a path containing spaces, so avoid places like My Documents or Program Files etc. The old development environment will be no longer supported.

Those of you who pay attention to detail will notice that there is a folder named Mingw64 in the distribution, which contains a zip file and a readme. The zipped file contains the 64-bit version of the compiler, which unfortunately I cannot do anything with since I don't have a 64-bit operating system handy. It is a complete, ready-to-run environment for 64-bits, but anyone who would like to use it will have to unzip the file at the location it is, rename the Mingw64 folder to Mingw (and of course rename the existing Mingw folder to something else first) and rebuild all the game's dependencies, plus the executable of course. In other words, the task requires someone who knows what they are doing. It's not easy, but here it is for whomever would like to take the plunge.
User avatar
Pleb
---- E L I T E ----
---- E L I T E ----
Posts: 908
Joined: Sun Apr 29, 2012 2:23 pm
Location: United Kingdom

Re: Building Oolite Windows from source - The Easier Way

Post by Pleb »

Hi I've downloaded the new development environment today and used it to download download the trunk (revision 5556), which worked no problem. However when I have compiled the trunk several warnings came up whilst compiling:

Code: Select all

This is gnustep-make 2.4.0. Type 'make print-gnustep-make-help' for help.
Making all for objc_program oolite...
 Compiling file src/Core/legacy_random.c ...
 Compiling file src/BSDCompat/strlcpy.c ...
 Compiling file src/Core/Debug/OOTCPStreamDecoder.c ...
 Compiling file src/Core/OOPlanetData.c ...
 Compiling file src/Core/Debug/OODebugMonitor.m ...
 Compiling file src/Core/Debug/OODebugSupport.m ...
 Compiling file src/Core/Debug/OODebugTCPConsoleClient.m ...
 Compiling file src/Core/Debug/OOJSConsole.m ...
src/Core/Debug/OOJSConsole.m: In function 'ConsoleIsExecutableJavaScript':
src/Core/Debug/OOJSConsole.m:819:11: warning: variable 'result' set but not used
 [-Wunused-but-set-variable]
 Compiling file src/Core/OOProfilingStopwatch.m ...
 Compiling file src/Core/Debug/OOTCPStreamDecoderAbstractionLayer.m ...
 Compiling file src/Core/Entities/DockEntity.m ...
 Compiling file src/Core/Entities/DustEntity.m ...
 Compiling file src/Core/Entities/Entity.m ...
 Compiling file src/Core/Entities/OOEntityWithDrawable.m ...
src/Core/Entities/OOEntityWithDrawable.m: In function '-[OOEntityWithDrawable dr
awImmediate:translucent:]':
src/Core/Entities/OOEntityWithDrawable.m:91:5: warning: @interface of class 'OOV
isualEffectEntity' not found [enabled by default]
 Compiling file src/Core/Entities/OOParticleSystem.m ...
 Compiling file src/Core/Entities/PlanetEntity.m ...
 Compiling file src/Core/Entities/PlayerEntity.m ...
 Compiling file src/Core/Entities/PlayerEntityContracts.m ...
 Compiling file src/Core/Entities/PlayerEntityControls.m ...
 Compiling file src/Core/Entities/PlayerEntityLegacyScriptEngine.m ...
 Compiling file src/Core/Entities/PlayerEntityLoadSave.m ...
 Compiling file src/Core/Entities/PlayerEntityScriptMethods.m ...
 Compiling file src/Core/Entities/PlayerEntitySound.m ...
 Compiling file src/Core/Entities/PlayerEntityStickMapper.m ...
 Compiling file src/Core/Entities/ProxyPlayerEntity.m ...
 Compiling file src/Core/Entities/OOBreakPatternEntity.m ...
 Compiling file src/Core/Entities/ShipEntity.m ...
src/Core/Entities/ShipEntity.m: In function '-[ShipEntity firePlasmaShotAtOffset
:speed:color:direction:]':
src/Core/Entities/ShipEntity.m:10394:17: warning: comparison between 'OOWeaponFa
cing' and 'enum <anonymous>' [-Wenum-compare]
 Compiling file src/Core/Entities/ShipEntityAI.m ...
 Compiling file src/Core/Entities/ShipEntityScriptMethods.m ...
 Compiling file src/Core/Entities/SkyEntity.m ...
 Compiling file src/Core/Entities/StationEntity.m ...
 Compiling file src/Core/Entities/OOSunEntity.m ...
 Compiling file src/Core/Entities/WormholeEntity.m ...
 Compiling file src/Core/Entities/OOLightParticleEntity.m ...
 Compiling file src/Core/Entities/OOFlasherEntity.m ...
src/Core/Entities/OOFlasherEntity.m: In function '-[OOFlasherEntity update:]':
src/Core/Entities/OOFlasherEntity.m:124:18: warning: operation on 'self->_active
Color' may be undefined [-Wsequence-point]
 Compiling file src/Core/Entities/OOExhaustPlumeEntity.m ...
 Compiling file src/Core/Entities/OOSparkEntity.m ...
 Compiling file src/Core/Entities/OOECMBlastEntity.m ...
 Compiling file src/Core/Entities/OOPlanetEntity.m ...
 Compiling file src/Core/Entities/OOPlasmaShotEntity.m ...
 Compiling file src/Core/Entities/OOPlasmaBurstEntity.m ...
 Compiling file src/Core/Entities/OOFlashEffectEntity.m ...
 Compiling file src/Core/Entities/ShipEntityLoadRestore.m ...
 Compiling file src/Core/Entities/OOLaserShotEntity.m ...
 Compiling file src/Core/Entities/OOQuiriumCascadeEntity.m ...
 Compiling file src/Core/Entities/OORingEffectEntity.m ...
 Compiling file src/Core/Entities/OOVisualEffectEntity.m ...
 Compiling file src/Core/OODrawable.m ...
 Compiling file src/Core/OOPlanetDrawable.m ...
 Compiling file src/Core/OOMesh.m ...
 Compiling file src/Core/Materials/OOMaterialSpecifier.m ...
 Compiling file src/Core/Materials/OOBasicMaterial.m ...
 Compiling file src/Core/Materials/OODefaultShaderSynthesizer.m ...
 Compiling file src/Core/Materials/OOMaterial.m ...
 Compiling file src/Core/Materials/OONullTexture.m ...
 Compiling file src/Core/Materials/OOPlanetTextureGenerator.m ...
 Compiling file src/Core/Materials/OOPNGTextureLoader.m ...
 Compiling file src/Core/Materials/OOShaderMaterial.m ...
 Compiling file src/Core/Materials/OOShaderProgram.m ...
 Compiling file src/Core/Materials/OOShaderUniform.m ...
 Compiling file src/Core/Materials/OOShaderUniformMethodType.m ...
 Compiling file src/Core/Materials/OOSingleTextureMaterial.m ...
 Compiling file src/Core/Materials/OOTexture.m ...
 Compiling file src/Core/Materials/OOConcreteTexture.m ...
 Compiling file src/Core/Materials/OOTextureGenerator.m ...
 Compiling file src/Core/Materials/OOTextureLoader.m ...
 Compiling file src/Core/Materials/OOPixMap.m ...
 Compiling file src/Core/OOTextureScaling.m ...
 Compiling file src/Core/Materials/OOPixMapChannelOperations.m ...
 Compiling file src/Core/Materials/OOMultiTextureMaterial.m ...
 Compiling file src/Core/Materials/OOMaterialConvenienceCreators.m ...
 Compiling file src/Core/Materials/OOCombinedEmissionMapGenerator.m ...
 Compiling file src/Core/Materials/OOPixMapTextureLoader.m ...
 Compiling file src/Core/OOCrosshairs.m ...
 Compiling file src/Core/OODebugGLDrawing.m ...
 Compiling file src/Core/OOGraphicsResetManager.m ...
 Compiling file src/Core/OOOpenGL.m ...
 Compiling file src/Core/OOOpenGLStateManager.m ...
 Compiling file src/Core/OOOpenGLExtensionManager.m ...
 Compiling file src/Core/OOProbabilisticTextureManager.m ...
 Compiling file src/Core/OOSkyDrawable.m ...
 Compiling file src/Core/OOTextureSprite.m ...
 Compiling file src/Core/OOPolygonSprite.m ...
 Compiling file src/Core/OOConvertCubeMapToLatLong.m ...
 Compiling file src/Core/CollisionRegion.m ...
 Compiling file src/Core/OOMeshToOctreeConverter.m ...
 Compiling file src/Core/Octree.m ...
 Compiling file src/Core/OOMatrix.m ...
 Compiling file src/Core/OOQuaternion.m ...
 Compiling file src/Core/OOVector.m ...
 Compiling file src/Core/OOVoxel.m ...
 Compiling file src/Core/OXPVerifier/OOAIStateMachineVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOCheckDemoShipsPListVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOCheckEquipmentPListVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOCheckRequiresPListVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOCheckShipDataPListVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOFileScannerVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOModelVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOOXPVerifier.m ...
src/Core/OXPVerifier/OOOXPVerifier.m: In function 'OpenLogFile':
src/Core/OXPVerifier/OOOXPVerifier.m:719:6: warning: variable 'ret' set but not
used [-Wunused-but-set-variable]
 Compiling file src/Core/OXPVerifier/OOOXPVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOPListSchemaVerifier.m ...
 Compiling file src/Core/OXPVerifier/OOTextureVerifierStage.m ...
 Compiling file src/Core/OldSchoolPropertyListWriting.m ...
 Compiling file src/Core/OOCache.m ...
 Compiling file src/Core/OOCacheManager.m ...
 Compiling file src/Core/OOConvertSystemDescriptions.m ...
 Compiling file src/Core/OOPListParsing.m ...
 Compiling file src/Core/ResourceManager.m ...
 Compiling file src/Core/TextureStore.m ...
 Compiling file src/Core/Scripting/EntityOOJavaScriptExtensions.m ...
 Compiling file src/Core/Scripting/OOJavaScriptEngine.m ...
 Compiling file src/Core/Scripting/OOJSEngineTimeManagement.m ...
 Compiling file src/Core/Scripting/OOJSEngineDebuggerHelpers.m ...
 Compiling file src/Core/Scripting/OOConstToJSString.m ...
 Compiling file src/Core/Scripting/OOJSCall.m ...
 Compiling file src/Core/Scripting/OOJSClock.m ...
 Compiling file src/Core/Scripting/OOJSDock.m ...
 Compiling file src/Core/Scripting/OOJSEntity.m ...
 Compiling file src/Core/Scripting/OOJSEquipmentInfo.m ...
 Compiling file src/Core/Scripting/OOJSFunction.m ...
 Compiling file src/Core/Scripting/OOJSGlobal.m ...
 Compiling file src/Core/Scripting/OOJSInterfaceDefinition.m ...
 Compiling file src/Core/Scripting/OOJSManifest.m ...
 Compiling file src/Core/Scripting/OOJSMission.m ...
 Compiling file src/Core/Scripting/OOJSMissionVariables.m ...
 Compiling file src/Core/Scripting/OOJSOolite.m ...
 Compiling file src/Core/Scripting/OOJSPlanet.m ...
 Compiling file src/Core/Scripting/OOJSPlayer.m ...
 Compiling file src/Core/Scripting/OOJSPlayerShip.m ...
 Compiling file src/Core/Scripting/OOJSQuaternion.m ...
 Compiling file src/Core/Scripting/OOJSScript.m ...
 Compiling file src/Core/Scripting/OOJSShip.m ...
src/Core/Scripting/OOJSShip.m: In function 'ShipDealEnergyDamage':
src/Core/Scripting/OOJSShip.m:1634:7: warning: variable 'gotVBias' set but not u
sed [-Wunused-but-set-variable]
src/Core/Scripting/OOJSShip.m:1633:7: warning: variable 'gotRange' set but not u
sed [-Wunused-but-set-variable]
src/Core/Scripting/OOJSShip.m:1632:7: warning: variable 'gotDamage' set but not
used [-Wunused-but-set-variable]
 Compiling file src/Core/Scripting/OOJSShipGroup.m ...
 Compiling file src/Core/Scripting/OOJSSound.m ...
 Compiling file src/Core/Scripting/OOJSSoundSource.m ...
 Compiling file src/Core/Scripting/OOJSSpecialFunctions.m ...
 Compiling file src/Core/Scripting/OOJSStation.m ...
 Compiling file src/Core/Scripting/OOJSSun.m ...
 Compiling file src/Core/Scripting/OOJSSystem.m ...
 Compiling file src/Core/Scripting/OOJSSystemInfo.m ...
 Compiling file src/Core/Scripting/OOJSTimer.m ...
 Compiling file src/Core/Scripting/OOJSVisualEffect.m ...
 Compiling file src/Core/Scripting/OOJSVector.m ...
 Compiling file src/Core/Scripting/OOJSWorldScripts.m ...
 Compiling file src/Core/Scripting/OOLegacyScriptWhitelist.m ...
 Compiling file src/Core/Scripting/OOPListScript.m ...
 Compiling file src/Core/Scripting/OOScript.m ...
 Compiling file src/Core/Scripting/OOScriptTimer.m ...
 Compiling file src/Core/Scripting/OOJSFrameCallbacks.m ...
 Compiling file src/Core/Scripting/OOJSFont.m ...
 Compiling file src/Core/OOBasicSoundReferencePoint.m ...
 Compiling file src/Core/OOMusicController.m ...
 Compiling file src/SDL/OOSDLConcreteSound.m ...
 Compiling file src/SDL/OOSDLSound.m ...
 Compiling file src/SDL/OOSDLSoundChannel.m ...
 Compiling file src/SDL/OOSDLSoundMixer.m ...
 Compiling file src/Core/OOSoundSource.m ...
 Compiling file src/Core/OOSoundSourcePool.m ...
 Compiling file src/SDL/SDLMusic.m ...
 Compiling file src/Core/GuiDisplayGen.m ...
 Compiling file src/Core/HeadUpDisplay.m ...
 Compiling file src/Core/OOEncodingConverter.m ...
 Compiling file src/SDL/Comparison.m ...
 Compiling file src/Core/NSDictionaryOOExtensions.m ...
 Compiling file src/Core/NSFileManagerOOExtensions.m ...
 Compiling file src/Core/NSMutableDictionaryOOExtensions.m ...
 Compiling file src/Core/NSScannerOOExtensions.m ...
 Compiling file src/Core/NSStringOOExtensions.m ...
 Compiling file src/Core/NSThreadOOExtensions.m ...
 Compiling file src/Core/NSNumberOOExtensions.m ...
 Compiling file src/Core/OOAsyncQueue.m ...
 Compiling file src/Core/OOAsyncWorkManager.m ...
 Compiling file src/Core/OOCollectionExtractors.m ...
 Compiling file src/Core/OOColor.m ...
 Compiling file src/Core/OOConstToString.m ...
 Compiling file src/Core/OOCPUInfo.m ...
 Compiling file src/Core/OOEntityFilterPredicate.m ...
 Compiling file src/Core/OOExcludeObjectEnumerator.m ...
 Compiling file src/Core/OOFilteringEnumerator.m ...
 Compiling file src/Core/OOIsNumberLiteral.m ...
 Compiling file src/Core/OOLogging.m ...
 Compiling file src/Core/OOLogHeader.m ...
 Compiling file src/Core/OOLogOutputHandler.m ...
 Compiling file src/Core/OOPriorityQueue.m ...
 Compiling file src/Core/OOProbabilitySet.m ...
 Compiling file src/Core/OOShipGroup.m ...
 Compiling file src/Core/OOStringExpander.m ...
 Compiling file src/Core/OOStringParsing.m ...
 Compiling file src/Core/OOWeakReference.m ...
 Compiling file src/Core/OOWeakSet.m ...
 Compiling file src/Core/OOXMLExtensions.m ...
 Compiling file src/Core/OODeepCopy.m ...
 Compiling file src/Core/OORegExpMatcher.m ...
 Compiling file src/Core/NSObjectOOExtensions.m ...
 Compiling file src/Core/AI.m ...
 Compiling file src/Core/AIGraphViz.m ...
 Compiling file src/Core/GameController.m ...
 Compiling file src/SDL/GameController+SDLFullScreen.m ...
 Compiling file src/Core/OOJoystickManager.m ...
 Compiling file src/SDL/OOSDLJoystickManager.m ...
 Compiling file src/SDL/main.m ...
 Compiling file src/SDL/MyOpenGLView.m ...
 Compiling file src/Core/OOCharacter.m ...
 Compiling file src/Core/OOCocoa.m ...
 Compiling file src/Core/OOEquipmentType.m ...
 Compiling file src/Core/OOMouseInteractionMode.m ...
 Compiling file src/Core/OORoleSet.m ...
 Compiling file src/Core/OOShipRegistry.m ...
 Compiling file src/Core/OOSpatialReference.m ...
 Compiling file src/Core/OOTrumble.m ...
 Compiling file src/Core/Universe.m ...
src/Core/Universe.m: In function '-[Universe drawUniverse]':
src/Core/Universe.m:3748:18: warning: variable 'the_sun' set but not used [-Wunu
sed-but-set-variable]
 Linking objc_program oolite ...
/mingw/../devlibs/gnustep1201/System/Library/Makefiles/mkinstalldirs oolite.app
/mingw/../devlibs/gnustep1201/System/Library/Makefiles/mkinstalldirs oolite.app/
Resources
cp -rf -u Resources oolite.app
cp -rf -u Schemata oolite.app/Resources
cp -rf -u deps/Cross-platform-deps/espeak-data oolite.app/Resources
cp -rf -u src/Cocoa/Info-Oolite.plist oolite.app/Resources/Info-gnustep.plist
cp -rf -u obj.win.spk/oolite.exe oolite.app/oolite.exe
strip oolite.app/oolite.exe
cp -rf -u deps/Windows-x86-deps/DLLs/*.dll oolite.app
rm -f oolite.app/js32ECMAv5dbg.dll
The trunk compiled okay and seems to work but I wondered if anyone else is getting these same warning messages?
Desktop PC: CPU: Intel i7-4790K Quad Core 4.4GHz (Turbo-Charged) GPU: Nvidia GeForce GTX 1080Ti RAM: 32GB DDR3

Laptop PC: CPU: Intel i5-10300H Quad Core 4.5GHz (Turbo-Charged) GPU: Nvidia GeForce GTX 1650 RAM: 32GB DDR4
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: Building Oolite Windows from source - The Easier Way

Post by Tricky »

I too get them. As noted in this thread https://bb.oolite.space/viewtopic.php?f= ... 97#p189295
another_commander wrote:
There are even more warnings reported if you build with GCC 4.7.x (mostly about variables being set but not used). We will look at all of them at some point but for now most of these warnings are pretty harmless. Possible exception is the one about the undefined operation on self->_activeColor.
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Re: Building Oolite Windows from source - The Easier Way

Post by Thargoid »

Likewise - for the moment just ignore them until the dev's work their magic and tweak them away. I've been trialling the new environment for a few days now and not hit any problems aside from them, and as noted they're just reports about unused variables mainly.
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Re: Building Oolite Windows from source - The Easier Way

Post by Eric Walch »

Normally the mac compiler is a bit less forgiving but apparently never complained about these. It is a warning about unused variables, so I think it will be safe for all to just delete them. (At least the 3 cases I just checked)

The newer compiler chooses to give warnings for it, because the programmer might have forgotten to add code to use those values he just has calculated.
User avatar
Pleb
---- E L I T E ----
---- E L I T E ----
Posts: 908
Joined: Sun Apr 29, 2012 2:23 pm
Location: United Kingdom

Re: Building Oolite Windows from source - The Easier Way

Post by Pleb »

Thargoid wrote:
Likewise - for the moment just ignore them until the dev's work their magic and tweak them away. I've been trialling the new environment for a few days now and not hit any problems aside from them, and as noted they're just reports about unused variables mainly.
Ah well as long as everyone else can see them too, I was worried I'd compiled it wrong but seeing as the instructions hadn't changed I was confused as to how I'd managed it. Indeed they are only warnings and it still compiles fine!
Desktop PC: CPU: Intel i7-4790K Quad Core 4.4GHz (Turbo-Charged) GPU: Nvidia GeForce GTX 1080Ti RAM: 32GB DDR3

Laptop PC: CPU: Intel i5-10300H Quad Core 4.5GHz (Turbo-Charged) GPU: Nvidia GeForce GTX 1650 RAM: 32GB DDR4
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Re: Building Oolite Windows from source - The Easier Way

Post by Thargoid »

The main ones are now fixed (as of 5561) although 3 of the unused variables warnings are still there (but harmless).

Code: Select all

 Compiling file src/Core/Debug/OOJSConsole.m ...
src/Core/Debug/OOJSConsole.m: In function 'ConsoleIsExecutableJavaScript':
src/Core/Debug/OOJSConsole.m:819:11: warning: variable 'result' set but not used
 [-Wunused-but-set-variable]
 
 Compiling file src/Core/OXPVerifier/OOOXPVerifier.m ...
src/Core/OXPVerifier/OOOXPVerifier.m: In function 'OpenLogFile':
src/Core/OXPVerifier/OOOXPVerifier.m:719:6: warning: variable 'ret' set but not
used [-Wunused-but-set-variable]

 Compiling file src/Core/Scripting/OOJSShip.m ...
src/Core/Scripting/OOJSShip.m: In function 'ShipDealEnergyDamage':
src/Core/Scripting/OOJSShip.m:1634:7: warning: variable 'gotVBias' set but not u
sed [-Wunused-but-set-variable]
src/Core/Scripting/OOJSShip.m:1633:7: warning: variable 'gotRange' set but not u
sed [-Wunused-but-set-variable]
src/Core/Scripting/OOJSShip.m:1632:7: warning: variable 'gotDamage' set but not
used [-Wunused-but-set-variable]
[/color]
Post Reply