smokin-guns / SmokinGuns

Official Smokin' Guns team engine repository, master branch was directly imported from SourceForge Subversion repository, pull requests will be reviewed and integrated in future Smokin' Guns releases.
GNU General Public License v2.0
62 stars 31 forks source link

Build fail #11

Open mxmilkiib opened 4 years ago

mxmilkiib commented 4 years ago
...
REF_CC build/release-linux-x86_64/renderergl2/glsl/tonemap_fp.c
REF_STR code/renderergl2/glsl/tonemap_vp.glsl
REF_CC build/release-linux-x86_64/renderergl2/glsl/tonemap_vp.c
LD build/release-linux-x86_64/renderer_opengl2_x86_64.so
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xf8): multiple definition of `qglGenFramebuffersEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0x90): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xf0): multiple definition of `qglBindFramebufferEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0xa0): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xe8): multiple definition of `qglGenRenderbuffersEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0xc0): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xe0): multiple definition of `qglBindRenderbufferEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0xd0): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xd8): multiple definition of `qglRenderbufferStorageEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0xb8): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xd0): multiple definition of `qglRenderbufferStorageMultisampleEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0x8): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xc8): multiple definition of `qglFramebufferRenderbufferEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0x68): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xc0): multiple definition of `qglFramebufferTexture2DEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0x78): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xb8): multiple definition of `qglCheckFramebufferStatusEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0x88): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xb0): multiple definition of `qglDeleteFramebuffersEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0x98): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xa8): multiple definition of `qglDeleteRenderbuffersEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0xc8): first defined here
/usr/bin/ld: ./build/release-linux-x86_64/renderergl1/sdl_glimp.o:(.bss+0xa0): multiple definition of `qglBlitFramebufferEXT'; ./build/release-linux-x86_64/renderergl2/tr_extensions.o:(.bss+0x10): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:2115: build/release-linux-x86_64/renderer_opengl2_x86_64.so] Error 1
rm build/release-linux-x86_64/renderergl2/glsl/tonemap_vp.c build/release-linux-x86_64/renderergl2/glsl/ssao_vp.c build/release-linux-x86_64/renderergl2/glsl/shadowfill_fp.c build/release-linux-x86_64/renderergl2/glsl/calclevels4x_vp.c build/release-linux-x86_64/renderergl2/glsl/fogpass_fp.c build/release-linux-x86_64/renderergl2/glsl/fogpass_vp.c build/release-linux-x86_64/renderergl2/glsl/generic_vp.c build/release-linux-x86_64/renderergl2/glsl/calclevels4x_fp.c build/release-linux-x86_64/renderergl2/glsl/shadowmask_vp.c build/release-linux-x86_64/renderergl2/glsl/bokeh_fp.c build/release-linux-x86_64/renderergl2/glsl/bokeh_vp.c build/release-linux-x86_64/renderergl2/glsl/dlight_fp.c build/release-linux-x86_64/renderergl2/glsl/dlight_vp.c build/release-linux-x86_64/renderergl2/glsl/lightall_vp.c build/release-linux-x86_64/renderergl2/glsl/pshadow_vp.c build/release-linux-x86_64/renderergl2/glsl/tonemap_fp.c build/release-linux-x86_64/renderergl2/glsl/texturecolor_fp.c build/release-linux-x86_64/renderergl2/glsl/generic_fp.c build/release-linux-x86_64/renderergl2/glsl/down4x_vp.c build/release-linux-x86_64/renderergl2/glsl/shadowmask_fp.c build/release-linux-x86_64/renderergl2/glsl/ssao_fp.c build/release-linux-x86_64/renderergl2/glsl/down4x_fp.c build/release-linux-x86_64/renderergl2/glsl/pshadow_fp.c build/release-linux-x86_64/renderergl2/glsl/depthblur_fp.c build/release-linux-x86_64/renderergl2/glsl/lightall_fp.c build/release-linux-x86_64/renderergl2/glsl/texturecolor_vp.c build/release-linux-x86_64/renderergl2/glsl/depthblur_vp.c build/release-linux-x86_64/renderergl2/glsl/shadowfill_vp.c
make[2]: Leaving directory '/home/milk/.cache/yay/smokinguns-git/src/smokinguns'
make[1]: *** [Makefile:1285: targets] Error 2
make[1]: Leaving directory '/home/milk/.cache/yay/smokinguns-git/src/smokinguns'
make: *** [Makefile:1223: release] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
pothos commented 3 years ago

You can git apply this patch:

