Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: another_commander, winston, Getafix

User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

I tried to install Oolite v1.91 (currently the latest development step). Installing worked fine. But Oolite won't start, it says

Code: Select all

libgnustep-base.so.1.28: cannot open shared object file
I'm pretty sure that I have installed each and every library involved, but I have libgnustep v1.29, not 1.28. And I can't downgrade.
I have even tried to compile the thing but got serious errors I am not able to resolve:

Code: Select all

┌──(hmb㉿HP-ProDesk)-[~/…/Oolite/Source/oolite-1.91.0.7579-231219-e0738b6/oolite]
└─$ source /usr/share/GNUstep/Makefiles/GNUstep.sh
                                                                                                                     
┌──(hmb㉿HP-ProDesk)-[~/…/Oolite/Source/oolite-1.91.0.7579-231219-e0738b6/oolite]
└─$ make -f Makefile release -j$(nproc)           
make -f GNUmakefile debug=no strip=yes
make[1]: Entering directory '/home/hmb/Downloads/Oolite/Source/oolite-1.91.0.7579-231219-e0738b6/oolite'
This is gnustep-make 2.9.1. Type 'make print-gnustep-make-help' for help.
Running in gnustep-make version 2 strict mode.
/usr/share/GNUstep/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
/usr/share/GNUstep/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
Making all for objc_program oolite...
/usr/share/GNUstep/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
/usr/share/GNUstep/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
 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/MiniZip/ioapi.c ...
 Compiling file src/Core/MiniZip/unzip.c ...
 Compiling file src/Core/Debug/OODebugMonitor.m ...
 Compiling file src/Core/Debug/OODebugStandards.m ...
 Compiling file src/Core/Debug/OODebugSupport.m ...
 Compiling file src/Core/Debug/OODebugTCPConsoleClient.m ...
 Compiling file src/Core/Debug/OOJSConsole.m ...
 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 ...
 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/PlayerEntityStickProfile.m ...
 Compiling file src/Core/Entities/PlayerEntityKeyMapper.m ...
 Compiling file src/Core/Entities/ProxyPlayerEntity.m ...
src/Core/Entities/PlayerEntityControls.m:129:41: warning: ‘hdrPaperWhiteControlPressed’ defined but not used [-Wunused-variable]
  129 | static BOOL                             hdrPaperWhiteControlPressed;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/Core/Entities/PlayerEntityControls.m:128:41: warning: ‘hdrMaxBrightnessControlPressed’ defined but not used [-Wunused-variable]
  128 | static BOOL                             hdrMaxBrightnessControlPressed;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/Core/OOMaths.h:56,
                 from src/Core/Entities/Entity.h:29,
                 from src/Core/Entities/WormholeEntity.h:29,
                 from src/Core/Entities/PlayerEntity.h:30,
                 from src/Core/Entities/PlayerEntity.m:27:
src/Core/OOMatrix.h: In function ‘OOMatrixGetBasisVectors’:
src/Core/OOMatrix.h:348:25: warning: ‘nonnull’ argument ‘outRight’ compared to NULL [-Wnonnull-compare]
  348 |         assert(outRight != NULL && outUp != NULL && outForward != NULL);
      |                         ^
src/Core/OOMatrix.h:348:42: warning: ‘nonnull’ argument ‘outUp’ compared to NULL [-Wnonnull-compare]
  348 |         assert(outRight != NULL && outUp != NULL && outForward != NULL);
      |                                          ^
src/Core/OOMatrix.h:348:50: warning: ‘nonnull’ argument ‘outForward’ compared to NULL [-Wnonnull-compare]
  348 |         assert(outRight != NULL && outUp != NULL && outForward != NULL);
      |                                                  ^
 Compiling file src/Core/Entities/OOBreakPatternEntity.m ...
 Compiling file src/Core/Entities/ShipEntity.m ...
 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 ...
 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/OOExplosionCloudEntity.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/Entities/OOWaypointEntity.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/OOStandaloneAtmosphereGenerator.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/OOOpenGLMatrixManager.m ...
 Compiling file src/Core/OOProbabilisticTextureManager.m ...
In file included from /usr/include/GNUstep/Foundation/NSClassDescription.h:30,
                 from /usr/include/GNUstep/Foundation/Foundation.h:56,
                 from src/Core/OOCocoa.h:46,
                 from src/Core/OOOpenGL.h:30,
                 from src/Core/OOOpenGLStateManager.m:28:
