• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Linux YYC on linux doesn't work?

Goldoche

Member
VM works fine for me on Windows and Ubuntu.
YYC works fine for me on Windows.

But I cannot run or create an executable using YYC on linux. I already have all the libraries listed here:

https://help.yoyogames.com/hc/en-us/articles/235186168-Setting-Up-For-Ubuntu

I have Ubuntu LTS 18.04.3 64bits on the target machine.

Here's my console output.
X://bin/GMAssetCompiler.exe DONE (0)
[ -d "/home/brun/GameMakerStudio2/yyc/FromPC/typeknight" ] || mkdir -p "/home/brun/GameMakerStudio2/yyc/FromPC/typeknight"
pscp Y:\typeknight_6A417E60_YYC\GameAssetsLinux.zip /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/
pscp Y:\typeknight_6A417E60_YYC\YYGML.h /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/
pscp Y:\typeknight_6A417E60_YYC\Ref.h /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/
pscp Y:\typeknight_6A417E60_YYC\YYStd.h /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/
pscp Y:\typeknight_6A417E60_YYC\libyoyo_yyc-x64.a /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/
pscp Y:\typeknight_6A417E60_YYC\makefile /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/
pscp X:/linux\execute.sh /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/
cd /home/brun/GameMakerStudio2/yyc/FromPC/typeknight; chmod +x execute.sh
pscp Y:\typeknight_6A417E60_YYC\Game\ /home/brun/GameMakerStudio2/yyc/FromPC/typeknight/Game
rsync -c -r /home/brun/GameMakerStudio2/yyc/FromPC/typeknight /home/brun/GameMakerStudio2/yyc
cd /home/brun/GameMakerStudio2/yyc/typeknight && make -j `nproc --all`
WARNING: Unable to connect to remote client: ssh command 'cd /home/brun/GameMakerStudio2/yyc/typeknight && make -j `nproc --all`' failed.
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libopenal.so'
make: *** [typeknight] Error 1

WARNING: Unable to connect to remote client: The client is already connected.
pscp /home/brun/GameMakerStudio2/yyc/typeknight/typeknight Y:\typeknight_6A417E60_YYC\package\typeknight
Renci.SshNet.Common.ScpException: scp: /home/brun/GameMakerStudio2/yyc/typeknight/typeknight: No such file or directory
at Renci.SshNet.ScpClient.ReadString(Stream stream)
at Renci.SshNet.ScpClient.InternalDownload(IChannelSession channel, Stream input, FileSystemInfo fileSystemInfo)
at Renci.SshNet.ScpClient.Download(String filename, FileInfo fileInfo)
at ..(String , String )
at Igor.LinuxBuilder.pscp_from(String remote, String local)
at Igor.LinuxBuilder.Package()
Igor complete.
elapsed time 00:03:52.4283303s for command "C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344/bin/Igor.exe" -j=8 -options="C:\Users\Mathieu\AppData\Local\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Linux Package started at 09/30/2019 03:02:59
"cmd" /c subst Z: /d

elapsed time 00:00:00.0100000s for command "cmd" /c subst Z: /d started at 09/30/2019 03:06:51
"cmd" /c subst Y: /d

elapsed time 00:00:00.0200000s for command "cmd" /c subst Y: /d started at 09/30/2019 03:06:51
"cmd" /c subst X: /d

elapsed time 00:00:00.0200001s for command "cmd" /c subst X: /d started at 09/30/2019 03:06:51
FAILED: Package Program Complete
Again, I don't have any problems using the VM option when building or running for linux. There's no issues with connectivity when choosing that option.
 
Last edited:

Zhanghua

Member
So you may check this file:
: scp: /home/brun/GameMakerStudio2/yyc/typeknight/typeknight: No such file or directory
 

MusNik

Member
Code:
WARNING: Unable to connect to remote client: The client is already connected.
That looks weird.

Try to restart connection with Linux computer, restart the IDE, clean the project with 'broom" button and compile with YYC without trying to compile with VM.
 

Goldoche

Member
That looks weird.

Try to restart connection with Linux computer, restart the IDE, clean the project with 'broom" button and compile with YYC without trying to compile with VM.
I did all of that and more. After 6 hours I give up. Honestly, unless someone else with the same current version can confirm YYC works for them on linux I think the problem is on YoYo's end.
 
F

frico

Guest
Had a similar issue when trying to create a Linux build (hosting Ubuntu LTS 18.04.3 64bit in VirtualBox on Windows 10).

