Jump to content

Linux Install Script


Josh
 Share

Recommended Posts

You shouldn't need this on Steam, but this is the install script for all dependencies we've been using to add dependencies:

#!/bin/bash

packages=(libc6:i386 libgcc1:i386 libgl1-mesa-glx:i386 libglib2.0-0:i386
        libopenal1:i386 libopenal1 libstdc++6:i386 libx11-6:i386 libxxf86vm1:i386
        gtk2-engines:i386 gtk2-engines-murrine:i386 unity-gtk2-module:i386 libdbusmenu-glib4:i386)

pkgcnt=$(dpkg -l "${packages[@]}" | grep ^ii | wc -l)

if [ "$pkgcnt" -ge ${packages[#]} ]; then
  # Everything's installed, so exit quietly
  exit 0
fi

cat <<EOF
Leadwerks requires the following extra packages to function correctly:
${packages[*]}

Do you wish to install them? [Yn]
EOF

while read response; do
  case $response in
      y|Y|"")
          sudo apt-get install ${packages[@]}
          ret=$?

          if [ $ret -eq 0 ]; then
              echo "Successfully installed packages."
              exit 0
          else
              echo "Failed to install packages. Try again? [Yn]"
          fi
          ;;

      n|N)
          echo "Aborting as per user request."
          exit 1
          ;;

      *)
          echo "Please enter y or n."
  esac
done

  • Upvote 4

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

  • 2 years later...
  • 1 month later...

Here is a modified Script that includes the needed dev packages to build Leadwerks. Just tried it on a fresh install of Ubuntu 16.04 and worked flawlessly.

 

#!/bin/bash
packages=(libc6:i386 libgcc1:i386 libgl1-mesa-glx:i386 libglib2.0-0:i386
			 libopenal1:i386 libopenal1 libstdc++6:i386 libx11-6:i386 libxxf86vm1:i386
			 gtk2-engines:i386 gtk2-engines-murrine:i386 unity-gtk2-module:i386 libdbusmenu-glib4:i386
			 mesa-common-dev libglu1-mesa-dev libopenal-dev libxft-dev libxrender-dev libtolua++5.1-dev libcurl4-openssl-dev)
pkgcnt=$(dpkg -l "${packages[@]}" | grep ^ii | wc -l)
if [ "$pkgcnt" -ge ${packages[#]} ]; then
# Everything's installed, so exit quietly
exit 0
fi
cat <<EOF
Leadwerks requires the following extra packages to function correctly:
${packages[*]}
Do you wish to install them? [Yn]
EOF
while read response; do
case $response in
	 y|Y|"")
			 sudo apt-get install ${packages[@]}
			 ret=$?
			 if [ $ret -eq 0 ]; then
					 echo "Successfully installed packages."
					 exit 0
			 else
					 echo "Failed to install packages. Try again? [Yn]"
			 fi
			 ;;
	 n|N)
			 echo "Aborting as per user request."
			 exit 1
			 ;;
	 *)
			 echo "Please enter y or n."
esac
done
 

 

ibtolua++5.1-dev isn't necessary, but it'll allow you to generate tolua pkg files.

Edited by reepblue
Added "libcurl4-openssl-dev" for 4.4
  • Upvote 2

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

  • 6 months later...
  • 2 weeks later...

I made a git repo to future update the script. Please update this overtime. 

https://github.com/reepblue/leadwerks-get-packages

Also. unless Steam pulls this already, I think we can remove unity-gtk2-module:i386 once Gnome takes over the Ubuntu desktop, but not 100% sure. Hence why the script is on a git.

To Install:

wget https://raw.githubusercontent.com/reepblue/leadwerks-get-packages/master/leadwerks-get-packages.sh
bash leadwerks-get-packages.sh

 

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

  • 5 months later...

Installing the Nvidia driver on 12.04 now requires the following (GE Force 780):

  1. Download the attached file and save to ~/Downloads.
  2. Use ctrl + alt + F1 to switch to terminal,
  3. login.
  4. "sudo service lightdm stop"
  5. "cd ~Downloads"
  6. "sudo ./NVIDIA.run"
  7. "sudo service lightdm start"

NVIDIA.run

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

More fun with Steam:
https://steamcommunity.com/app/221410/discussions/0/143388132205370678/

Quote

Hi everyone,

After the latest steam client update - Jan 19th, 2017 - I noticed my Steam Client was no longer working correctly. Specific issues included endless page loads when accessing the store, and the inability to run games like Life Is Strange, etc.

Starting Steam from the command line, I noticed errors like this:

steamwebhelper: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by libcef.so)
steamwebhelper: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by libcef.so)

Poking around, I noticed my Ubuntu 12.04 LTS had the current version of libstdc++.so.6 - version 16 - and Steam had it's own version - version 21. I'd never had issues like this before - usually everything loaded the libraries it needed - but for some reason, Steam was ignoring its own libraries.

So - what changed?

The answer is in the Steam Client changelog:
http://store.steampowered.com/news/?feed=steam_client

"Improved interactions between the Steam runtime and host distribution libraries, which should let Steam work out of the box with open-source graphics drivers on modern distributions. If using an older distribution or running into problems, use STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 to revert to previous behavior."

That was it - adding that system variable and relaunching it from the shell fixed the issues.

I'm not sure the best place to put that command permanently. I added it to /usr/bin/steam for now - if anyone has a better suggesetion - please let me know.

i.e. at the top of /usr/bin/steam, just under the first commented lines:

------------------------------------------------

#!/usr/bin/env bash
#
# This is the Steam script that typically resides in /usr/bin
# It will create the Steam bootstrap if necessary and then launch steam.

# Ubuntu 12.04 LTS compatibility fix - 1/21/17
export STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0

------------------------------------------------

Hope this helps someone!

Cheers,
Paul

 

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

For future ref, you should just make one shell script that has everything you need to build LE on with all the developer libs and such. I also made a "consumer version" which just pulls the static objects for the app to run.

It's really gross seeing you use a unsupported version of Ubuntu, but I recall you saying something about it's the only version that Leadwerks compiles on. I really hope you can move to a modern version of Ubuntu or anything Debian based for LE5. After all, Wayland is out with Ubuntu 17.10, and slowly but surely it'll replace X11. It would be really cool if LE was 100% supported with the latest features that the Linux community has to offer!

 

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

  • 1 month later...
  • Josh unpinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...