Quake3e icon indicating copy to clipboard operation
Quake3e copied to clipboard

MacOS App files don't seem to be created correctly. Won't open.

Open davidwrrule opened this issue 3 years ago • 10 comments

I've tried downloading the MacOS release a few times and when unzipped the .app files don't appear to be proper bundles.

davidwrrule avatar May 29 '21 02:05 davidwrrule

Attempting to make on MacOS Catalina results in the below error, SDL2 framework and molten-vk installed.

Can successfully compile with "make BUILD_SERVER=0 USE_RENDERER_DLOPEN=0 USE_VULKAN=1"

code/renderer2/glext.h:111:54: error: unknown type name 'GLenum'; did you mean 'enum'? typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLui... ^~~~~~ enum code/renderer2/glext.h:111:61: warning: declaration of 'enum mode' will not be visible outside of this function [-Wvisibility] typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLui... ^ code/renderer2/glext.h:111:67: error: unknown type name 'GLuint'; did you mean 'uint'? typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start... ^~~~~~ uint /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/types.h:92:33: note: 'uint' declared here typedef unsigned int uint; /* Sys V compatibility / ^ In file included from code/renderer2/tr_animation.c:23: In file included from code/renderer2/tr_local.h:31: In file included from code/renderer2/tr_common.h:27: In file included from code/renderer2/qgl.h:118: code/renderer2/glext.h:111:81: error: unknown type name 'GLuint'; did you mean 'uint'? ...PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GL... ^~~~~~ uint /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/types.h:92:33: note: 'uint' declared here typedef unsigned int uint; / Sys V compatibility */ ^ In file included from code/renderer2/tr_animation.c:23: In file included from code/renderer2/tr_local.h:31: In file included from code/renderer2/tr_common.h:27: In file included from code/renderer2/qgl.h:118: code/renderer2/glext.h:111:93: error: unknown type name 'GLsizei' ...(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, co... ^ code/renderer2/glext.h:111:108: error: unknown type name 'GLenum'; did you mean 'enum'? ...(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, co... ^~~~~~ enum code/renderer2/glext.h:111:115: warning: declaration of 'enum type' will not be visible outside of this function [-Wvisibility] ...mode, GLuint start, GLuint end, GLsizei count, GLenum type, const voi... ^ code/renderer2/glext.h:112:47: error: unknown type name 'GLenum'; did you mean 'enum'? typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint lev... ^~~~~~ enum code/renderer2/glext.h:112:54: warning: declaration of 'enum target' will not be visible outside of this function [-Wvisibility] typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint lev... ^ code/renderer2/glext.h:112:62: error: unknown type name 'GLint' typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint lev... ^ code/renderer2/glext.h:112:75: error: unknown type name 'GLint' ...(APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint int... ^ code/renderer2/glext.h:112:97: error: unknown type name 'GLsizei' ...(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsi... ^ code/renderer2/glext.h:112:112: error: unknown type name 'GLsizei' ...target, GLint level, GLint internalformat, GLsizei width, GLsizei heig... ^ code/renderer2/glext.h:112:128: error: unknown type name 'GLsizei' ...level, GLint internalformat, GLsizei width, GLsizei height, GLsizei de... ^ code/renderer2/glext.h:112:143: error: unknown type name 'GLint' ...internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint bo... ^ code/renderer2/glext.h:112:157: error: unknown type name 'GLenum'; did you mean 'enum'? ...width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLe... ^~~~~~ enum code/renderer2/glext.h:112:164: warning: declaration of 'enum format' will not be visible outside of this function [-Wvisibility] ...width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLe... ^ code/renderer2/glext.h:112:172: error: unknown type name 'GLenum'; did you mean 'enum'? ...height, GLsizei depth, GLint border, GLenum format, GLenum type, cons... ^~~~~~ enum code/renderer2/glext.h:112:179: warning: declaration of 'enum type' will not be visible outside of this function [-Wvisibility] ...height, GLsizei depth, GLint border, GLenum format, GLenum type, cons... ^ code/renderer2/glext.h:113:50: error: unknown type name 'GLenum'; did you mean 'enum'? typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint ... ^~~~~~ enum code/renderer2/glext.h:113:57: warning: declaration of 'enum target' will not be visible outside of this function [-Wvisibility] typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint ... ^ code/renderer2/glext.h:113:65: error: unknown type name 'GLint' typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, G... ^ code/renderer2/glext.h:113:78: error: unknown type name 'GLint' ...PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GL... ^ code/renderer2/glext.h:113:93: error: unknown type name 'GLint' ...(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffs... ^ code/renderer2/glext.h:113:108: error: unknown type name 'GLint' ...(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffs... ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 6 warnings and 20 errors generated. make[2]: *** [build/release-darwin-x86_64/rend2/tr_animation.o] Error 1 make[1]: *** [targets] Error 2 make: *** [release] Error 2

davidwrrule avatar May 29 '21 02:05 davidwrrule

Bundle is not supposed to be created at all with Makefile, currently only native binaries are produced, MacOS support is limited to this state

ec- avatar May 29 '21 08:05 ec-

This is different from ioq3 make-mac.sh and master renderer2 needs GL includes added like

code/renderer2/qgl.h

#elif defined(__APPLE__) || defined(__APPLE_CC__)
#include <OpenGL/gl.h>
#include <OpenGL/glext.h>

I've gotten renderer2 to work, but it isn't being maintained in this fork. It's a lot of technical debt and things are moving towards Vulcan which supports Spir-V as a replacement for GLSL programs.

ghost avatar Jul 05 '21 18:07 ghost

OK, this is only the Mac binary but… what if I put that binary inside the app bundle of another installation (ioquake or similar)? Would that work?

Bottacco avatar Jan 25 '22 14:01 Bottacco

Most likely, but I'm not familiar with its structure

ec- avatar Jan 25 '22 14:01 ec-

OK, this is only the Mac binary but… what if I put that binary inside the app bundle of another installation (ioquake or similar)? Would that work?

Yes, it does. I used to install the bundle for ioquake3 in ~/Games/ioquake3. These days I unzip the macOS quake3e release in this directory and simply start Quake3 from the commandline: /Users/foobar/Games/ioquake3/quake3e +set fs_game "osp" etc. etc.

hbokh avatar May 25 '22 08:05 hbokh

Mac bundles are fairly simple. I recommended before copying the installation script from ioq3 that does this. But it doesn't really fit because Q3e doesn't bundle a mod with the engine. It might make more sense to start a new repo called quake3-builds and put a lot of common build configurations and open source content in there. Just so people could get up and running faster.

Seems kind of excessive just to add double click launch: https://github.com/ioquake/ioq3/blob/main/make-macosx-app.sh

On Wed, May 25, 2022, 01:49 Henk @.***> wrote:

OK, this is only the Mac binary but… what if I put that binary inside the app bundle of another installation (ioquake or similar)? Would that work?

Yes, it does. I used to install the bundle for ioquake3 in ~/Games/ioquake3. These days I unzip the macOS quake3e release in this directory and simply start Quake3 from the commandline: /Users/foobar/Games/ioquake3/quake3e +set fs_game "osp" etc. etc.

— Reply to this email directly, view it on GitHub https://github.com/ec-/Quake3e/issues/112#issuecomment-1136972019, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF7FO3TJOSDEBLFDKOKSWKLVLXSSBANCNFSM45XZEAFQ . You are receiving this because you commented.Message ID: @.***>

ghost avatar May 25 '22 18:05 ghost

Has anyone managed to create a working macOS bundle that they could share with others?

dsearleuk avatar Oct 28 '23 09:10 dsearleuk

Has anyone managed to create a working macOS bundle that they could share with others?

Have you tried the latest? There's been progress on this recently.

ensiform avatar Oct 29 '23 00:10 ensiform

Has anyone managed to create a working macOS bundle that they could share with others?

Have you tried the latest? There's been progress on this recently.

There are no macOS bundles on here. The zip file contains 3 binaries that won't run. I was hoping that someone had managed to create a working bundle, or one that I could update with the latest binaries. I'm not a programmer, hence my cry for help.

dsearleuk avatar Oct 29 '23 10:10 dsearleuk