The VM option worked fine, both for starting directly in GM and for exporting a .zip file. The YYC option on the other hand created a similar, but not identical output as in OP, notice for example the lack of the
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libopenal.so
warning. But the "client already connected" issue seems to be the same:
Code:
X://bin/GMAssetCompiler.exe DONE (0)
 [ -d "/home/frico/GameMakerStudio2/yyc/FromPC/Empty" ] || mkdir -p "/home/frico/GameMakerStudio2/yyc/FromPC/Empty"
pscp Y:\Empty_5143607E_YYC\GameAssetsLinux.zip /home/frico/GameMakerStudio2/yyc/FromPC/Empty/
pscp Y:\Empty_5143607E_YYC\YYGML.h /home/frico/GameMakerStudio2/yyc/FromPC/Empty/
pscp Y:\Empty_5143607E_YYC\Ref.h /home/frico/GameMakerStudio2/yyc/FromPC/Empty/
pscp Y:\Empty_5143607E_YYC\YYStd.h /home/frico/GameMakerStudio2/yyc/FromPC/Empty/
pscp Y:\Empty_5143607E_YYC\libyoyo_yyc-x64.a /home/frico/GameMakerStudio2/yyc/FromPC/Empty/
pscp Y:\Empty_5143607E_YYC\makefile /home/frico/GameMakerStudio2/yyc/FromPC/Empty/
pscp X:/linux\execute.sh /home/frico/GameMakerStudio2/yyc/FromPC/Empty/
cd /home/frico/GameMakerStudio2/yyc/FromPC/Empty; chmod +x execute.sh
pscp Y:\Empty_5143607E_YYC\Game\ /home/frico/GameMakerStudio2/yyc/FromPC/Empty/Game
rsync -c -r /home/frico/GameMakerStudio2/yyc/FromPC/Empty /home/frico/GameMakerStudio2/yyc
cd /home/frico/GameMakerStudio2/yyc/Empty && make -j `nproc --all`
WARNING: Unable to connect to remote client: ssh command 'cd /home/frico/GameMakerStudio2/yyc/Empty && make -j `nproc --all`' failed.
bash: make: command not found

WARNING: Unable to connect to remote client: The client is already connected.
pscp /home/frico/GameMakerStudio2/yyc/Empty/Empty Y:\Empty_5143607E_YYC\package\Empty
Renci.SshNet.Common.ScpException: scp: /home/frico/GameMakerStudio2/yyc/Empty/Empty: No such file or directory
   bei Renci.SshNet.ScpClient.ReadString(Stream stream)
   bei Renci.SshNet.ScpClient.InternalDownload(IChannelSession channel, Stream input, FileSystemInfo fileSystemInfo)
   bei Renci.SshNet.ScpClient.Download(String filename, FileInfo fileInfo)
   bei ..(String , String )
   bei Igor.LinuxBuilder.pscp_from(String remote, String local)
   bei Igor.LinuxBuilder.Package()
Igor complete.
elapsed time 00:00:11.7647874s for command "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2.2.3.344/bin/Igor.exe" -j=8 -options="C:\Users\Rico\AppData\Local\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Linux Package started at 10/03/2019 20:23:00
"cmd"  /c subst Z: /d

elapsed time 00:00:00.0605119s for command "cmd" /c subst Z: /d started at 10/03/2019 20:23:12
"cmd"  /c subst Y: /d

elapsed time 00:00:00.0556318s for command "cmd" /c subst Y: /d started at 10/03/2019 20:23:12
"cmd"  /c subst X: /d

elapsed time 00:00:00.0546561s for command "cmd" /c subst X: /d started at 10/03/2019 20:23:12
FAILED: Package Program Complete
Note: "bei" means "at". The rest of the message should be in English.
As you may have read from the file path, that was actually used on a new, empty project. Empty apart from what GM creates by default (like a first room). So to answer your question, @Zhanghua: it didn't change anything compared to a real project I tried to export to Ubuntu with the YYC option.

I looked up a thread from last year which seemed to have a similar problem and suggested removing special characters like ' from strings, but that didn't change anything, either...not in the real project and not in the empty project which didn't have any strings to begin with.
 

Japster

Member
Apologies for necro'ing this thread, but I'm getting the EXACT same error - like yourselves, I've been unable to compile a YYC build on my Linux box - I can build a VM build, but as soon as I try to build a YYC build, I get this (I even tried the latest IDE and Runtime, but no joy:-

