With cordite in the air, splintered steel, shell casings and powder burns, there’s only one explanation...
If you have any trouble with SG, this is the place to ask.

Moderator: Pardner

64-bit version for linux

Postby Al* » Sat Mar 22, 2014 1:41 pm

Hello,

I'm having some issues with smokinguns playing on ubuntu-linux 64-bit.

I could not install the one following the link below:
viewtopic.php?f=33&t=3185

Does anyone has some suggestions or some intruction how to compile a 64-bit version.

thank you very much already

Al
Al*
Newcomer
 
Posts: 2
Joined: Tue Mar 18, 2014 7:42 pm



Re: 64-bit version for linux

Postby Barto » Sat Mar 22, 2014 3:15 pm

Hello,
Just get the zip file of the game, unzip it in your home and get the 64bits binaries via this link http://download.smokin-guns.org/binaries/dev/linux/

Or if you *absolutely* want to compile the game, just have a look there: http://wiki.smokin-guns.org/wiki/Smokin ... ding/linux . I suggest you to try to compile the ioq3-synchro branch since the code is nearer from our buddies of ioquake3.

Hope it helps
"Chuck Norris had to shorten his beard in the presence of Richard Stallman because two beards that awesome, so close would segfault the universe (again)."
User avatar
Barto
Jeuxlinux Admin
 
Posts: 360
Joined: Fri Oct 23, 2009 5:08 pm
Location: Switzerland



Re: 64-bit version for linux

Postby Al* » Sat Mar 22, 2014 10:53 pm

thank you very much.
I downloaded that file, put it in my smokinguns file and it works so far.

The only thing which seems a bit odd is that it says that there is a smokinguns 1.1. available.

Why is that so? Or what does it mean?

thanks again
Al*
Newcomer
 
Posts: 2
Joined: Tue Mar 18, 2014 7:42 pm



Re: 64-bit version for linux

Postby Barto » Sun Mar 23, 2014 12:47 am

Al* wrote:The only thing which seems a bit odd is that it says that there is a smokinguns 1.1. available.

I think this is the message of the day coming from the server you connected to. It just hasn't changed since the release.
Just be sure that you have the 1.1 (I really doubt you got the old 1.0) installed.
"Chuck Norris had to shorten his beard in the presence of Richard Stallman because two beards that awesome, so close would segfault the universe (again)."
User avatar
Barto
Jeuxlinux Admin
 
Posts: 360
Joined: Fri Oct 23, 2009 5:08 pm
Location: Switzerland



Re: 64-bit version for linux

Postby Tequila » Sun Mar 23, 2014 8:22 pm

Hi and welcome Al*,

Barto is right. The 1.1 message is there since 1.1 was released. We still hope to have good reasons to change it.

:twisted:

Join Smokin'Guns Return room on Discord
User avatar
Tequila
SG Team
 
Posts: 1100
Joined: Thu Nov 15, 2007 11:33 pm
Location: Montpellier, France



Re: 64-bit version for linux

Postby TheDoctor » Mon Mar 24, 2014 2:41 pm

Thanks Barto and Téquila for helping us out - I was the one who suggested Al to post his problem here, since I didn't have an overview which x64 resources to point to.


Anyway, while the x86 binaries work on x64 bit Linux, a frequent problem seems to be the "missing (a 32bit?) libCURL" problem we have observed earlier and which is also the root of Al's post.

This makes me wonder, whether there is anything we can learn from this situation and which we could do to prevent it occurring at a next release. For instance, would it be possible to provide a built-in or packaged version of libcurl?

The HTTP downloading mechanism is more or less used as an update functionality of SG, by Baller Bude and other servers, thus it is becomes a critical part of SG.


My thanks in advance for any helpful thought in this matter.

Best regards,

TheDoctor
Image
User avatar
TheDoctor
Smokin' Amigo!
 
Posts: 818
Joined: Sun Jun 06, 2010 3:31 am



Re: 64-bit version for linux

Postby Barto » Mon Mar 24, 2014 10:06 pm

Actually, the latest git revision of ioq3 has only the header files of libcurl (7.35). This shouldn't be that hard to add the code files too in the same folder and then edit the Makefile to compile it. To be honest, I'm no fan of this solution; I would prefer not to mix codebases and rely only on header files. Dependencies are here exactly for this: avoid code/library duplication.