diff --git a/code/renderergl2/tr_extensions.c b/code/renderergl2/tr_extensions.c
index 10a1cb3..36f6a57 100644
--- a/code/renderergl2/tr_extensions.c
+++ b/code/renderergl2/tr_extensions.c
@@ -127,31 +127,34 @@ void (APIENTRY * qglGetCompressedTexImageARB)(GLenum target, GLint lod,

 // GL_EXT_framebuffer_object
 GLboolean (APIENTRY * qglIsRenderbufferEXT)(GLuint renderbuffer);
-void (APIENTRY * qglBindRenderbufferEXT)(GLenum target, GLuint renderbuffer);
-void (APIENTRY * qglDeleteRenderbuffersEXT)(GLsizei n, const GLuint *renderbuffers);
-void (APIENTRY * qglGenRenderbuffersEXT)(GLsizei n, GLuint *renderbuffers);
+//void (APIENTRY * qglBindRenderbufferEXT)(GLenum target, GLuint renderbuffer);
+//void (APIENTRY * qglDeleteRenderbuffersEXT)(GLsizei n, const GLuint *renderbuffers);
+//void (APIENTRY * qglGenRenderbuffersEXT)(GLsizei n, GLuint *renderbuffers);

-void (APIENTRY * qglRenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+//void (APIENTRY * qglRenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);

 void (APIENTRY * qglGetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint *params);

 GLboolean (APIENTRY * qglIsFramebufferEXT)(GLuint framebuffer);
-void (APIENTRY * qglBindFramebufferEXT)(GLenum target, GLuint framebuffer);
-void (APIENTRY * qglDeleteFramebuffersEXT)(GLsizei n, const GLuint *framebuffers);
-void (APIENTRY * qglGenFramebuffersEXT)(GLsizei n, GLuint *framebuffers);
+//void (APIENTRY * qglBindFramebufferEXT)(GLenum target, GLuint framebuffer);
+//void (APIENTRY * qglDeleteFramebuffersEXT)(GLsizei n, const GLuint *framebuffers);
+//void (APIENTRY * qglGenFramebuffersEXT)(GLsizei n, GLuint *framebuffers);

-GLenum (APIENTRY * qglCheckFramebufferStatusEXT)(GLenum target);
+//GLenum (APIENTRY * qglCheckFramebufferStatusEXT)(GLenum target);

 void (APIENTRY * qglFramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
    GLint level);
+/*
 void (APIENTRY * qglFramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
    GLint level);
+*/
 void (APIENTRY * qglFramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
    GLint level, GLint zoffset);

+/*
 void (APIENTRY * qglFramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget,
    GLuint renderbuffer);
-
+*/
 void (APIENTRY * qglGetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint *params);

 void (APIENTRY * qglGenerateMipmapEXT)(GLenum target);
@@ -167,14 +170,15 @@ void (APIENTRY * qglGetQueryObjectivARB)(GLuint id, GLenum pname, GLint *params)
 void (APIENTRY * qglGetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint *params);

 // GL_EXT_framebuffer_blit
-void (APIENTRY * qglBlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
+/*void (APIENTRY * qglBlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
                             GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
                             GLbitfield mask, GLenum filter);
-
+*/
 // GL_EXT_framebuffer_multisample
+/*
 void (APIENTRY * qglRenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples,
    GLenum internalformat, GLsizei width, GLsizei height);
-
+*/
 // GL_ARB_draw_buffers
 void (APIENTRY * qglDrawBuffersARB)(GLsizei n, const GLenum *bufs);
pothos commented 3 years ago

I also had to download the game files from https://www.smokin-guns.org/downloads/Smokin_Guns_1.1.zip and extract them to ../Smokin' Guns 1.1 from where I copied the needed files.

The steps were:

$ make
$ mkdir assets
$ cp -r ../Smokin\'\ Guns\ 1.1/baseq3/ assets/baseq3
$ cp -r ../Smokin\'\ Guns\ 1.1/smokinguns assets/smokinguns
$ COPYDIR=$(pwd)/assets make copyfiles
$ cd assets ; ./smokinguns.x86_64

Somebody should make a Flatpak out of this.

pothos commented 3 years ago

Done here: https://github.com/pothos/SmokinGuns-flatpak Download and installation instructions: https://github.com/pothos/SmokinGuns-flatpak/releases/tag/0.1

soyDESKTOP68A2MRFT commented 3 years ago

a question the "assets" folder must to be into of the "build" folder or not

soyDESKTOP68A2MRFT commented 3 years ago

and how can i use an flatpak file for that kind of things

pothos commented 3 years ago

Don't know exactly what you ask for. The assets are bundled into the Flatpak. You download the file https://github.com/pothos/SmokinGuns-flatpak/releases/download/0.1/test.smokinguns.SmokinGuns.flatpak and then run flatpak --user install test.smokinguns.SmokinGuns.flatpak in the same directory. Afterwards you can run flatpak run test.smokinguns.SmokinGuns from any directory.

TannicArcher commented 1 year ago

The developers have abandoned the game and no longer want to deal with it, so a new developer has appeared who will take care of this support for this project go to the discord https://discord.gg/hUqegqKmUx the group still needs to be finalized but this is not a problem the game is also changing its name to WESTERN 3D Come and participate in developing a new game