cd /home/japster/GameMakerStudio_Test/yyc/TetraLogical && make -j `nproc --all`
WARNING: Unable to connect to remote client: ssh command 'cd /home/japster/GameMakerStudio_Test/yyc/TetraLogical && make -j `nproc --all`' failed.
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libz.so'
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libXxf86vm.so'
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libGL.so'
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libopenal.so'
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libcrypto.so'
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libGLU.so'
clang: error: no such file or directory: '/usr/lib/x86_64-linux-gnu/libssl.so'
make: *** [TetraLogical] Error 1

If anyone can help, this is stopping me also, from releasing my Linux version - Literally everything else works now, in Linux, but I need the speed of YYC to make the game run quickly enough for AI logic etc, not to mention simply playing it!

@Nocturne - You made that awesome guide that got me building on Linux with VM, sooooo close to releasing now! - But I'm really struggling to get YYC working, like the OP - any ideas at all please mate? :)

PS - I found an article which mentions that SSH specifically with the CD command, and has an issue with quoting:-


Note sure if it's related, but hey....

PS - I also ran the command manually on the virtual Linux box - I got the same error, albeit with a bit more info:-

1586220532183.png

EDIT: Just to add, I ran the command locally on the Linux VM in a terminal window, minus the NPROC bit, literally as the build process is waiting on that command (only managed it once), it actually tries to build, without erroring out immediately?

1586221594622.png
 
Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
Hello! Been a while since I did Linux builds so not sure what could be going on... Couple of things though: could you please tell me if you are using 32 or 64 bit linux? It has to be 64bit for YYC. Also,
could you do a "uname -a" on the terminal and get the output from that and post it here?
 

Japster