src/Core/OOOpenGLStateManager.m: In function ‘StatesEqual’:
src/Core/OOOpenGLStateManager.m:311:30: warning: ‘nonnull’ argument ‘a’ compared to NULL [-Wnonnull-compare]
  311 |         NSCParameterAssert(a != NULL && b != NULL);
      |                              ^
/usr/include/GNUstep/Foundation/NSException.h:469:11: note: in definition of macro ‘NSCAssert’
  469 |     if (!(condition)) {                                         \
      |           ^~~~~~~~~
src/Core/OOOpenGLStateManager.m:311:9: note: in expansion of macro ‘NSCParameterAssert’
  311 |         NSCParameterAssert(a != NULL && b != NULL);
      |         ^~~~~~~~~~~~~~~~~~
src/Core/OOOpenGLStateManager.m:311:43: warning: ‘nonnull’ argument ‘b’ compared to NULL [-Wnonnull-compare]
  311 |         NSCParameterAssert(a != NULL && b != NULL);
      |                                           ^
/usr/include/GNUstep/Foundation/NSException.h:469:11: note: in definition of macro ‘NSCAssert’
  469 |     if (!(condition)) {                                         \
      |           ^~~~~~~~~
src/Core/OOOpenGLStateManager.m:311:9: note: in expansion of macro ‘NSCParameterAssert’
  311 |         NSCParameterAssert(a != NULL && b != NULL);
      |         ^~~~~~~~~~~~~~~~~~
src/Core/OOOpenGLStateManager.m: In function ‘GetCurrentOpenGLState’:
/usr/include/GNUstep/Foundation/NSException.h:469:8: warning: ‘nonnull’ argument ‘state’ compared to NULL [-Wnonnull-compare]
  469 |     if (!(condition)) {                                         \
      |        ^
/usr/include/GNUstep/Foundation/NSException.h:560:5: note: in expansion of macro ‘NSCAssert’
  560 |     NSCAssert((condition), @"Invalid parameter not satisfying: %s", #condition)
      |     ^~~~~~~~~
src/Core/OOOpenGLStateManager.m:287:9: note: in expansion of macro ‘NSCParameterAssert’
  287 |         NSCParameterAssert(state != NULL);
      |         ^~~~~~~~~~~~~~~~~~
src/Core/OOOpenGLStateManager.m: In function ‘SwitchOpenGLStateInternal’:
src/Core/OOOpenGLStateManager.m:406:40: warning: ‘nonnull’ argument ‘sourceState’ compared to NULL [-Wnonnull-compare]
  406 |         NSCParameterAssert(sourceState != NULL && targetState != NULL);
      |                                        ^
/usr/include/GNUstep/Foundation/NSException.h:469:11: note: in definition of macro ‘NSCAssert’
  469 |     if (!(condition)) {                                         \
      |           ^~~~~~~~~
src/Core/OOOpenGLStateManager.m:406:9: note: in expansion of macro ‘NSCParameterAssert’
  406 |         NSCParameterAssert(sourceState != NULL && targetState != NULL);
      |         ^~~~~~~~~~~~~~~~~~
src/Core/OOOpenGLStateManager.m:406:63: warning: ‘nonnull’ argument ‘targetState’ compared to NULL [-Wnonnull-compare]
  406 |         NSCParameterAssert(sourceState != NULL && targetState != NULL);
      |                                                               ^
/usr/include/GNUstep/Foundation/NSException.h:469:11: note: in definition of macro ‘NSCAssert’
  469 |     if (!(condition)) {                                         \
      |           ^~~~~~~~~
src/Core/OOOpenGLStateManager.m:406:9: note: in expansion of macro ‘NSCParameterAssert’
  406 |         NSCParameterAssert(sourceState != NULL && targetState != NULL);
      |         ^~~~~~~~~~~~~~~~~~
 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 ...
src/Core/OOPolygonSprite.m: In function ‘-[OOPolygonSprite loadPolygons:outlineWidth:]’:
src/Core/OOPolygonSprite.m:286:58: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  286 |         gluTessCallback(tesselator, GLU_TESS_BEGIN_DATA, TessBeginCallback);
      |                                                          ^~~~~~~~~~~~~~~~~
      |                                                          |
      |                                                          void (*)(GLenum,  void *) {aka void (*)(unsigned int,  void *)}
In file included from /usr/include/SDL/SDL_opengl.h:51,
                 from src/Core/OOOpenGLOnly.h:58,
                 from src/Core/OOOpenGL.h:31,
                 from src/Core/OOPolygonSprite.h:33,
                 from src/Core/OOPolygonSprite.m:42:
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(GLenum,  void *)’ {aka ‘void (*)(unsigned int,  void *)’}
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:287:59: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  287 |         gluTessCallback(tesselator, GLU_TESS_VERTEX_DATA, TessVertexCallback);
      |                                                           ^~~~~~~~~~~~~~~~~~
      |                                                           |
      |                                                           void (*)(void *, void *)
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(void *, void *)’
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:288:56: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  288 |         gluTessCallback(tesselator, GLU_TESS_END_DATA, TessEndCallback);
      |                                                        ^~~~~~~~~~~~~~~
      |                                                        |
      |                                                        void (*)(void *)
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(void *)’
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:289:58: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  289 |         gluTessCallback(tesselator, GLU_TESS_ERROR_DATA, ErrorCallback);
      |                                                          ^~~~~~~~~~~~~
      |                                                          |
      |                                                          void (*)(GLenum,  void *) {aka void (*)(unsigned int,  void *)}
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(GLenum,  void *)’ {aka ‘void (*)(unsigned int,  void *)’}
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:290:60: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  290 |         gluTessCallback(tesselator, GLU_TESS_COMBINE_DATA, TessCombineCallback);
      |                                                            ^~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            void (*)(GLdouble *, void **, GLfloat *, void **, void *) {aka void (*)(double *, void **, float *, void **, void *)}
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(GLdouble *, void **, GLfloat *, void **, void *)’ {aka ‘void (*)(double *, void **, float *, void **, void *)’}
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:354:58: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  354 |         gluTessCallback(tesselator, GLU_TESS_BEGIN_DATA, TessBeginCallback);
      |                                                          ^~~~~~~~~~~~~~~~~
      |                                                          |
      |                                                          void (*)(GLenum,  void *) {aka void (*)(unsigned int,  void *)}
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(GLenum,  void *)’ {aka ‘void (*)(unsigned int,  void *)’}
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:355:59: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  355 |         gluTessCallback(tesselator, GLU_TESS_VERTEX_DATA, TessVertexCallback);
      |                                                           ^~~~~~~~~~~~~~~~~~
      |                                                           |
      |                                                           void (*)(void *, void *)
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(void *, void *)’
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:356:56: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  356 |         gluTessCallback(tesselator, GLU_TESS_END_DATA, TessEndCallback);
      |                                                        ^~~~~~~~~~~~~~~
      |                                                        |
      |                                                        void (*)(void *)
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(void *)’
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:357:58: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  357 |         gluTessCallback(tesselator, GLU_TESS_ERROR_DATA, ErrorCallback);
      |                                                          ^~~~~~~~~~~~~
      |                                                          |
      |                                                          void (*)(GLenum,  void *) {aka void (*)(unsigned int,  void *)}
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(GLenum,  void *)’ {aka ‘void (*)(unsigned int,  void *)’}
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
src/Core/OOPolygonSprite.m:358:60: warning: passing argument 3 of ‘gluTessCallback’ from incompatible pointer type [-Wincompatible-pointer-types]
  358 |         gluTessCallback(tesselator, GLU_TESS_COMBINE_DATA, TessCombineCallback);
      |                                                            ^~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            void (*)(GLdouble *, void **, GLfloat *, void **, void *) {aka void (*)(double *, void **, float *, void **, void *)}
/usr/include/GL/glu.h:336:87: note: expected ‘_GLUfuncptr’ {aka ‘void (*)(void)’} but argument is of type ‘void (*)(GLdouble *, void **, GLfloat *, void **, void *)’ {aka ‘void (*)(double *, void **, float *, void **, void *)’}
  336 | GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
      |                                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
 Compiling file src/Core/OOHPVector.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 ...
src/Core/Octree.m: In function ‘-[OOOctreeBuilder suppressClangStuff]’:
src/Core/Octree.m:969:16: warning: the comparison will always evaluate as ‘true’ for the address of ‘_stateStack’ will never be NULL [-Waddress]
  969 |         return &_stateStack && 0;
      |                ^
In file included from src/Core/Octree.m:25:
src/Core/Octree.h:101:49: note: ‘_stateStack’ declared here
  101 |         }                                       _stateStack[kMaxOctreeDepth + 1];
      |                                                 ^~~~~~~~~~~
 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/OOCheckJSSyntaxVerifierStage.m ...
 Compiling file src/Core/OXPVerifier/OOCheckPListSyntaxVerifierStage.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 ...
 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/OOOXZManager.m ...
 Compiling file src/Core/OOPListParsing.m ...
 Compiling file src/Core/OOSystemDescriptionManager.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/OOJSExhaustPlume.m ...
 Compiling file src/Core/Scripting/OOJSFlasher.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/OOJSGuiScreenKeyDefinition.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/OOJSPopulatorDefinition.m ...
 Compiling file src/Core/Scripting/OOJSQuaternion.m ...
 Compiling file src/Core/Scripting/OOJSScript.m ...
 Compiling file src/Core/Scripting/OOJSShip.m ...
 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/OOJSWormhole.m ...
 Compiling file src/Core/Scripting/OOJSWaypoint.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/OOOpenALController.m ...
 Compiling file src/Core/OOMusicController.m ...
 Compiling file src/Core/OOSoundSource.m ...
 Compiling file src/Core/OOSoundSourcePool.m ...
 Compiling file src/Core/OOALMusic.m ...
 Compiling file src/Core/OOALSound.m ...
 Compiling file src/Core/OOALSoundChannel.m ...
 Compiling file src/Core/OOALSoundMixer.m ...
 Compiling file src/Core/OOALSoundDecoder.m ...
 Compiling file src/Core/OOALBufferedSound.m ...
 Compiling file src/Core/OOALStreamedSound.m ...
 Compiling file src/Core/GuiDisplayGen.m ...
 Compiling file src/Core/HeadUpDisplay.m ...
In file included from src/Core/OOALSoundDecoder.m:31:
deps/Linux-deps/include/vorbis/vorbisfile.h:96:21: warning: ‘OV_CALLBACKS_STREAMONLY_NOCLOSE’ defined but not used [-Wunused-variable]
   96 | static ov_callbacks OV_CALLBACKS_STREAMONLY_NOCLOSE = {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deps/Linux-deps/include/vorbis/vorbisfile.h:89:21: warning: ‘OV_CALLBACKS_STREAMONLY’ defined but not used [-Wunused-variable]
   89 | static ov_callbacks OV_CALLBACKS_STREAMONLY = {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~
deps/Linux-deps/include/vorbis/vorbisfile.h:82:21: warning: ‘OV_CALLBACKS_NOCLOSE’ defined but not used [-Wunused-variable]
   82 | static ov_callbacks OV_CALLBACKS_NOCLOSE = {
      |                     ^~~~~~~~~~~~~~~~~~~~
 Compiling file src/Core/OOEncodingConverter.m ...
 Compiling file src/SDL/Comparison.m ...
 Compiling file src/Core/NSDataOOExtensions.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/Core/OOJoystickProfile.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/OOCommodities.m ...
 Compiling file src/Core/OOCommodityMarket.m ...
 Compiling file src/Core/OOEquipmentType.m ...
 Compiling file src/Core/OOMouseInteractionMode.m ...
 Compiling file src/Core/OORoleSet.m ...
 Compiling file src/Core/OOShipLibraryDescriptions.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 ...
 Linking objc_program oolite ...
/usr/bin/ld: cannot find -lpng: No such file or directory
collect2: error: ld returned 1 exit status
make[4]: *** [/usr/share/GNUstep/Makefiles/Instance/objc.make:79: obj.spk/oolite] Error 1
make[3]: *** [/usr/share/GNUstep/Makefiles/Instance/objc.make:64: internal-objc_program-all_] Error 2
make[2]: *** [/usr/share/GNUstep/Makefiles/Master/rules.make:297: oolite.all.objc-program.variables] Error 2
make[1]: *** [/usr/share/GNUstep/Makefiles/Master/objc.make:36: internal-all] Error 2
make[1]: Leaving directory '/home/hmb/Downloads/Oolite/Source/oolite-1.91.0.7579-231219-e0738b6/oolite'
make: *** [Makefile:115: release] Error 2
My system is a desktop PC running Kali Linux.
User avatar
hiran
Theorethicist
Posts: 2056
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by hiran »

During compilation you see warnings. But when linking there is something:

Code: Select all

/usr/bin/ld: cannot find -lpng: No such file or directory 
collect2: error: ld returned 1 exit status
Could you list all the commands you ran since you opened the terminal?
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

hiran wrote: Fri Dec 22, 2023 3:26 pm
During compilation you see warnings. But when linking there is something:

Code: Select all

/usr/bin/ld: cannot find -lpng: No such file or directory 
collect2: error: ld returned 1 exit status
Could you list all the commands you ran since you opened the terminal?
I first did a git clone. Then I walked the steps as written in the README.md:

Code: Select all

cp .absolute_gitmodules .gitmodules
git submodule update --init
git checkout -- .gitmodules
source /usr/lib64/GNUstep/Makefiles/GNUstep.sh
make -f Makefile release -j$(nproc)
I had to change /usr/lib64/GNUstep/Makefiles/GNUstep.sh into /usr/share/GNUstep/Makefiles/GNUstep.sh to make it work.
Did I miss something?

Yes, the png libs. Now the compilation/make run was okay. But when I try to start Oolite it throws a segmentation fault. Oops... :( :( :(
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 664
Joined: Sat Aug 09, 2014 4:16 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Commander_X »

Cas Tell wrote: Fri Dec 22, 2023 3:33 pm
hiran wrote: Fri Dec 22, 2023 3:26 pm
During compilation you see warnings. But when linking there is something:

Code: Select all

/usr/bin/ld: cannot find -lpng: No such file or directory 
collect2: error: ld returned 1 exit status
[...]
I first did a git clone. Then I walked the steps as written in the README.md:

Code: Select all

cp .absolute_gitmodules .gitmodules
git submodule update --init
git checkout -- .gitmodules
source /usr/lib64/GNUstep/Makefiles/GNUstep.sh
make -f Makefile release -j$(nproc)
[...]
You should try compilling with the use_deps option (Oolite still depends on some old libraries, it's providing in its deps folder, e.g. that's why bringing libSDL 2.28.5 doesn't help, it needs 1.2.x; same with libpng):

Code: Select all

make -f Makefile release use_deps=yes -j$(nproc)
You might need to make sure you run make_so_links.sh script in your deps/Linux-deps/x86_64/lib_linker folder (some .so symbolic links should appear in the folder after running it).
Also, at runtime, you should make sure you're feeding these dependencies using LD_LIBRARY_PATH. E.g. create a lib folder under oolite.app folder, copy the files from deps/Linux-deps/x86_64/lib folder, then:

Code: Select all

cd oolite.app
LD_LIBRARY_PATH=./lib ./oolite
Hope this helps.
User avatar
hiran
Theorethicist
Posts: 2056
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by hiran »

Commander_X wrote: Fri Dec 22, 2023 9:14 pm
You should try compilling with the use_deps option (Oolite still depends on some old libraries, it's providing in its deps folder, e.g. that's why bringing libSDL 2.28.5 doesn't help, it needs 1.2.x; same with libpng):

Code: Select all

make -f Makefile release use_deps=yes -j$(nproc)
You might need to make sure you run make_so_links.sh script in your deps/Linux-deps/x86_64/lib_linker folder (some .so symbolic links should appear in the folder after running it).
Currently we are not building like this on Github. Should it be added there as well?
Commander_X wrote: Fri Dec 22, 2023 9:14 pm
Also, at runtime, you should make sure you're feeding these dependencies using LD_LIBRARY_PATH. E.g. create a lib folder under oolite.app folder, copy the files from deps/Linux-deps/x86_64/lib folder, then:

Code: Select all

cd oolite.app
LD_LIBRARY_PATH=./lib ./oolite
Hope this helps.
I believe this is done by one of the two wrapper scripts. Yet to be confirmed once we add the use_deps=yes...
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

Commander_X wrote: Fri Dec 22, 2023 9:14 pm
You should try compilling with the use_deps option (Oolite still depends on some old libraries, it's providing in its deps folder, e.g. that's why bringing libSDL 2.28.5 doesn't help, it needs 1.2.x; same with libpng):

Code: Select all

make -f Makefile release use_deps=yes -j$(nproc)
You might need to make sure you run make_so_links.sh script in your deps/Linux-deps/x86_64/lib_linker folder (some .so symbolic links should appear in the folder after running it).
Also, at runtime, you should make sure you're feeding these dependencies using LD_LIBRARY_PATH. E.g. create a lib folder under oolite.app folder, copy the files from deps/Linux-deps/x86_64/lib folder, then:

Code: Select all

cd oolite.app
LD_LIBRARY_PATH=./lib ./oolite
Hope this helps.
This is where I get lost:
  • make_so_links.sh -> not on my system
  • deps/Linux-deps/x86_64/lib_linker -> doesn't exist here
  • LD_LIBRARY_PATH -> That's an environment variable, right? So why step into oolite.app to create it?
Status as of now:

Code: Select all

┌──(hmb㉿HP-ProDesk)-[~/…/Oolite/Source/oolite-1.91.0.7579-231219-e0738b6/oolite]
└─$ /home/hmb/GNUstep/Applications/Oolite/oolite &
[1] 14562
                                                                                                                     
./oolite.app/oolite: /home/hmb/GNUstep/Applications/Oolite/oolite-deps/lib/libz.so.1: \
version `ZLIB_1.2.9' not found (required by /lib/x86_64-linux-gnu/libpng16.so.16)

Erk. It looks like Oolite died with an error. When making an error
report, please copy + paste the log above into the report.
Of course, I've installed a bunch of zlib stuff, including dev libs. But to no avail.

Any chance to resolve the situation? Unfortunately, I have only basic knowledge with respect to programming, I'm unfamiliar with projects of this size and such specialties like GNUstep, never heard of this before I got to Oolite.

Moreover, I have only this day to solve all this because I'll be away from this pertinent computer for quite some time. So maybe I have to start a whole new attempt in some weeks or so. Maybe you guys work on these issues in the meantime 8) Would be great!

Thanks for your support and your continuous work on Oolite!
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 664
Joined: Sat Aug 09, 2014 4:16 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Commander_X »

hiran wrote: Fri Dec 22, 2023 11:43 pm
[...]
Currently we are not building like this on Github. Should it be added there as well?
Hmm, this beats me. If you're targeting the builds to the very latest and greatest an apt-get or yum/dnf system will bring to the table, then, no. If you still wanted to keep some backwards compatibility to older versions, I'd guess, yes.
FYI, when I try to "run" OoliteInstall-1.91.0.7579-231219-e0738b6-linux-x86_64.run (i.e. I just untared, brought in the libs, and tried to run by the LD_LIBRARY_PATH receipt) on my Slackware64 15.0, i get

Code: Select all

$ LD_LIBRARY_PATH=./lib ./oolite
./oolite: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./oolite)
My libc is version 2.33, and obviously, latest and greatest would be available only if I switched to "current" (not on the roadmap at this time).
Luckily, I can still compile the product myself, and it's not a big deal here.
hiran wrote: Fri Dec 22, 2023 11:43 pm
[...]

I believe this is done by one of the two wrapper scripts. Yet to be confirmed once we add the use_deps=yes...
That's only done when you install from the distribution (i.e. the *.run file; that is, setup is the one that creates the wrappers). When compiling from source you have to deal with this on your own.
Cas Tell wrote: Sat Dec 23, 2023 9:25 am
[...]
This is where I get lost:
  • make_so_links.sh -> not on my system
  • deps/Linux-deps/x86_64/lib_linker -> doesn't exist here
These are very likely coming from any issues you encountered when running

Code: Select all

git submodule update --init
from your reported steps.
That command should've brought you a deps folder populated with some sub-folders, one of them being Linux-deps. You can take a look here to see what should come your way.
Cas Tell wrote: Sat Dec 23, 2023 9:25 am
[...]
  • LD_LIBRARY_PATH -> That's an environment variable, right? So why step into oolite.app to create it?
[...]
That's correct, LD_LIBRARY_PATH is an environment variable. You can create its target anywhere you want (that's why I prefixed with "E.g." the whole advice. There are several things you should keep in mind, though:
- if you export LD_LIBRARY_PATH, it will become the norm/canon for your whole shell session; setting it in the command line as I recommended will only make it available for the app started this way (i.e. ./oolite)
- of course, if you create the target folder for the environment variable in an exotic place (e.g. /opt/my.favorite.folder, or /usr/local/my.more.favorite.folder), you'll need to use its fully qualified filesystem name (or a very carefully crafted relative filesystem name).
Cas Tell wrote: Sat Dec 23, 2023 9:25 am
Status as of now:

Code: Select all

┌──(hmb㉿HP-ProDesk)-[~/…/Oolite/Source/oolite-1.91.0.7579-231219-e0738b6/oolite]
└─$ /home/hmb/GNUstep/Applications/Oolite/oolite &
[1] 14562
                                                                                                                     
./oolite.app/oolite: /home/hmb/GNUstep/Applications/Oolite/oolite-deps/lib/libz.so.1: \
version `ZLIB_1.2.9' not found (required by /lib/x86_64-linux-gnu/libpng16.so.16)

Erk. It looks like Oolite died with an error. When making an error
report, please copy + paste the log above into the report.
Of course, I've installed a bunch of zlib stuff, including dev libs. But to no avail.

Any chance to resolve the situation? Unfortunately, I have only basic knowledge with respect to programming, I'm unfamiliar with projects of this size and such specialties like GNUstep, never heard of this before I got to Oolite.

Moreover, I have only this day to solve all this because I'll be away from this pertinent computer for quite some time. So maybe I have to start a whole new attempt in some weeks or so. Maybe you guys work on these issues in the meantime 8) Would be great!

Thanks for your support and your continuous work on Oolite!
This looks very much like the same "deps" issue. You definitely shouldn't have your Oolite compiled with libpng16, but with the one in your deps folder (libpng14.so.14).
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

Thank you all for your efforts, esp. to Commander_X for the latest reply!
I'm quite sure that I now have promising information at hand to continue working on the problem. At the most part I understand now what the next steps have to be but as I told you, I'm on vacation as of today and the problematic computer isn't portable :x
But I will continue problem-solving immediately on my return, maybe in about three weeks or so, don't know exactly yet.
What I can do in the meantime is to replicate the necessary steps to self-compile Oolite on another computer which has never seen Oolite before. I'm already curious about the outcome!
User avatar
hiran
Theorethicist
Posts: 2056
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by hiran »

Not yet merged into master therefore no easily accessible prerelease. But in this job
https://github.com/OoliteProject/oolite ... 7314423465
we have now the double amount of linux builds as I added the use_deps=<yes|no>.

If you can, please help verify if these builds work better on your/the problematic systems.
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

hiran wrote: Sun Dec 24, 2023 12:48 pm
Not yet merged into master therefore no easily accessible prerelease. But in this job
https://github.com/OoliteProject/oolite ... 7314423465
we have now the double amount of linux builds as I added the use_deps=<yes|no>.

If you can, please help verify if these builds work better on your/the problematic systems.
I'll be glad to help if possible!
User avatar
hiran
Theorethicist
Posts: 2056
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by hiran »

Cas Tell wrote: Sun Dec 24, 2023 4:12 pm
hiran wrote: Sun Dec 24, 2023 12:48 pm
Not yet merged into master therefore no easily accessible prerelease. But in this job
https://github.com/OoliteProject/oolite ... 7314423465
we have now the double amount of linux builds as I added the use_deps=<yes|no>.

If you can, please help verify if these builds work better on your/the problematic systems.
I'll be glad to help if possible!
Sounds good. :-)

First things first:
Can you access that build's artifacts?
Do you have a github account?
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

Yes, I have a github account. I'm in Germany, 23:08 here. I'll test this tomorrow and give a report.
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

hiran wrote: Sun Dec 24, 2023 9:24 pm
Sounds good. :-)

First things first:
Can you access that build's artifacts?
Do you have a github account?
So, after a lot of work I now have a fresh Kali Linux computer with an equally fresh setup, pretty much standard.
I've tried the link to the artifacts (whatever this is exactly) and at least I can see them.
I'm not an experienced git user, I have tried to learn the basics and played with it for several weeks, that's all. Artifacts are new to me. So, expect that some help is necessary from your side :) to get me through this.
I did not try to git clone or do other installation methods of Oolite to keep the system clean for out project at hand.
Looking forward to do the next steps!
User avatar
hiran
Theorethicist
Posts: 2056
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by hiran »

Cas Tell wrote: Mon Dec 25, 2023 9:09 am
So, after a lot of work I now have a fresh Kali Linux computer with an equally fresh setup, pretty much standard.
I've tried the link to the artifacts (whatever this is exactly) and at least I can see them.
I'm not an experienced git user, I have tried to learn the basics and played with it for several weeks, that's all. Artifacts are new to me. So, expect that some help is necessary from your side :) to get me through this.
I did not try to git clone or do other installation methods of Oolite to keep the system clean for out project at hand.
Looking forward to do the next steps!
Well done. It was wise to not make that system a full blown development machine - we will not need that.
To not dilute this thread with detail information I posted how to access Github Artifacts here: https://bb.oolite.space/viewtopic.php?f=3&t=21539
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

I have tried to use all the information I've understood so far. Here's the latest protocol:

Code: Select all

0) git clone

mkdir ~/Oolite-Clone/

git clone https://github.com/OoliteProject/oolite.git

1) Install these:

apt -y install git gobjc gnustep-devel make libsdl1.2-dev libvorbis-dev \
libopenal-dev g++ libespeak-dev libnspr4-dev

2) In the Oolite Project

cd ~/Oolite-Clone/oolite

cp .absolute_gitmodules .gitmodules # Done!
git submodule update --init         # Done!
git checkout -- .gitmodules         # Done!

3) Compile

source /usr/share/GNUstep/Makefiles/GNUstep.sh # Done!

4)

cd deps/Linux-deps/x86_64/lib_linker
./make_so_links.sh

mkdir .../oolite.app/lib

Copy all the new symlinks as well as the libs
to .../oolite.app/lib. The links must reside together with the libs
in the same directory, otherwise they're broken.

5) Make

With deps (recommended):
make -f Makefile release use_deps=yes -j$(nproc) # Done!

6) Start script:

#!/usr/bin/bash
LD_LIBRARY_PATH=./lib ./oolite
./oolite

RESULT:

./oolite: symbol lookup error: /lib/libgnustep-base.so.1.29: undefined symbol: gnutls_x509_crt_get_issuer_dn3, version GNUTLS_3_4
./oolite: error while loading shared libraries: libpng14.so.14: cannot open shared object file: No such file or directory

Additional information:

Contents of oolite.app/lib:

┌──(hmb㉿KaliMini)-[~/Oolite-Clone/oolite/oolite.app/lib]
└─$ ls -l
total 10292
-rwxr-xr-x 1 hmb hmb  444456 Dec 26 18:54 libSDL-1.2.so.0
lrwxrwxrwx 1 hmb hmb      22 Dec 26 20:21 libSDL.so -> ../lib/libSDL-1.2.so.0
lrwxrwxrwx 1 hmb hmb      21 Dec 26 20:21 libespeak.so -> ../lib/libespeak.so.1
-rwxr-xr-x 1 hmb hmb  231520 Dec 26 18:54 libespeak.so.1
-rwxr-xr-x 1 hmb hmb  231648 Dec 26 18:54 libespeak.so.1.pulseaudio
-rwxr-xr-x 1 hmb hmb   31720 Dec 26 18:54 libffi.so.4
-rwxr-xr-x 1 hmb hmb  831384 Dec 26 18:54 libgcrypt.so.20
-rwxr-xr-x 1 hmb hmb  511480 Dec 26 18:54 libgmp.so.10
-rwxr-xr-x 1 hmb hmb 5059592 Dec 26 18:54 libgnustep-base.so.1.20
-rwxr-xr-x 1 hmb hmb 1215312 Dec 26 18:54 libgnutls.so.30
-rwxr-xr-x 1 hmb hmb   73624 Dec 26 18:54 libgpg-error.so.0
-rwxr-xr-x 1 hmb hmb  216512 Dec 26 18:54 libhogweed.so.4
-rwxr-xr-x 1 hmb hmb  227456 Dec 26 18:54 libnettle.so.6
-rw-r--r-- 1 hmb hmb   93080 Dec 26 18:54 libnsl.so.1
-rw-r--r-- 1 hmb hmb  231672 Dec 26 18:54 libnspr4.so.0d
-rwxr-xr-x 1 hmb hmb  108768 Dec 26 18:54 libobjc.so.2
lrwxrwxrwx 1 hmb hmb      18 Dec 26 20:21 libogg.so -> ../lib/libogg.so.0
-rwxr-xr-x 1 hmb hmb   23416 Dec 26 18:54 libogg.so.0
lrwxrwxrwx 1 hmb hmb      21 Dec 26 20:21 libopenal.so -> ../lib/libopenal.so.1
-rw-r--r-- 1 hmb hmb  336568 Dec 26 18:54 libopenal.so.1
-rw-r--r-- 1 hmb hmb   16168 Dec 26 18:54 libplc4.so.0d
-rw-r--r-- 1 hmb hmb   11960 Dec 26 18:54 libplds4.so.0d
lrwxrwxrwx 1 hmb hmb      21 Dec 26 20:21 libpng.so -> ../lib/libpng14.so.14
-rwxr-xr-x 1 hmb hmb  148840 Dec 26 18:54 libpng14.so.14
-rwxr-xr-x 1 hmb hmb  153504 Dec 26 18:54 libportaudio.so.2
lrwxrwxrwx 1 hmb hmb      21 Dec 26 20:21 libvorbis.so -> ../lib/libvorbis.so.0
-rwxr-xr-x 1 hmb hmb  178992 Dec 26 18:54 libvorbis.so.0
lrwxrwxrwx 1 hmb hmb      25 Dec 26 20:21 libvorbisfile.so -> ../lib/libvorbisfile.so.3
-rwxr-xr-x 1 hmb hmb   34200 Dec 26 18:54 libvorbisfile.so.3
lrwxrwxrwx 1 hmb hmb      16 Dec 26 20:21 libz.so -> ../lib/libz.so.1
-rwxr-xr-x 1 hmb hmb   90656 Dec 26 18:54 libz.so.1
I assume that there are only two links missing which have not been set (correctly), but it's too late too work any further this evening. Will go back to work tomorrow!
Post Reply