For Windows or MacOS, I see that ioq3 has some pre-built binaries in code/libs/*, adding more of these files should also be a possibility not that hard to achieve (I haven't tried myself, I cannot judge the difficulty). Just don't fall on the solution to add ALL possible operating systems, otherwise you'll soon be compiling the game on Haiku :-p This will also add a ton of binaries in the source tree and we won't remember actually with which flags we compiled them.

The best would be to directly provide x86 and x86_64 binaries together in the release with a list of clear dependencies for the game. Some deb/rpm packages given upon release would be great.
"Chuck Norris had to shorten his beard in the presence of Richard Stallman because two beards that awesome, so close would segfault the universe (again)."
User avatar
Barto
Jeuxlinux Admin
 
Posts: 360
Joined: Fri Oct 23, 2009 5:08 pm
Location: Switzerland



Re: 64-bit version for linux

Postby /dev/random » Fri Mar 28, 2014 12:16 am

At least in ioquake3 most of the required libs (except for cURL and OpenAL) are bundled with the source code as well and can be linked statically.

Code: Select all
USE_OPENAL         - use OpenAL where available
USE_OPENAL_DLOPEN  - link with OpenAL at runtime
USE_CURL           - use libcurl for http/ftp download support
USE_CURL_DLOPEN    - link with libcurl at runtime
USE_INTERNAL_SPEEX - build internal speex library instead of dynamically
                     linking against system libspeex
USE_INTERNAL_ZLIB  - build and link against internal zlib
USE_INTERNAL_JPEG  - build and link against internal JPEG library
USE_INTERNAL_OGG   - build and link against internal ogg library
USE_INTERNAL_OPUS  - build and link against internal opus/opusfile libraries
USE_LOCAL_HEADERS  - use headers local to ioq3 instead of system ones


Thus you'd want to enable the according USE_ and USE_INTERNAL_ libraries and disable the _DLOPEN options, possibly with USE_LOCAL_HEADERS as well.

While I think it's fine to do this for official SG releases (especially Windows ones), (Linux) package managers will usually do the opposite and dynamically link to the system libraries.
User avatar
/dev/random
Smokin' Amigo!
 
Posts: 410
Joined: Thu Jan 22, 2009 1:58 pm



Re: 64-bit version for linux

Postby TheDoctor » Fri Mar 28, 2014 9:38 pm

/dev/random wrote:Thus you'd want to enable the according USE_ and USE_INTERNAL_ libraries and disable the _DLOPEN options, possibly with USE_LOCAL_HEADERS as well.

While I think it's fine to do this for official SG releases (especially Windows ones), (Linux) package managers will usually do the opposite and dynamically link to the system libraries.

Thanks for the hints. I think we should provide statically libraries for future precompiled (Linux) packages, much like we do on Windows.
Image
User avatar
TheDoctor
Smokin' Amigo!
 
Posts: 818
Joined: Sun Jun 06, 2010 3:31 am



Re: 64-bit version for linux

Postby Tequila » Sat Mar 29, 2014 2:04 pm

Hi all !
/dev/random is right and I'm aware about these DEFINEs.

Actually, about libcurl, the difficulty was really the 64 bits flavour didn't build correctly. Now we can build x86_64 binaries I think we could forget to include libcurl in linux build.

Btw I agree on the fact static builds can help us to provide really independant builds. We can also just providing lighter libcurl build as libcurl would mostly be used for auto-download and for example we could just remove SSL support as it is huge in the code. Another nice lib could be interesting in the future is the one providing Freetype font support. Actually we don't have it for win builds but we can just have from the system on linux builds. So if we want to use Freetype we would have to build it for win, we can do it and we will do if necessary.

This is a matter of choice and I prefer now what the Barto still said:
The best would be to directly provide x86 and x86_64 binaries together in the release with a list of clear dependencies for the game. Some deb/rpm packages given upon release would be great.


Providing deb/rpm packages are still on my mind. As always, I just need some time to focus a little or maybe anyone else can do it.
:twisted:

Join Smokin'Guns Return room on Discord
User avatar
Tequila
SG Team
 
Posts: 1100
Joined: Thu Nov 15, 2007 11:33 pm
Location: Montpellier, France




Return to Doc's Office

Show Sidebar
Show Sidebar

User Control Panel

cron