Member
Hello! Been a while since I did Linux builds so not sure what could be going on... Couple of things though: could you please tell me if you are using 32 or 64 bit linux? It has to be 64bit for YYC. Also,
could you do a "uname -a" on the terminal and get the output from that and post it here?
Many thanks for coming back to me so quickly Nocturne! Pretty sure I picked a 64 bit ver, but you never know - Linux is not my forte! :(

Here you go!:-

1586248136179.png

Thanks again mate, really appreciate your help as always! - BTW, it's Linux Mint I'm currently trying, not sure if that's relevant to this particular issue!
 

Attachments

Nocturne

Friendly Tyrant
Forum Staff
Admin
Thanks again mate, really appreciate your help as always! - BTW, it's Linux Mint I'm currently trying, not sure if that's relevant to this particular issue!
I'm afraid it could be... Due to the very fragmented nature of Linux, YYG only actually supports "pure" Ubuntu installs, and no other Linux distro. Games should work okay on most Linux versions, but building them really should only be done using the recommended Linux version, which is Ubuntu 18.04 (iirc!).
 

Japster

Member
I'm afraid it could be... Due to the very fragmented nature of Linux, YYG only actually supports "pure" Ubuntu installs, and no other Linux distro. Games should work okay on most Linux versions, but building them really should only be done using the recommended Linux version, which is Ubuntu 18.04 (iirc!).
I'll give that a try mate, thanks! - I'll be over the moon if it's just that! :D
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
I'll give that a try mate, thanks! - I'll be over the moon if it's just that! :D
Let us know how you get on... If it still doesn't work with the same error, then it might be worthwhile filing a bug report and letting YYG know you're having this issue. They should be able to point you in the right direction to resolving it at least, or (if it's a problem with the docs needing updated) let me know what to change in the helpdesk article so it fixes it for everyone. :)
 

Japster

Member
Thanks @Nocturne ! - Well, I've installed Ubuntu, gone through adding ALL of the packages, updated, and got an update alert - held off that and tried, it failed. So I applied the updates too, same error. So it's bang up to date, and all packages installed, connected fine to GMS2, and gone through the guide again in details, and still have the same *type* of showstopper error, but a different message:-

cd /home/japster/gms2/yyc/TetraLogical && make -j `nproc --all`
WARNING: Unable to connect to remote client: ssh command 'cd /home/japster/gms2/yyc/TetraLogical && make -j `nproc --all`' failed.
bash: make: command not found

cd /home/japster/gms2/yyc/TetraLogical && rm -rf assets && unzip -o GameAssetsLinux.zip
Transferring Assets...
pscp Y:\TetraLogical_155B59DF_YYC\GameAssetsLinux.zip /home/japster/gms2
....

I'm going to try a completely unrelated project in case maybe it's an issue with my project, but huge thanks again for the help so far mate... :)
 

Japster

Member
@Nocturne - Okay, so no joy at all mate...

I've tried different projects, even simple ones. Same result, even across physical hardware, virtual boxes, Ubuntu, Mint, etc.... :(

What DOES appear in a terminal output window, briefly, is:-

"bash: ./GSRR - No such file or directory"

The directory clearly exists, so perhaps the script is at the wrong level at that point, so failing. Doesn't matter which project I try either, I always get the same issue, albeit with the project folder name - even tried all lower-case, but no joy...

Argh... Guessing I'll be logging a bug report.... :(
 

Japster

Member
Hi @Nocturne ! - Okay, tried submitting a bug report.... that was fun...

...The one portal is YoYo staff only, shows a link to submit a bug report....

...which simply takes you to a form to contact YoYo, for basic queries regarding the site, account or product....

I've populated it with this at least, but I'd appreciate it if maybe the people who can help can possibly be nudged - didn't want to appear rude, and nudge Russell or Dan myself! ;) :-


"URGENT! - (PS - the page I'm currently having to type this bug report into is referred to from the bug notification link, not sure why it ends up here, but hey ho...)

I've posted on the thread below:-


...
but in short, despite everything I've tried - I CANNOT get GMS2 to build YYC builds on Linux, using different distro's (Ubuntu 18.04 64-bit, Mint 64-bit, etc), different (and the latest) runtimes and IDE's, different projects even, etc... VM works fine, but YYC *ALWAYS* fails at the exact same point, at the 'cd' command:-

"cd /home/japster/gms2/yyc/GSRR && make -j `nproc --all`
WARNING: Unable to connect to remote client: ssh command 'cd /home/japster/gms2/yyc/GSRR && make -j `nproc --all`' failed."

At that point, LOCALLY, on the Linux box, I get:-

"BASH: ./<project_name> : No such file or directory" in a terminal output window, when the folder clearly exists if at the right level?

I now strongly suspect a script / parsing error, possibly being at the wrong folder level at that point, as if I time it right, part of the same command seems to execute fine on the actual machine, but it doesn't like the `noproc --all` bit...

The Linux box ALWAYS throws up a "BASH: ./<project_folder> : file or directory does not exist" type error.

I desperately need to publish my game to Linux, as it's now fixed and ready for release bar being able to compile it in YYC due to huge slowness issues if built using VM. (YYC build runs beautifully on Windows)...

Please can someone look into this URGENTLY? - it's the *ONLY* thing stopping me from releasing commercial Linux releases of my games now, and by all accounts no-one has been able to build YYC builds on Linux for a while now?
"


Thanks again!
 
Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
Okay, thanks for filing the bug report. The error you're getting suggests (ro me) that you are missing something and haven't installed all the required packages for building. We'll see what the helpdesk have to say about it.

On a side note, can I ask why Linux is so important for publishing right now? Can't you publish for all the other platforms and then Linux later? Statistically, on Steam Linux games are like 0.1% of sales or something like that, so - while obviously not ideal for those users - you wouldn't miss out on too much by delaying that platform to start with.
 

Japster

Member
Thanks @Nocturne - Yep, already published on Windows, cheers! - Looking to publish on Linux and MacOS now, as I've had a fair few people say "if only it was on Linux", and tbh, I honestly feel my game's good, but lost amongst the sheer amount of stuff out there on Steam (Windows)...

I'm guessing that those platforms that are a little starved of games (and good, honest games) might be more tempted by my labour of love... :)

I've released TetraLogical over a year ago now, and sales have been depressing to say the least, so I'm open to other platforms (I always planned to release on these 2 anyway... :) )

