Getting started with MISO on google cloud from a debian linux client for free

The suggestion is to make the system be able to be built on the free tier of google, currently it fails on out of memory.

This post is based on work done by https://twitter.com/dmjio and I thank him for his support.

First of all, you can get $300 for signing up to google cloud to begin with but after that you have limited services for free. https://cloud.google.com/free/

In google cloud compute instances you have a free tier for f1-micro shared vms running debian for free.
First you want to setup your budget of zero
under https://console.cloud.google.com/billing
image

Then go to compute instances https://console.cloud.google.com/compute/instances
You can select us-east1 as the region.
image

on your linux client box :
cat ~/.ssh/id_rsa.pub

Then you edit the ssh keys and add that in :
image
Click on add item.

Then you can ssh into the machine, you can click on the ssh button.
image

That will open an ssh console
image

If you want to get your ip address you can curl ifconfig.io
jamesmikedupont@instance-1:~$ curl ifconfig.io

And then ssh to that address from your real ssh client

First get a prereq :
sudo apt-get install bzip2 git build-essential

Then install nix :
curl https://nixos.org/nix/install | sh

Then you can source that one time in your shell
. ~/.nix-profile/etc/profile.d/nix.sh

Now clone the repo :
git clone https://github.com/dmjio/miso

cd miso/sample-app
nix-build

This will take a long time, get some fresh coffee and have a lunch.

After that it fails and runs out of memory

