Diary of an insane man

Diary of an insane man

Discuss everything related to compiling and running Spring on Mac OS X.

Moderator: Moderators

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Diary of an insane man

Post by MasterBel » 21 Feb 2019, 09:08

Who endlessly tries to get Spring running on Mac, even though he has no idea what he's doing. You've all heard from me before. So, hi! I'm MasterBel2, and I'm …
about to try to compile the engine again.
… don't mind me.
5 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 21 Feb 2019, 09:12

They say the definition of insanity is trying the same thing over and over again and expecting different results.

They could say I'm technically not insane, because…

Ooh! It found boost! But now it's breaking on CuircuitAI! Yay!

Code: Select all

-- Boost version: 1.66.0
-- Found the following Boost libraries:
--   thread
--   regex
--   program_options
--   system
--   chrono
--   signals
--   filesystem
--   date_time
--   atomic
-- Boost version: 1.66.0
-- Found the following Boost libraries:
--   timer
--   chrono
--   system

…

CMake Error at AI/Skirmish/CircuitAI/CMakeLists.txt:35 (configure_native_skirmish_ai):
  Unknown CMake command "configure_native_skirmish_ai".
Interesting thing is that all of the AIs call this, and so by logical conclusion… I have absolutely no idea what's going on. Will continue to dig into this further.

Is there a way to compile without AIs?
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: [Breakthrough!!!] Diary of an insane man

Post by MasterBel » 21 Feb 2019, 09:36

So it turns out if there are no AIs to for cmake to configure, you don't have to worry about compiling them! Deleted everything but the CMakeLists.txt in the AI/Skirmish directory.

Now I get this…

Code: Select all

/Users/masterbel2/Spring/Sources/spring/rts/System/FileSystem/Archives/SevenZipArchive.cpp: In constructor 'CSevenZipArchive::CSevenZipArchive(const string&)':
/Users/masterbel2/Spring/Sources/spring/rts/System/FileSystem/Archives/SevenZipArchive.cpp:129:52: error: 'get_system_category' is not a member of 'boost::system'
   boost::system::error_code e(wres, boost::system::get_system_category());
                                                    ^~~~~~~~~~~~~~~~~~~
/Users/masterbel2/Spring/Sources/spring/rts/System/FileSystem/Archives/SevenZipArchive.cpp:129:52: note: suggested alternative: 'system_category'
   boost::system::error_code e(wres, boost::system::get_system_category());
                                                    ^~~~~~~~~~~~~~~~~~~
                                                    system_category
I'm using Boost 1.66.0 and it exists there. I think. https://www.boost.org/doc/libs/1_66_0/d ... egory.html

… because I keep changing things. It just gets worse all the time. Even compiling the same things. So maybe my trajectory will change if I stop changing things…
1 x

hokomoko
Spring Developer
Posts: 572
Joined: 02 Jun 2014, 00:46

Re: Diary of an insane man

Post by hokomoko » 21 Feb 2019, 09:51

What branch are you trying to compile?
Boost is no longer used in the engine...
2 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 21 Feb 2019, 11:27

Sorry, I thought I specified. I'm going back to 103 because I know that engine compiles and runs on Mac.
1 x

User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10184
Joined: 24 Jan 2006, 21:12

Re: Diary of an insane man

Post by PicassoCT » 21 Feb 2019, 20:48

Spring Mac, that sounds like a burger, made from the tiger from winny the poo.
2 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 21 Feb 2019, 20:52