Plus, you may have noticed from my other 'problem' post, but I've also decided to make my mobile license pay for itself, but having MAJOR issues on Android.... game works fine for the main menus / running it in general, but simply will NOT find ANY of my built-in included level files... driving me INSANE!! - 3 days solid spent going around in circles with the Linux and Android issues, literally 100's of test compilations, environment rebuilds, etc, etc, no further on... :( Coding is FUN usually, but man, this isn't.... :(

Cheers mate....
 
Last edited:

thom

Member
I have the same problem after following all the steps in the Ubuntu article. VM works but YYC doesn't (even with an empty project). So I decided to release my game Ultimate Racing 2D with VM on Linux as my 8 year old laptop still managed to get 60 fps.
 

Japster

Member
Thanks @thom - I wish mine was okay on VM, but some of the puzzle solving logic, and AI thought processing, fails if not compiled - it's literally make or break for my game, to have YYC for Linux, or not. Puzzle board piece allocation being correct relies on the extra 'grunt' supplied by the YYC build, even then taking up to 4 seconds, so I simply cannot release at the moment.... :(

Still waiting on a response for the bug, I know things are slower due to COVID19, but argh.... I REALLY need this fixed - the crazy thing is that it does seem to possibly completely hinge on a script/parsing error in the Linux YYC build script (maybe due to Linux OS/component changes now), over which I have no control, but honestly seems like a really simple fix for the YoYo guys! :(

Please guys, take a look soon!?

@Nocturne - Hate to abuse you again fella, but could you possibly get a 'feel' for where this particular bugfix request is? - I inadvertently logged it twice, can see one's definitely closed / cancelled, but have a horrible feeling that maybe someone closed both! ;)

Thanks as always!
 

Japster

Member
Well, that's just great...

@Nocturne

I can't see *EITHER* of the calls that were generated, listed in Mantis mate...

168217 or 168218...

Not sure what's happened, but I got email confirmation for both, and an automated message saying that they'd be looked into...
(I also got a mail saying that one was closed (as a dupe, obviously), but the other one can't even be found now)

Can't say I'm impressed.... :( If you could possibly investigate for me, I'd really appreciate it...

I've always bigged up YoYo, but I have to say I'm finding this bug submission process (and inability to check / confirm that they are even being looked into) very frustrating...
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Rest assured the bugs have been filed, they're just not visible on Mantis yet. :)

(things are a bit slower due to the work from home situation)
 
C

carlosagh

Guest
some linux and unix like issues when executing programs or compiling usually have to do with file permissions
 

Japster

Member
some linux and unix like issues when executing programs or compiling usually have to do with file permissions
Yeah, it's a valid point mate, but I actually ran a recursive perms change on a VM to test already, and nope, still didn't work.

I definitely believe it's an out-of-date script or breakage during the build process, due to perhaps, changes in the (now) updated tools used/updated via the GETs (ie. following @Nocturne 's excellent guide to get a Linux build box ready and updated), and to be truthful, I'm getting more than a little frustrated at the complete radio silence on this...

Okay, to be honest, I'm REALLY stewing over this now...

This is basically our livelihood and market being affected, and as a loyal, supportive/PRO-YoYo, paid customer, I feel that I and others here who've raised similar errors in the YYC Linux/MacOS build process, are being completely ignored (By support/YoYo, and not by the ever-helpful @Nocturne ) for MONTHS now, on an ENTIRE TARGET PLATFORM's COMPLETELY build breaking bug, that although it *might* well be something else at fault (although who can tell if no-one even LOOKS at it?), I feel is more likely to be a simple/trivial script correction that is unfortunately out of my hands to correct, given the automated nature of the none-native build process.

Not even had ONE word back to advise that anyone's even investigated via a simple 2 minute test build, at YoYo, to confirm / troubleshoot....

I KNOW it's lockdown, I KNOW you're busy, and I KNOW there are other issues being looked at, but heck guys, I'm currently doing MY day job at home just fine, and I'm getting a definite vibe of 'can't be arsed'... ...Not good at all, YoYo - I'm a *BIG* fan of yourselves and product, but this COMPLETE lack of contact from support on build breaking bugs, let alone no fix, is why I ditched your competitor originally - You hear me on this right, @Toque ?... :mad:
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Not even had ONE word back to advise that anyone's even investigated via a simple 2 minute test build, at YoYo, to confirm / troubleshoot....
I'll have a wee word with support and see what the actual situation with these is. I suspect that it may be that they're waiting for 2.3 to go into stable and that it'll resolve the issues, but I don't know this... so I'll try and get some confirmation or at least a status update.
 

Japster

Member
I'll have a wee word with support and see what the actual situation with these is. I suspect that it may be that they're waiting for 2.3 to go into stable and that it'll resolve the issues, but I don't know this... so I'll try and get some confirmation or at least a status update.
As ever, you're a gent @Nocturne, and your input and help are as always, hugely appreciated....

I would LOVE that to be the case, but with not a word from them, it's really damaging to relationships - I work in IT Support, and the watchwords are "Timely Communications" and "Managing Customer Expectations" - I have a smoother job because I follow these - I inform users ASAP if there'll be a delay, I explain why, or I touch base and reassure them / explain my findings/plan of action if it's not fixable immediately, and all of this makes a much happier customer, and a less stressful job for me...

...YoYo could really do with adopting this philosophy, as busy as they are - a one-line response/confirmation takes 30 secs.... Everyone's less stressed. :)

Ps - I bought your 'Shockwave' effect... ...Just added it to my latest build, it's now LIVE in my game, and I can recommend it to others - Just left a nice review - Easy to add, and it adds a LOT more pizazz to my 'best score' animations! :)
 

chamaeleon

Member
@Japster I created a Ubuntu 18.04 VM the other week to try it out and it compiles VM and YYC programs fine, which I can run, including on a Fedora VM after ensuring required libraries (libcurl and openal) were installed. All I did at the time was follow the step-by-step instructions at https://help.yoyogames.com/hc/en-us/articles/235186168-Setting-Up-For-Ubuntu, ensuring all listed dependencies got installed. I just fired up that VM again, and it works as expected.

Edit: Possibly important, because it's a VM that I'm not using for any other purposes, I have not made changes to default shell, any bash init scripts, etc., changed PATH or other environment variables. It is a vanilla install delivered by the Ubuntu ISO, plus apt-get upgrade to get updates released for 18.04.
 

Japster

Member
@Japster I created a Ubuntu 18.04 VM the other week to try it out and it compiles VM and YYC programs fine, which I can run, including on a Fedora VM after ensuring required libraries (libcurl and openal) were installed. All I did at the time was follow the step-by-step instructions at https://help.yoyogames.com/hc/en-us/articles/235186168-Setting-Up-For-Ubuntu, ensuring all listed dependencies got installed. I just fired up that VM again, and it works as expected.

Edit: Possibly important, because it's a VM that I'm not using for any other purposes, I have not made changes to default shell, any bash init scripts, etc., changed PATH or other environment variables. It is a vanilla install delivered by the Ubuntu ISO, plus apt-get upgrade to get updates released for 18.04.
Hi @chamaeleon! - Many thanks for the input/advice, I'll give it a try! - If it works, I'll be over the moon! - Especially in time for my entry in the ***** Summer Sale... :D

I did actually follow @Nocturne 's excellent Linux build guide to the letter (3 times, one on an actual machine, 2 x on different VM's), and it's a great guide (gets me working on VM no problem, minimal hassle), so it's really frustrating about the YYC bit... :(

I'll try Fedora, as maybe that'll get me working until the recommended distro YYC is fixed...

Thanks a bunch for the suggestion - it's definitely worth trying, fingers crossed! :D
 

Japster

Member
Fedora was only my test to run a compiled game on a non-Ubuntu OS. I would have no expectation of compilation working.
I'll give it a try again in 18.04, but I'm using Virtual Box - might be related to my issue, although a dedicated laptop install failed to compile too...

I have to be honest, I'm not a fan of Fedora! - Compared to Ubuntu or Mint etc, it's horrendously convoluted, imho... ...I'm beginning to hate it!

Spent all night trying to just get to the point where stuff SHOULD be installed just in case I COULD compile on it, but other than the differences in commands (dnf, yum, etc as opposed to apt-get), and even installing apt-get when none of that worked, it failed to grab almost every package in the instructions on Nocturne's guide, using ANY of the methods/tools?

I'm honestly at a loss on how to even get a valid Linux build setup on Fedora, and it's been like pulling hen's teeth!

ie. most commands, like:-

sudo apt-get install libopenal1

Simply fail to find anything...

So I try:-

sudo yum install libopenal1

sudo dnf install libopenal1

Which generally just return:-

Reading package lists... Done
Building Dependency tree... Done
Unable to locate package: libopenal1


...for almost every package....

Even installing "apt" then trying those commands doesn't seem to find most (although it does find and install some) of these - I'm assuming naming of packages in the repositories are different, but Googling doesn't show me any equivalents....

Argh!!!


So, Fedora can do one as far as I'm concerned, for trying to build at least!
 
Last edited:

Japster

Member
It does work for me, compiling on Ubuntu. Fedora was my test to see what issues if any I would encounter running (not compiling) it on non-Ubuntu. Perhaps my phrasing was not the best.
No, it's my fault, I got the wrong end of the stick! - The confirmation's great, thanks! - I'll try again, but I'm not sure what I could have possibly missed - Still it's good to know that it's working for someone at least, so is possible.... :)

Thanks again for reaching out mate!
 
Last edited:

chamaeleon

Member
The most relevant section of the compile log generated just now for a barebones test project I use. Compiled on an Ubuntu 18.04.4 Server VM, which was updated with the set of packages listed at https://help.yoyogames.com/hc/en-us/articles/235186168-Setting-Up-For-Ubuntu, plus zip (sudo apt install zip) which was not installed by default.
Code:
[...]
X://bin/GMAssetCompiler.exe DONE (0)
 [ -d "/home/lars/GameMakerStudio2/yyc/FromPC/Playground" ] || mkdir -p "/home/lars/GameMakerStudio2/yyc/FromPC/Playground"
pscp Y:\Playground_1A3E10DE_YYC\GameAssetsLinux.zip /home/lars/GameMakerStudio2/yyc/FromPC/Playground/
pscp Y:\Playground_1A3E10DE_YYC\YYGML.h /home/lars/GameMakerStudio2/yyc/FromPC/Playground/
pscp Y:\Playground_1A3E10DE_YYC\Ref.h /home/lars/GameMakerStudio2/yyc/FromPC/Playground/
pscp Y:\Playground_1A3E10DE_YYC\YYStd.h /home/lars/GameMakerStudio2/yyc/FromPC/Playground/
pscp Y:\Playground_1A3E10DE_YYC\libyoyo_yyc-x64.a /home/lars/GameMakerStudio2/yyc/FromPC/Playground/
pscp Y:\Playground_1A3E10DE_YYC\makefile /home/lars/GameMakerStudio2/yyc/FromPC/Playground/
pscp X:/linux\execute.sh /home/lars/GameMakerStudio2/yyc/FromPC/Playground/
cd /home/lars/GameMakerStudio2/yyc/FromPC/Playground; chmod +x execute.sh
pscp Y:\Playground_1A3E10DE_YYC\Game\ /home/lars/GameMakerStudio2/yyc/FromPC/Playground/Game
rsync -c -r /home/lars/GameMakerStudio2/yyc/FromPC/Playground /home/lars/GameMakerStudio2/yyc
cd /home/lars/GameMakerStudio2/yyc/Playground && make -j `nproc --all`
cd /home/lars/GameMakerStudio2/yyc/Playground &&  rm -rf assets && unzip -o GameAssetsLinux.zip
pscp /home/lars/GameMakerStudio2/yyc/Playground/Playground Y:\Playground_1A3E10DE_YYC\package\Playground
Transferring package to linux target
mkdir -p "/home/lars/GameMakerStudio2/Playground"
pscp Y:\Playground_1A3E10DE_YYC\Playground.zip /home/lars/GameMakerStudio2/Playground
cd /home/lars/GameMakerStudio2/Playground; unzip -o 'Playground.zip' Playground
cd /home/lars/GameMakerStudio2/Playground; chmod u+x Playground
cd /home/lars/GameMakerStudio2/Playground; zip -g 'Playground.zip' Playground
pscp /home/lars/GameMakerStudio2/Playground/Playground.zip C:\Temp\Playground.zip
Igor complete.
Created package: C:\Temp\Playground.zip
[...]
 

Japster

Member
This! ^^^ Thanks a bunch man.... :)

Well, Hallelujah! :D @chamaeleon - you're a legend sir! - I can now compile in Linux!!!.... :D

I downloaded the exact ISO (18.04.2) referred to on that page, did the steps shown, took your advice above, and yes, it took a (long) while, but compiled with no errors! šŸ„³ I can't believe it!! - I've tried this so many times, but that shorter guide, and your kind help, worked a treat.

Thanks also to @Nocturne - I'm guessing that probably obsolete info might be better off marked as superseded, but YES! - This is now compiling fine - I tried your Shockwave project first, no problems.... ...then TetraLogical built like a charm!

I'm making a backup of this VM right now, just in case something breaks it again, and HUGE thanks to you both, guys!!

Consider me a happy bunny again!!! :D
 

Japster

Member
Well, after all that, I've come to the conclusion that Linux Steam support is complete and utter b*ll*cks....

I made perfectly good executables, depots, launch options etc, and the lovely new compiled game, when installed / downloaded through Steam, simply does not run.

It's as if I've not clicked it or launched it from the Terminal, NOTHING... ...I've made dedicated Windows and Linux depots, launch options, installed dependencies, etc, etc, attached the depots to my app's branches etc, and Steam downloads the correct files. Just won't bloody run them. On Mint, Fedora OR Ubuntu...

No mention of signing them, so I'm assuming they *should* just work - The RUN option in GMS2 creates a perfectly valid executable that does run on the target machine when clicked/launched (ie. not the 'Runner' VM variant), so I'm at a loss as to what I'm doing wrong, but it's not GMS...

I've visited DOZENS of forums / pages / sites, and apart from being an absolute pain to get a working (fully) Steam client installed on these, either by terminal commands, software manager, or by downloading the client, it also appears that even using Proton doesn't work, to run the Windows executable even as a test, when I set it up as the depot to test what came down...

I think I need a break from this, but I realise that I freaking HATE Linux.... User-friendly to set up anything other that software manager downloads, it is not... To get Steam to even LOAD, required jumping through hoops, fixes, bodges, etc...

Now I'm feeling I should apologise for getting so annoyed about not having this support looked into, as for such a small (comparatively) user base, it feels like I'm literally walking 2 steps back for every 1 forward! - I'm seriously thinking 'sack it', it's not worth the stress or the ulcer...

I've also read on some of these forums, that others aren't able to get their games to launch either - exactly the same issue as me - nothing, nada, zip. no warning / error even. Executable is fine, perms are fine, but always, no resolution found on any of these pages. sigh.....

Just had to get that off my chest... ;)
 