Build with /nix/store/vigz250nbs474p2f8fzhbxpb260941ds-ghcjs-0.2.0.
unpacking sources
unpacking source archive /nix/store/jhjpph8vf8kf9rjicm02n5j5ar48v0yg-ghcjs-boot-8c54993-patched/boot/cabal/Cabal
source root is Cabal
patching sources
Run jailbreak-cabal to lift version restrictions on build inputs.
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-Cabal-1.22.8.0.drv-0/package.conf.d -build-runner -j1
[ 1 of 79] Compiling Distribution.PackageDescription.Utils ( Distribution/PackageDescription/Utils.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/PackageDescription/Utils.js_o )
[ 2 of 79] Compiling Distribution.Simple.CCompiler ( Distribution/Simple/CCompiler.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/CCompiler.js_o )
[ 3 of 79] Compiling Distribution.Simple.PreProcess.Unlit ( Distribution/Simple/PreProcess/Unlit.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/PreProcess/Unlit.js_o )
[ 4 of 79] Compiling Distribution.TestSuite ( Distribution/TestSuite.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/TestSuite.js_o )
[ 5 of 79] Compiling Distribution.Compat.CreatePipe ( Distribution/Compat/CreatePipe.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compat/CreatePipe.js_o )
[ 6 of 79] Compiling Distribution.GetOpt ( Distribution/GetOpt.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/GetOpt.js_o )
[ 7 of 79] Compiling Distribution.Compat.Binary ( Distribution/Compat/Binary.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compat/Binary.js_o )
[ 8 of 79] Compiling Distribution.Compat.ReadP ( Distribution/Compat/ReadP.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compat/ReadP.js_o )
[ 9 of 79] Compiling Distribution.ReadE ( Distribution/ReadE.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/ReadE.js_o )
[10 of 79] Compiling Distribution.Compat.Exception ( Distribution/Compat/Exception.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compat/Exception.js_o )
[11 of 79] Compiling Distribution.Compat.TempFile ( Distribution/Compat/TempFile.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compat/TempFile.js_o )
[12 of 79] Compiling Distribution.Compat.CopyFile ( Distribution/Compat/CopyFile.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compat/CopyFile.js_o )
[13 of 79] Compiling Distribution.Compat.Environment ( Distribution/Compat/Environment.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compat/Environment.js_o )
[14 of 79] Compiling Distribution.Text ( Distribution/Text.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Text.js_o )
[15 of 79] Compiling Distribution.ModuleName ( Distribution/ModuleName.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/ModuleName.js_o )
[16 of 79] Compiling Distribution.Verbosity ( Distribution/Verbosity.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Verbosity.js_o )
[17 of 79] Compiling Distribution.System ( Distribution/System.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/System.js_o )
[18 of 79] Compiling Language.Haskell.Extension ( Language/Haskell/Extension.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Language/Haskell/Extension.js_o )
[19 of 79] Compiling Distribution.Version ( Distribution/Version.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Version.js_o )
[20 of 79] Compiling Distribution.License ( Distribution/License.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/License.js_o )
[21 of 79] Compiling Distribution.Compiler ( Distribution/Compiler.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Compiler.js_o )
[22 of 79] Compiling Distribution.Simple.Compiler ( Distribution/Simple/Compiler.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Compiler.js_o )
[23 of 79] Compiling Distribution.Simple.GHC.ImplInfo ( Distribution/Simple/GHC/ImplInfo.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/GHC/ImplInfo.js_o )
[24 of 79] Compiling Distribution.Package ( Distribution/Package.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Package.js_o )
[25 of 79] Compiling Distribution.PackageDescription ( Distribution/PackageDescription.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/PackageDescription.js_o )
[26 of 79] Compiling Distribution.Simple.Utils ( Distribution/Simple/Utils.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Utils.js_o )
[27 of 79] Compiling Distribution.PackageDescription.Configuration ( Distribution/PackageDescription/Configuration.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/PackageDescription/Configuration.js_o )
[28 of 79] Compiling Distribution.Utils.NubList ( Distribution/Utils/NubList.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Utils/NubList.js_o )
[29 of 79] Compiling Distribution.Simple.Program.Find ( Distribution/Simple/Program/Find.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Find.js_o )
[30 of 79] Compiling Distribution.Simple.Program.Types ( Distribution/Simple/Program/Types.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Types.js_o )
[31 of 79] Compiling Distribution.Simple.Program.Run ( Distribution/Simple/Program/Run.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Run.js_o )
[32 of 79] Compiling Distribution.Simple.Program.Script ( Distribution/Simple/Program/Script.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Script.js_o )
[33 of 79] Compiling Distribution.Simple.Program.Ld ( Distribution/Simple/Program/Ld.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Ld.js_o )
[34 of 79] Compiling Distribution.Simple.Program.Builtin ( Distribution/Simple/Program/Builtin.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Builtin.js_o )
[35 of 79] Compiling Distribution.Simple.Program.Db ( Distribution/Simple/Program/Db.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Db.js_o )
[36 of 79] Compiling Distribution.Simple.Program ( Distribution/Simple/Program.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program.js_o )
[37 of 79] Compiling Distribution.Simple.Program.Hpc ( Distribution/Simple/Program/Hpc.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Hpc.js_o )
[38 of 79] Compiling Distribution.Simple.Program.Strip ( Distribution/Simple/Program/Strip.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Strip.js_o )
[39 of 79] Compiling Distribution.Simple.InstallDirs ( Distribution/Simple/InstallDirs.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/InstallDirs.js_o )
[40 of 79] Compiling Distribution.ParseUtils ( Distribution/ParseUtils.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/ParseUtils.js_o )
[41 of 79] Compiling Distribution.PackageDescription.Parse ( Distribution/PackageDescription/Parse.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/PackageDescription/Parse.js_o )
[42 of 79] Compiling Distribution.Simple.Command ( Distribution/Simple/Command.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Command.js_o )
[43 of 79] Compiling Distribution.Simple.Setup ( Distribution/Simple/Setup.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Setup.js_o )
[44 of 79] Compiling Distribution.Simple.Program.GHC ( Distribution/Simple/Program/GHC.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/GHC.js_o )
[45 of 79] Compiling Distribution.InstalledPackageInfo ( Distribution/InstalledPackageInfo.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/InstalledPackageInfo.js_o )
[46 of 79] Compiling Distribution.Simple.PackageIndex ( Distribution/Simple/PackageIndex.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/PackageIndex.js_o )
[47 of 79] Compiling Distribution.Simple.LocalBuildInfo ( Distribution/Simple/LocalBuildInfo.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/LocalBuildInfo.js_o )
[48 of 79] Compiling Distribution.Simple.BuildPaths ( Distribution/Simple/BuildPaths.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/BuildPaths.js_o )
[49 of 79] Compiling Distribution.Simple.Hpc ( Distribution/Simple/Hpc.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Hpc.js_o )
[50 of 79] Compiling Distribution.Simple.Program.Ar ( Distribution/Simple/Program/Ar.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/Ar.js_o )
[51 of 79] Compiling Distribution.Simple.JHC ( Distribution/Simple/JHC.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/JHC.js_o )
[52 of 79] Compiling Distribution.Simple.UHC ( Distribution/Simple/UHC.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/UHC.js_o )
[53 of 79] Compiling Distribution.Simple.HaskellSuite ( Distribution/Simple/HaskellSuite.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/HaskellSuite.js_o )
[54 of 79] Compiling Distribution.Simple.Build.Macros ( Distribution/Simple/Build/Macros.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Build/Macros.js_o )
[55 of 79] Compiling Distribution.Simple.Build.PathsModule ( Distribution/Simple/Build/PathsModule.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Build/PathsModule.js_o )
[56 of 79] Compiling Distribution.Simple.BuildTarget ( Distribution/Simple/BuildTarget.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/BuildTarget.js_o )
[57 of 79] Compiling Distribution.Simple.Program.HcPkg ( Distribution/Simple/Program/HcPkg.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Program/HcPkg.js_o )
[58 of 79] Compiling Distribution.Simple.LHC ( Distribution/Simple/LHC.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/LHC.js_o )
[59 of 79] Compiling Distribution.Simple.Test.Log ( Distribution/Simple/Test/Log.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Test/Log.js_o )
[60 of 79] Compiling Distribution.Simple.Test.LibV09 ( Distribution/Simple/Test/LibV09.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Test/LibV09.js_o )
[61 of 79] Compiling Distribution.Simple.PreProcess ( Distribution/Simple/PreProcess.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/PreProcess.js_o )
[62 of 79] Compiling Distribution.Simple.UserHooks ( Distribution/Simple/UserHooks.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/UserHooks.js_o )
[63 of 79] Compiling Distribution.Simple.Bench ( Distribution/Simple/Bench.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Bench.js_o )
[64 of 79] Compiling Distribution.Simple.Test.ExeV10 ( Distribution/Simple/Test/ExeV10.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Test/ExeV10.js_o )
[65 of 79] Compiling Distribution.Simple.Test ( Distribution/Simple/Test.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Test.js_o )
[66 of 79] Compiling Distribution.Simple.GHC.Internal ( Distribution/Simple/GHC/Internal.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/GHC/Internal.js_o )
[67 of 79] Compiling Distribution.Simple.GHCJS ( Distribution/Simple/GHCJS.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/GHCJS.js_o )
[68 of 79] Compiling Distribution.Simple.GHC.IPI642 ( Distribution/Simple/GHC/IPI642.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/GHC/IPI642.js_o )
[69 of 79] Compiling Distribution.Simple.GHC.IPI641 ( Distribution/Simple/GHC/IPI641.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/GHC/IPI641.js_o )
[70 of 79] Compiling Distribution.Simple.GHC ( Distribution/Simple/GHC.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/GHC.js_o )
[71 of 79] Compiling Distribution.Simple.Register ( Distribution/Simple/Register.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Register.js_o )
[72 of 79] Compiling Distribution.Simple.Build ( Distribution/Simple/Build.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Build.js_o )
[73 of 79] Compiling Distribution.Simple.Install ( Distribution/Simple/Install.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Install.js_o )
[74 of 79] Compiling Distribution.Simple.Haddock ( Distribution/Simple/Haddock.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Haddock.js_o )
[75 of 79] Compiling Distribution.PackageDescription.Check ( Distribution/PackageDescription/Check.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/PackageDescription/Check.js_o )
[76 of 79] Compiling Distribution.Simple.SrcDist ( Distribution/Simple/SrcDist.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/SrcDist.js_o )
[77 of 79] Compiling Distribution.Simple.Configure ( Distribution/Simple/Configure.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple/Configure.js_o )
[78 of 79] Compiling Distribution.Simple ( Distribution/Simple.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Distribution/Simple.js_o )
[79 of 79] Compiling Main             ( Setup.hs, /tmp/nix-build-Cabal-1.22.8.0.drv-0/Main.js_o )
Linking Setup.jsexe (Distribution.Compat.Binary,Distribution.Compat.CopyFile,Distribution.Compat.CreatePipe,Distribution.Compat.Environment,Distribution.Compat.Exception,Distribution.Compat.ReadP,Distribution.Compat.TempFile,Distribution.Compiler,Distribution.GetOpt,Distribution.InstalledPackageInfo,Distribution.License,Distribution.ModuleName,Distribution.Package,Distribution.PackageDescription,Distribution.PackageDescription.Check,Distribution.PackageDescription.Configuration,Distribution.PackageDescription.Parse,Distribution.PackageDescription.Utils,Distribution.ParseUtils,Distribution.ReadE,Distribution.Simple,Distribution.Simple.Bench,Distribution.Simple.Build,Distribution.Simple.Build.Macros,Distribution.Simple.Build.PathsModule,Distribution.Simple.BuildPaths,Distribution.Simple.BuildTarget,Distribution.Simple.CCompiler,Distribution.Simple.Command,Distribution.Simple.Compiler,Distribution.Simple.Configure,Distribution.Simple.GHC,Distribution.Simple.GHC.IPI641,Distribution.Simple.GHC.IPI642,Distribution.Simple.GHC.ImplInfo,Distribution.Simple.GHC.Internal,Distribution.Simple.GHCJS,Distribution.Simple.Haddock,Distribution.Simple.HaskellSuite,Distribution.Simple.Hpc,Distribution.Simple.Install,Distribution.Simple.InstallDirs,Distribution.Simple.JHC,Distribution.Simple.LHC,Distribution.Simple.LocalBuildInfo,Distribution.Simple.PackageIndex,Distribution.Simple.PreProcess,Distribution.Simple.PreProcess.Unlit,Distribution.Simple.Program,Distribution.Simple.Program.Ar,Distribution.Simple.Program.Builtin,Distribution.Simple.Program.Db,Distribution.Simple.Program.Find,Distribution.Simple.Program.GHC,Distribution.Simple.Program.HcPkg,Distribution.Simple.Program.Hpc,Distribution.Simple.Program.Ld,Distribution.Simple.Program.Run,Distribution.Simple.Program.Script,Distribution.Simple.Program.Strip,Distribution.Simple.Program.Types,Distribution.Simple.Register,Distribution.Simple.Setup,Distribution.Simple.SrcDist,Distribution.Simple.Test,Distribution.Simple.Test.ExeV10,Distribution.Simple.Test.LibV09,Distribution.Simple.Test.Log,Distribution.Simple.UHC,Distribution.Simple.UserHooks,Distribution.Simple.Utils,Distribution.System,Distribution.TestSuite,Distribution.Text,Distribution.Utils.NubList,Distribution.Verbosity,Distribution.Version,Language.Haskell.Extension,Main)
ghcjs-0.2.0-7.10.3.bin: out of memory (requested 2097152 bytes)
builder for /nix/store/mnfp6a4a4qk07bzqaczx4qbh4jrxqkn9-Cabal-1.22.8.0.drv failed with exit code 1
fetching path /nix/store/w2gh2pjx0njpk18b9vpdv6g17fdmg17l-qtlocation-5.9.1-dev...
cannot build derivation /nix/store/x1873c44hdgq59f2y2lq56bnmclq5kkf-hscolour-1.24.2.drv: 1 dependencies couldn't be built
killing process 12392
cannot build derivation ‘/nix/store/xshx44z2b9hqwmd6jmr4lzfkmimh8700-Cabal-1.22.8.0.drv’: 1 dependencies couldn't be built
cannot build derivation /nix/store/9c9418ibcpq3jd88yg4h5whf70pryf08-miso-0.10.0.0.drv: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/9djvn4z746r9zf34ncn98ig17xf5n6xp-app-0.1.0.0.drv’: 1 dependencies couldn't be built
error: build of /nix/store/9djvn4z746r9zf34ncn98ig17xf5n6xp-app-0.1.0.0.drv failed



Posted on Utopian.io - Rewarding Open Source Contributors

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now