Awesome, turned out to be a simple fix. replace "get_system_category" with "system_category" (in just that file, too!). Apparently "get_system_category" is deprecated since boost 1.57.0 (iirc. And it was removed after 1.68.0, which is the version I'm using.), I wonder if that has anything to do with it.

Problem here seems to be that it can't find non_blocking_io. Hmm. I wonder if it's also deprecated. Oh, look, it's even been removed! This is what I get for trying to use a new Boost with an old engine, I guess. Oops.

I hope this will be another simple find/replace for non_blocking_io -> non_blocking… (edit: But it wasn't actually. I must have misread something)

Code: Select all

/Users/masterbel2/Spring/Sources/spring/rts/System/Net/UDPListener.cpp: In constructor 'netcode::UDPListener::UDPListener(int, const string&)':
/Users/masterbel2/Spring/Sources/spring/rts/System/Net/UDPListener.cpp:37:29: error: 'non_blocking_io' is not a member of 'boost::asio::socket_base'
   boost::asio::socket_base::non_blocking_io socketCommand(true);
                             ^~~~~~~~~~~~~~~
/Users/masterbel2/Spring/Sources/spring/rts/System/Net/UDPListener.cpp:38:22: error: 'socketCommand' was not declared in this scope
   socket->io_control(socketCommand);
                      ^~~~~~~~~~~~~
/Users/masterbel2/Spring/Sources/spring/rts/System/Net/UDPListener.cpp:38:22: note: suggested alternative: 'socketpair'
   socket->io_control(socketCommand);
                      ^~~~~~~~~~~~~
                      socketpair
Edit #2: yes I did misread something, fix was simple.
Replace

Code: Select all

boost::asio::socket_base::non_blocking_io socketCommand(true);
		socket->io_control(socketCommand);
with

Code: Select all

 socket->non_blocking(true)
Change must occur in rts/System/Net/UDPListener.cpp, rts/Net/AutohostInterface.cpp

Next error is… heh. Sure you want to see it?

Code: Select all

In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers/glu.h:8,
                 from /Users/masterbel2/Spring/Sources/spring/rts/lib/headlessStubs/glewstub.h:17,
                 from /Users/masterbel2/Spring/Sources/spring/rts/lib/headlessStubs/glewstub.c:7:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h: In function 'glAccum':
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2381:48: error: expected declaration specifiers before 'API_DEPRECATED'
 extern void glAccum (GLenum op, GLfloat value) OPENGL_DEPRECATED(10.0, 10.14);
                                                ^~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2382:53: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'API_DEPRECATED'
 extern void glAlphaFunc (GLenum func, GLclampf ref) OPENGL_DEPRECATED(10.0, 10.14);
                                                     ^~~~~~~~~~~~~~~~~
… and so on. I couldn't paste the whole thing because of this:
Image
Attachments
Screen Shot 2019-02-22 at 6.16.19 am.png
(23.53 KiB) Not downloaded yet
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 21 Feb 2019, 21:47

I don't like this solution, but I set the includes in /Users/masterbel2/Spring/Sources/spring/rts/lib/headlessStubs/glewstub.h to point to GL not OpenGL:

Code: Select all

#if defined(__APPLE__)
	#include <GL/glu.h>
	#include <GL/glext.h>
Afaik this it's supposed to be OpenGL but hey, compile's made it to 70%! We'll see where this takes us.
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 21 Feb 2019, 22:02

Compiled!

Image

Obviously, it doesn't work.

Image

Image
Attachments
Screen Shot 2019-02-22 at 7.02.11 am.png
Screen Shot 2019-02-22 at 7.02.11 am.png (14.61 KiB) Viewed 1463 times
Screen Shot 2019-02-22 at 7.00.09 am.png
(4.87 MiB) Not downloaded yet
Screen Shot 2019-02-22 at 6.58.57 am.png
(6.49 MiB) Not downloaded yet
2 x

User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10184
Joined: 24 Jan 2006, 21:12

Re: Diary of an insane man

Post by PicassoCT » 21 Feb 2019, 22:35

It looks l ike its working. Oh- i get it, its a apple thing. If its not 100 % bug-free and polished, its not "working".

Well, spring might never work on your system- we beeing able to generate bugs faster then you can fix them :D

Congrats
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 21 Feb 2019, 22:44

Swapped out 103.0 with devlop branch, built first time. (Yay!!)

So. Log for running 104.0.1-1478-g0cb745d develop is attached. This is because it's still trying to create a compatability context, and I know how to get around it. Will edit this posts with instructions later. But for now, just the log.
infolog.txt
(7.15 KiB) Downloaded 3 times
1 x

User avatar
ivand
Posts: 127
Joined: 27 Jun 2007, 17:05

Re: Diary of an insane man

Post by ivand » 22 Feb 2019, 03:28

Unless you want to develop on the develop branch, it's likely not useful for your purposes.
Only the "maintenance" branch can be used to play the current generation of games (ZK, BA, FA, you name it).
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 22 Feb 2019, 06:59

ivand wrote:
22 Feb 2019, 03:28
Unless you want to develop on the develop branch, it's likely not useful for your purposes.
Only the "maintenance" branch can be used to play the current generation of games (ZK, BA, FA, you name it).
That's the idea.
Current maintenance branch will never run on Mac, because it uses OpenGL 3.1 compataibility context. If I have to learn OpenGL programming in the process of this, then so be it. But it is my stated mission to ensure there will be nothing preventing Spring 105 from running on Mac, like there is with Spring 104.
3 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 22 Feb 2019, 09:45

PicassoCT wrote:
21 Feb 2019, 22:35
Congrats
Thanks :D
(The "not working" was a joke. I'm bad at jokes. Yet still I try. Oops.)

First step to getting the engine actually properly running:

Change (line 39)

Code: Select all

CONFIG(int, ForceCoreContext).defaultValue(0).minimumValue(0).maximumValue(1);
To:

Code: Select all

CONFIG(int, ForceCoreContext).defaultValue(1).minimumValue(0).maximumValue(1);
I think?? This could also be changed in ~/.config/spring/springsettings.cfg, but I haven't tested it. (or would it be the springsettings.cfg contained in the same folder as the executable, since it hasn't been bundled? hmm…)

And then…
Ouch. It actually tried to load.
No segfault.
No nothing.
Oh, wait.

Code: Select all

Error: [ExitSpringProcess] errorMsg="OpenGL extension "GLEW_ARB_pixel_buffer_object" not supported, aborting" msgCaption="Spring: caught unsupported_error: " mainThread=1
Ha. Gotcha. Now I gonna try commenting out lines 640-699 (all the lines starting with "CHECK_REQ_EXT" in globalrendering.cpp) so that it doesn't actually check any of the extensions. I hope this isn't a bad idea.

Edit: That was the fastest re-build ever. Oh, and:

Code: Select all

[CrashHandler] Error: Segmentation fault: 11 (SIGSEGV) in spring 104.0.1-1481-g5ac1bd4 develop
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 22 Feb 2019, 12:02

So I used lldb "thread backtrace" command to try to work out what's going on with the segfault.

Code: Select all

(lldb) run spring
Process 77980 launched: '/Users/masterbel2/Spring/Builds/spring/spring' (x86_64)
Using writeable configuration source: "/Users/masterbel2/Spring/Builds/spring/springsettings.cfg"
Using additional read-only configuration source: "/Users/masterbel2/.config/spring/springsettings.cfg"
LogOutput initialized. Logging to /Users/masterbel2/Spring/Builds/spring/infolog.txt
============== <Log Sections> ==============
  Available:
    ArchiveScanner
    AutohostInterface
    BumpWater
    CSMFGroundTextures
    CrashHandler
    CregSerializer
    DecalsDrawerGL4
    FarTextureHandler
    Font
    GameServer
    GroundMoveType
    KeyBindings
    LuaSocket
    Model
    Net
    Path
    Piece
    RoamMeshDrawer
    Shader
    SkyBox
    Sound
    Texture
    VFS
  Enabled:
    Sound (Notice)
  
  Enable or disable log sections using the LogSections configuration key
  or the SPRING_LOG_SECTIONS environment variable (both comma separated).
  Use "none" to disable the default log sections.
============== </Log Sections> ==============

============== <User Config> ==============
  AllowDeferredMapRendering = 1
  AllowDeferredModelRendering = 1
  CamMode = 5
  FontFile = /Users/masterbel2/Spring/Sources/spring/cont/fonts/FreeSansBold.otf
  GrassDetail = 0
  GroundDecals = 0
  HardwareCursor = 1
  InputTextGeo = 0.26 0.73 0.02 0.028
  LastSelectedMap = DeltaSiegeDry
  LastSelectedMod = Balanced Annihilation V10.11
  LastSelectedScript = Player vs. AI: NullAI 0.1
  MaxNanoParticles = 500
  MaxParticles = 5000
  ScreenshotCounter = 2
  ScrollWheelSpeed = -25
  ShadowMapSize = 1024
  Shadows = 0
  ShowFPS = 1
  ShowPlayerInfo = 0
  ShowSpeed = 1
  SimpleMiniMapColors = 1
  SmallFontFile = /Users/masterbel2/Spring/Sources/spring/cont/fonts/FreeSansBold.otf
  SpringData = /Users/masterbel2/Spring/Builds/spring:/Users/masterbel2/Spring/Sources/spring/cont
  TreeRadius = 600
  UnitIconDist = 10000
  VSync = -1
  Water = 0
  WindowBorderless = 1
  WindowPosX = 0
  WindowPosY = 0
  XResolution = 1920
  XResolutionWindowed = 1920
  YResolution = 1080
  YResolutionWindowed = 1009
  snd_volmaster = 24
============== </User Config> ==============

============== <User System> ==============
  Spring Engine Version: 104.0.1-1482-ga967f0c develop
      Build Environment: gcc libstdc++ version 20180726
       Compiler Version: gcc-8.2.0
       Operating System: Darwin 18.2.0 Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64 (x86_64)
        Hardware Config: 
       Binary Word Size: 64-bit (native)
          Process Clock: std::chrono::high_resolution_clock
     Physical CPU Cores: 1
      Logical CPU Cores: 4
============== </User System> ==============

[good_fpu_init] CPU SSE mask: 127, flags:
	SSE 1.0:  1,  SSE 2.0:  1
	SSE 3.0:  1, SSSE 3.0:  1
	SSE 4.1:  1,  SSE 4.2:  1
	SSE 4.0A: 0,  SSE 5.0A: 0
	using streflop SSE FP-math mode, CPU supports SSE instructions
[WatchDog::Install] installed (hang-timeout: 10s)
[WatchDog::RegisterThread] registering controls for thread [main]
[GL::CheckAvailableVideoModes] desktop={1680x1050x32bpp@60Hz} current={1680x1050x32bpp@60Hz}
	display=1 modes=12 bounds={x=0, y=0, w=1680, h=1050}
		[ 1] 2880x1800x32bpp@60Hz
		[ 2] 2560x1600x32bpp@60Hz
		[ 3] 2048x1280x32bpp@60Hz
		[ 4] 1680x1050x32bpp@60Hz
		[ 6] 1440x900x32bpp@60Hz
		[ 7] 1280x800x32bpp@60Hz
		[ 8] 1152x720x32bpp@60Hz
2019-02-22 19:09:52.485961+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486021+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486063+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486104+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486143+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486184+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486735+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486785+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486828+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486871+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486912+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
2019-02-22 19:09:52.486953+1000 spring[77980:1010992] flock failed to lock maps file: errno = 35
[GR::CreateSDLWindow] using 0x anti-aliasing and 24-bit depth-buffer (PF="SDL_PIXELFORMAT_ARGB8888") for main window
[GR::CreateSDLWindow] using 0x anti-aliasing and 24-bit depth-buffer (PF="SDL_PIXELFORMAT_ARGB8888") for hidden window
[GR::LogVersionInfo]
	SDL version : 2.0.9 (linked) / 2.0.9 (compiled)
	GL version  : 4.1 INTEL-12.4.7
	GL vendor   : Intel Inc.
	GL renderer : Intel(R) Iris(TM) Plus Graphics 640
	GLSL version: 4.10
	GLEW version: 2.1.0
	GPU memory  : unknown
	SDL swap-int: 1
	
[GR::CheckGLExtensions] OpenGL extension "GLEW_ARB_multi_bind" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_ARB_program_interface_query" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_EXT_direct_state_access" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_ARB_invalidate_subdata" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_ARB_shader_storage_buffer_object" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_EXT_texture_compression_dxt1" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_EXT_texture_edge_clamp" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_ARB_texture_border_clamp" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_ARB_fragment_program" not supported, ignoring
[GR::CheckGLExtensions] OpenGL extension "GLEW_ARB_shading_language_100" not supported, ignoring
[GR::LogGLSupportInfo]
	FBO extension support     : 1
	NVX GPU mem-info support  : 0
	ATI GPU mem-info support  : 0
	NPOT-texture support      : 0 (0)
	texture query-LOD support : 1 (1)
	24-bit Z-buffer support   : 1 (-)
	primitive-restart support : 0 (0)
	clip-space control support: 0 (0)
	seamless cube-map support : 0 (0)
	frag-depth layout support : 0 (-)
	
	max. FBO samples             : 16
	max. texture size            : 16384
	max. texture anisotropy level: 16.000000
	max. vec4 varyings/attributes: 0/16
	max. draw-buffers            : 8
	max. rec. indices/vertices   : 150000/1048575
	max. uniform buffer-bindings : 75
	max. uniform block-size      : 64KB
	
	enable ATI-hacks : 0
	compress MIP-maps: 0
	
[GR::ToggleGLDebugOutput] OpenGL debug-context not installed (dbgErrors=0 dbgTraces=0)
Process 77980 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x0000000000000000
error: memory read failed for 0x0
Target 0: (spring) stopped.
(lldb) backtrace
error: 'backtrace' is not a valid command.
error: Unrecognized command 'backtrace'.
(lldb) thread backtrace
error: spring 0x02d198ab: adding range [0x100906002-0x10090601d) which has a base that is less than the function's low PC 0x100906080. Please file a bug and attach the file at the start of this error message
error: spring 0x02d198d1: adding range [0x100906002-0x10090601d) which has a base that is less than the function's low PC 0x100906080. Please file a bug and attach the file at the start of this error message
error: spring 0x02d198f7: adding range [0x100906002-0x100906007) which has a base that is less than the function's low PC 0x100906080. Please file a bug and attach the file at the start of this error message
error: spring 0x02d1991e: adding range [0x100906010-0x10090601d) which has a base that is less than the function's low PC 0x100906080. Please file a bug and attach the file at the start of this error message
error: spring 0x02d1994d: adding range [0x100906010-0x10090601d) which has a base that is less than the function's low PC 0x100906080. Please file a bug and attach the file at the start of this error message
error: spring 0x02d19985: adding range [0x100906010-0x10090601d) which has a base that is less than the function's low PC 0x100906080. Please file a bug and attach the file at the start of this error message
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000000000000
    frame #1: 0x00000001003307ec spring`VBO::New(this=0x00000001016ecd80, newSize=3145728, newUsage=35044, newData=0x0000000000000000) at VBO.cpp:133
    frame #2: 0x000000010032c2da spring`GL::RenderDataBuffer::Upload(this=0x00000001016ecd80, numElems=3145728, numIndcs=262144, numAttrs=1, rawElems=0x0000000000000000, rawIndcs=0x0000000000000000, rawAttrs=0x0000000100bb0440) at RenderDataBuffer.cpp:350
    frame #3: 0x000000010032d15e spring`GL::InitRenderBuffers() [inlined] void GL::RenderDataBuffer::TUpload<VA_TYPE_0, unsigned int, Shader::ShaderInput>(typedAttrs=<unavailable>, typedIndcs=<unavailable>, typedElems=<unavailable>, numAttrs=<unavailable>, numIndcs=<unavailable>, numElems=<unavailable>, this=<unavailable>) at RenderDataBuffer.hpp:301
    frame #4: 0x000000010032d135 spring`GL::InitRenderBuffers() [inlined] void GL::TRenderDataBuffer<VA_TYPE_0>::Setup<std::array<Shader::ShaderInput, 1ul> >(numIndcs=<unavailable>, numElems=<unavailable>, vaap=<unavailable>, rdbp=<unavailable>, this=<unavailable>)
    frame #5: 0x000000010032d111 spring`GL::InitRenderBuffers()
    frame #6: 0x000000010033db2e spring`CGlobalRendering::PostInit(this=0x00000001016ee640) at GlobalRendering.cpp:559
    frame #7: 0x00000001004573c9 spring`SpringApp::Init(this=0x00007ffeefbff8a0) at SpringApp.cpp:235
    frame #8: 0x00000001004578f2 spring`SpringApp::Run(this=0x00007ffeefbff8a0) at SpringApp.cpp:794
    frame #9: 0x000000010043fb20 spring`Run(argc=2, argv=0x00007ffeefbff998) at Main.cpp:43
    frame #10: 0x000000010090612c spring`main(argc=2, argv=0x00007ffeefbff998) at Main.cpp:94
    frame #11: 0x00007fff5e682ed9 libdyld.dylib`start + 1
    frame #12: 0x00007fff5e682ed9 libdyld.dylib`start + 1
Huh. So then I configured with -DCMAKE_BUILD_TYPE=Debug and I got a very different result.

Code: Select all

(lldb) run spring
Process 90960 launched: '/Users/masterbel2/Spring/Builds/spring/spring' (x86_64)
Process 90960 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001006717d6 spring`springproc::ExecCPUID(a=0x0000000000000000, b=0x00007ffeefbff3f4, c=0x00007ffeefbff3f8, d=0x00007ffeefbff3fc) at CpuID.cpp:50
   47  					"popq %%rbx"
   48  					: "=a" (*a), "=r" (*b), "=c" (*c), "=d" (*d)
   49  					: "0" (*a)
-> 50  				);
   51  			#else
   52  				__asm__ __volatile__(
   53  					"pushl %%ebx\n\t"
Target 0: (spring) stopped.
(lldb) thread backtrace
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x00000001006717d6 spring`springproc::ExecCPUID(a=0x0000000000000000, b=0x00007ffeefbff3f4, c=0x00007ffeefbff3f8, d=0x00007ffeefbff3fc) at CpuID.cpp:50
    frame #1: 0x0000000100671971 spring`springproc::CPUID::CPUID(this=0x0000000101e072a0) at CpuID.cpp:96
    frame #2: 0x0000000100672efb spring`Threading::GetPhysicalCpuCores() at Threading.cpp:209
    frame #3: 0x0000000100672d90 spring`Threading::DetectCores() at Threading.cpp:70
    frame #4: 0x0000000100587511 spring`Run(argc=2, argv=0x00007ffeefbff998) at Main.cpp:39
    frame #5: 0x000000010058773e spring`main(argc=2, argv=0x00007ffeefbff998) at Main.cpp:94
    frame #6: 0x00007fff5e682ed9 libdyld.dylib`start + 1
    frame #7: 0x00007fff5e682ed9 libdyld.dylib`start + 1
I strongly suggest now that the -DCMAKE_BUILD_TYPE=Debug causes problems…

Also, I went through commenting out lines as they threw an error, and these seem to be the function checks that crash spring:

Code: Select all

//    CHECK_REQ_EXT(GLEW_ARB_pixel_buffer_object); // 2.1 (PBO)
//    CHECK_REQ_EXT(GLEW_ARB_buffer_storage); // 4.4 (immutable storage)

//    CHECK_REQ_EXT(GLEW_ARB_texture_float); // 3.0 (FP{16,32} textures)
//    CHECK_REQ_EXT(GLEW_ARB_texture_non_power_of_two); // 2.0 (NPOT textures)
//    CHECK_REQ_EXT(GLEW_ARB_texture_rectangle) ; // 3.0 (rectangular textures)

//    CHECK_REQ_EXT(GLEW_ARB_depth_clamp); // 3.2

//    CHECK_REQ_EXT(GLEW_NV_primitive_restart); // 3.1

//    CHECK_REQ_EXT(GLEW_ARB_fragment_shader); // 1.5 (FS-GLSL; core in 2.0)
//    CHECK_REQ_EXT(GLEW_ARB_geometry_shader4); // GS v4 (GL3.2)
I haven't had time to properly research this yet.
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 22 Feb 2019, 12:57

@ivand:

Code: Select all

 Renderer: Intel(R) Iris(TM) Plus Graphics 640

 Vendor: Intel Inc.

 Memory: 1536 MB
 
Version: 4.1 INTEL-12.4.7
 

Device: MacBookPro14,1

 

Shading language version: 4.10



 


 

Max texture size: 16384 x 16384

 

Max vertex texture image units: 16

 

Max texture image units: 16

 

Max geometry texture units: 16

 

Max anisotropic filtering value: 16

 

Max viewport size: 16384 x 16384
 


Max Clip Distances: 8
 



Max samples: 16
 




 






Extensions: 45
 










GL_ARB_tessellation_shader

GL_APPLE_texture_range


GL_EXT_framebuffer_multisample_blit_scaled


GL_ARB_viewport_array


GL_ARB_gpu_shader_fp64


GL_ARB_explicit_attrib_location


GL_NV_texture_barrier


GL_ARB_separate_shader_objects


GL_ARB_texture_storage



GL_ARB_gpu_shader5



GL_ARB_texture_swizzle



GL_EXT_texture_compression_s3tc



GL_ARB_texture_cube_map_array



GL_ARB_blend_func_extended



GL_ARB_vertex_attrib_64bit



GL_EXT_texture_sRGB_decode



GL_ARB_texture_gather



GL_EXT_texture_filter_anisotropic



GL_APPLE_row_bytes




GL_ARB_transform_feedback2





GL_ARB_transform_feedback3





GL_ARB_draw_indirect





GL_ARB_texture_query_lod






GL_ARB_draw_buffers_blend






GL_ARB_sample_shading






GL_ARB_internalformat_query







GL_ARB_timer_query







GL_ARB_shader_subroutine







GL_ATI_texture_mirror_once








GL_EXT_debug_marker









GL_APPLE_rgb_422










GL_ARB_vertex_type_2_10_10_10_rev










GL_EXT_debug_label











GL_ARB_texture_buffer_object_rgb32












GL_ARB_instanced_arrays













GL_APPLE_container_object_shareable













GL_ARB_ES2_compatibility













GL_APPLE_client_storage













GL_ARB_sampler_objects













GL_ARB_occlusion_query2













GL_ARB_shading_language_include













GL_ARB_texture_rgb10_a2ui













GL_APPLE_object_purgeable













GL_ARB_shader_bit_encoding














GL_APPLE_flush_render















Core features


v3.0 (100 % - 23/23)


v3.1 (100 % - 8/8)


v3.2 (100 % - 10/10)



v3.3 (100 % - 10/10)




v4.0 (100 % - 14/14)





v4.1 (100 % - 7/7)






v4.2 (15 % - 2/13




)






v4.3 (0 % - 0/23)






v4.4 (0 % - 0/10)






v4.5 (0 % - 0/11)






v4.6 (0 % - 0/11)






vARB 2015 (0 % - 0/12)







OpenGL driver version check (Current: 4.1 INTEL-12.4.7, Latest known: ):

Latest version of display drivers found

According the database, you are running the latest display drivers for your video card.


Extension verification: 


Edit: I looked through, and none of the failing extensions are in this list.
1 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 05 Mar 2019, 13:29

So after endless hours of searching I came up with nothing. Figures. But I’m refusing to lose hope. Instead, i’m Making the leap to learning 3D renderer programming. Specially Vulkan. Please don’t ask me why Vulkan and not OpenGL, because given the current position of the engine, OpenGL would at least help me help out sooner. But apparently, Vulkan it is.

Of course, it’s still not too late to change my mind………

But at least having some (albeit basic) C++ and graphics programming will be of some help. Maybe I’ll be able to contribute to SL eventually! (Don’t count on it.)

Also, alongside this I started trying to get Linux running on a USB again. I think I managed to break the USB in the process. Yay. I’ll let you know as I learn more.
1 x

User avatar
ThinkSome
Posts: 260
Joined: 14 Jun 2015, 13:36

Re: Diary of an insane man

Post by ThinkSome » 05 Mar 2019, 18:54

But you can already contribute to SL without knowing anything of [graphics] programming.
0 x

MasterBel
Posts: 130
Joined: 18 Mar 2018, 07:48

Re: Diary of an insane man

Post by MasterBel » 05 Mar 2019, 22:13

ThinkSome wrote:
05 Mar 2019, 18:54
But you can already contribute to SL without knowing anything of [graphics] programming.
I would feel terribly frustrated working on SL's UI. If it was something other than WX, maybe? But I'm thinking about the internals. The C++ part. But I'd need time to work on it, and something specific to work on… heh.
0 x

User avatar
ThinkSome
Posts: 260
Joined: 14 Jun 2015, 13:36

Re: Diary of an insane man

Post by ThinkSome » 05 Mar 2019, 23:01

MasterBel wrote:
05 Mar 2019, 22:13

I would feel terribly frustrated working on SL's UI. If it was something other than WX, maybe? But I'm thinking about the internals. The C++ part. But I'd need time to work on it, and something specific to work on… heh.
Why would you feel frustrated? You can design GUIs in wxFormBuilder nowadays, I added support for it in my fork.

If wx itself is frustrating, then would you be willing to make a GUI in some other library's GUI designer? For example, can you make a whole UI from scratch in GTK Glade designer?
0 x

Post Reply

Return to “Mac OS X”