Japster

Member
Okay, I HATE giving up, even more than Linux... :D

I've hit that second hurdle, but I'm so close now I can taste it! :(

This is REALLY weird. So, I compiled, built (using the 'RUN' option in GMS2), and the built version runs *perfectly* in Ubuntu.

So I ran the STEAM downloaded version. Nothing.

So, I transferred the Linux executable back and forth. STEAM one works fine in the temp YYC build folder, YYC doesn't work in the STEAM folder.

Both folders *SEEM* the same, so I diff...

Aha. The "game.unx" file (big file, 40MB or so) is different. everything else (included files, and even the game executable) is *identical*.


Obviously, I can't upload the working game.unx directly to STEAM, as it's specific to each build attempt / state, and I'm suspicious that either:-


a) GMS2's 'Create Executable' STEAM-uploadable output 'game.unx' file is broken - (I'll compare the output executable's 'game.unx' versus the one created on the Linux box).

b) STEAM is somehow screwing the file up, once I upload the build anyway, during its DRM, compression, etc process?



Any thoughts or advice would be, as usual, really appreciated! - but simply put - I copy the "game.unx" file back and forth, and only the one with the 'good' game.unx works - the other won't even launch - exits before it even appears, as if it's never been launched...

At least I DO appear to be getting somewhere, just unsure of the next step... :( I mean, how do I ensure that if the file IS good, from GMS2, that STEAM doesn't bugger it up during uploading, or conversely, if somehow GMS2 is outputting a broken file (which I honestly find more unlikely, but possible), how do I go about getting this fixed.... argh.... :)
 

Japster

Member
Well, even though the game.unx file is STILL different after retrying, I used a tip someone mentioned elsewhere about running the executable directly from Terminal.

This threw up a load of helpful messages, mainly that it didn't seem to like Steamworks gml, but when ran (both executables), it exited immediately afterwards on the Steam game.unx, and continued using the YYC 'RUN' game.unx, although both had the EXACT same error output until that point (the YYC then added more while it was starting up properly, but visually worked and ran. Weird. so I've removed Steamworks gml for now, to further check.

Another thing that finally got me running was that even though libsteam_api.so is sitting in the game folder (and the assets folder), the game simply does not seem to see it (more messages that popped up on running it from Terminal), so following another forum's suggestion, sudo copying it manually into "/lib32" works - The game fires up and seems to run fine, albeit with the steamworks error that I'm currently rebuilding minus it for.

So getting closer, but seeing if the new build minus Steamworks, works for Linux, or if I still need to somehow move the file there on a user's installation - seems hacky, when really, I'd expect the built GMS game to reference the lib already in the game folder? (This was the issue with the other game mentioned in the Steam forum I visited - wondering if it might also be a GM/GMS game.... )


EDIT:- I officially give up.... After rebuilding minus Steamworks just as a test, I have the same problem where the game.unx file is duff, but now, even though dropping the steam_api.so into the lib folder worked before, now neither of the methods I used before work.... 3-4 days in a row spent wasting my time... (and weeks solid altogether, trying to get it to work for Linux) ...to hell with it, life's too short for this... :(
 
Last edited:
Top