Getting a Linux program up and running #2

Previous topic - Next topic

MrTAToad

One other thing that isn't included is the SDL library - however, there should be no problem getting that.

Kuron


MrTAToad

By the way, you've blocked my personal messages - with regards to your query, I only tend to use simple things in Terminal and just stick to the GUI...

Kuron

Apologies, about that.  I have 20/200 sometimes "options" get set improperly  :(

CrystalNoir

#34
Hi everybody,

I've done some testing with the last Ubuntu 11.04 Natty and there is a few step to get GLbasic apps to work properly ;)

I started with a fresh install of Ubuntu.

1 - Install Ubuntu 11.04

So, that's easy, just install the Os. Follow the process.

2. Update Ubuntu

You need to update Ubuntu first. To do this, follow these steps

Code (glbasic) Select
sudo apt-get update

Code (glbasic) Select
sudo apt-get dist-upgrade

Code (glbasic) Select
sudo apt-get upgrade

That's take a while to complete...and the reboot the system

3 - The graphic card

I have an ATI video card, but it's the same with Nvidia.

Ubuntu tells you that there are some owner drivers of your card. Install them. If Ubuntu doesn't say anything, just go in the system properties and click on the "Other drivers" option to install them.

4 - Installing free and non-free codec

I've installed some codecs before try running a GLBasic program. These codecs let you play some multimedia files like mp3, video etc..

To do all of these, we use the medibuntu repo. I give you a link that explain you how to use Medibuntu repo. Be aware that for some codecs there is a legal notice, depend of the country you are :

https://help.ubuntu.com/community/Medibuntu

5 - And that'all ?

Yes ! that's all, you don't need anything else. SDL en stdc++ are already installed :) you can now enjoy GLBasic App under Linux :)

I tested this on my PC (AMD x64) with Ubuntu 11.04

Have fun and Happy GLB !



fuzzy70

I recently installed Ubuntu 13.04 x64 & I get the following error
Code (glbasic) Select
./lesson_thirteen.linux: error while loading shared libraries: libSDL_mixer-1.2.so.0: cannot open shared object file: No such file or directory


SDL Mixer is installed including the dev package so naturally I assume it is the x64 version. Obviously building my own from the SDL source creates a x64 version as well. A google search lead me to some Ubuntu forums with regards to installing 32bit libs by appending :i386 to the end of the required package (used to have a different ending but changed in V11 or 12 of ubuntu).

After entering
Code (glbasic) Select
sudo apt-get install libsdl-mixer1.2:i386
everything works fine.

A WORD OF WARNING: DO NOT INSTALL THE 32bit DEV FILES OTHERWISE IT WILL WANT TO REMOVE A LOT OF PACKAGES.
for example entering
Code (glbasic) Select
sudo apt-get install libsdl-mixer1.2-dev:i386
comes up with this
Code (glbasic) Select
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libaubio2 libbcmail-java libbctsp-java libboost-chrono-dev
  libboost-date-time-dev libboost-filesystem-dev libboost-graph-dev
  libboost-graph-parallel-dev libboost-iostreams-dev libboost-locale-dev
  libboost-math-dev libboost-mpi-dev libboost-program-options-dev
  libboost-random-dev libboost-regex-dev libboost-serialization-dev
  libboost-signals-dev libboost-system-dev libboost-test-dev
  libboost-thread-dev libboost-timer-dev libboost-wave-dev libcloog-ppl1:i386
  libdbus-1-dev libflac-dev libgcc-4.7-dev:i386 libgconfmm-2.6-1c2
  libgmp10:i386 libgmpxx4ldbl:i386 libgomp1:i386 libgoocanvas-common
  libgoocanvas3 libgtkglext1 libgtkimageview0 libitm1:i386 liblensfun-data
  liblensfun0 libmikmod2-dev libmpc2:i386 libmpfr4:i386 libogg-dev
  libpcre3-dev libpcrecpp0 libppl-c4:i386 libppl12:i386 libquadmath0:i386
  libsdl-gfx1.2-4 libsdl-sound1.2 libsdl-stretch-0-3 libsmpeg0 libtiff-tools
  libvamp-sdk2 libvorbis-dev linux-image-generic mypaint-data openshot-doc
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  jackd1 jackd1-firewire libasound2-dev:i386 libavahi-client-dev:i386
  libavahi-common-dev:i386 libbz2-1.0:i386 libc6-dev:i386 libcaca-dev:i386
  libdbus-1-dev:i386 libdrm-dev:i386 libflac-dev:i386 libgl1-mesa-dev:i386
  libglib2.0-dev:i386 libglu1-mesa-dev:i386 libjack0 libkms1:i386
  libmad0-dev:i386 libmikmod2-dev:i386 libogg-dev:i386 libpcre3-dev:i386
  libpcrecpp0:i386 libpng12-dev:i386 libpthread-stubs0:i386
  libpthread-stubs0-dev:i386 libpulse-dev:i386 libpulse-mainloop-glib0:i386
  libpython-stdlib:i386 libpython2.7-minimal:i386 libpython2.7-stdlib:i386
  libreadline6:i386 libsdl1.2-dev:i386 libslang2-dev:i386 libvorbis-dev:i386
  libx11-dev:i386 libx11-doc libx11-xcb-dev:i386 libxau-dev:i386
  libxcb-dri2-0-dev:i386 libxcb-glx0-dev:i386 libxcb1-dev:i386
  libxdamage-dev:i386 libxdmcp-dev:i386 libxext-dev:i386 libxfixes-dev:i386
  libxxf86vm-dev:i386 linux-libc-dev:i386 mesa-common-dev:i386 python:i386
  python-minimal:i386 python2.7:i386 python2.7-minimal:i386 zlib1g-dev:i386
Suggested packages:
  libasound2-doc:i386 glibc-doc:i386 manpages-dev:i386 libglib2.0-doc:i386
  libxcb-doc:i386 libxext-doc:i386 python-doc:i386 python-tk:i386
  python2.7-doc:i386 binutils:i386
Recommended packages:
  gcc:i386 c-compiler:i386 libx11-doc:i386
The following packages will be REMOVED
  a2jmidid activity-log-manager-control-center agave aisleriot
  apt-xapian-index apturl ardour build-essential compiz compiz-gnome deja-dup
  deja-dup-backend-gvfs deja-dup-backend-ubuntuone dkms duplicity
  ffado-mixer-qt4 ffado-tools fglrx-amdcccle-updates fglrx-updates
  flashplugin-installer font-manager g++ gcc gccxml gconf2 gedit gimp
  gimp-cbmplugs gimp-gap gimp-gmic gimp-plugin-registry gimp-ufraw gladish
  gnome-sudoku gnome-terminal gnome-terminal-data gnome-user-share
  gstreamer0.10-gconf gtk-recordmydesktop hplip hplip-data ibus ibus-pinyin
  ibus-table inkscape invada-studio-plugins-lv2 jack-mixer jack-rack jackd2
  jackd2-firewire ladish laditools landscape-client-ui-install
  libasound2-plugins:i386 libavahi-client-dev libavahi-common-dev
  libbcprov-java libbonoboui2-0 libboost-all-dev libboost-mpi-python-dev
  libboost-mpi-python1.49-dev libboost-mpi-python1.49.0 libboost-python-dev
  libboost-python1.49-dev libcaca-dev libdrm-dev libgcj-common libgl1-mesa-dev
  libglib2.0-dev libglu1-mesa-dev libgnome-vfs2.0-cil libgnome2-0
  libgnome2-bin libgnome2-common libgnome2.24-cil libgnomeui-0 libgnomevfs2-0
  libgnomevfs2-common libgnomevfs2-extra libitext-java libjack-jackd2-0
  libjack-jackd2-0:i386 libmad0-dev libpng12-dev libpulse-dev libpurple-bin
  libreoffice-gnome libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev
  libsdl-sge-dev libsdl-sound1.2-dev libsdl-stretch-dev libsdl-ttf2.0-dev
  libsdl1.2-dev libslang2-dev libsmpeg-dev libswt-gnome-gtk-3-jni
  libsyncdaemon-1.0-1 libx11-xcb-dev libxdamage-dev libxfixes-dev
  libxxf86vm-dev lightdm-remote-session-uccsconfigure lv2fil mesa-common-dev
  monodevelop monodevelop-debugger-gdb mypaint nautilus-share oneconf
  oneconf-common open-vm-dkms openshot printer-driver-postscript-hp
  printer-driver-sag-gdi python python-appindicator python-apt
  python-aptdaemon python-aptdaemon.gtk3widgets python-cairo python-central
  python-changesettings python-chardet python-configglue python-crypto
  python-cups python-cupshelpers python-dbus python-debian python-debtagshw
  python-defer python-dev python-dirspec python-enum python-fpconst
  python-gconf python-gi python-gi-cairo python-glade2 python-gnomekeyring
  python-gobject python-gobject-2 python-gtk2 python-httplib2 python-ibus
  python-imaging python-imaging-compat python-laditools python-libxml2
  python-lxml python-mako python-markupsafe python-minimal python-mlt5
  python-notify python-numpy python-oauthlib python-oneconf python-openssl
  python-pam python-pexpect python-piston-mini-client python-pkg-resources
  python-protobuf python-pyasn1 python-pycurl python-pygame python-pygoocanvas
  python-pyinotify python-qt4 python-qt4-dbus python-renderpm python-reportlab
  python-reportlab-accel python-serial python-sip python-six python-smbc
  python-support python-tk python-twisted python-twisted-bin
  python-twisted-conch python-twisted-core python-twisted-lore
  python-twisted-mail python-twisted-names python-twisted-news
  python-twisted-runner python-twisted-web python-twisted-words
  python-ubuntu-sso-client python-ubuntuone-client
  python-ubuntuone-control-panel python-ubuntuone-storageprotocol
  python-uniconvertor python-xapian python-xdg python-zeitgeist
  python-zope.interface python2.7 python2.7-dev python2.7-minimal
  python3-oneconf rhythmbox rhythmbox-mozilla rhythmbox-plugin-cdrecorder
  rhythmbox-plugin-magnatune rhythmbox-plugin-zeitgeist rhythmbox-plugins
  rhythmbox-ubuntuone scribus sessioninstaller software-center
  software-center-aptdaemon-plugins system-config-printer-common
  system-config-printer-gnome system-config-printer-udev texlive-extra-utils
  totem totem-mozilla totem-plugins ttf-mscorefonts-installer tuxguitar
  tuxguitar-alsa tuxguitar-oss ubuntu-desktop ubuntu-release-upgrader-gtk
  ubuntu-sso-client ubuntu-sso-client-qt ubuntu-system-service
  ubuntuone-client ubuntuone-client-gnome ubuntuone-control-panel
  ubuntuone-control-panel-qt ubuntustudio-audio ubuntustudio-audio-plugins
  ubuntustudio-controls ubuntustudio-graphics ubuntustudio-publishing
  ubuntustudio-recording ubuntustudio-video unity unity-scope-musicstores
  unity-tweak-tool update-manager update-notifier update-notifier-common vuze
  yafaray-exporter zeitgeist zeitgeist-core zeitgeist-datahub zynjacku
The following NEW packages will be installed
  jackd1 jackd1-firewire libasound2-dev:i386 libavahi-client-dev:i386
  libavahi-common-dev:i386 libbz2-1.0:i386 libc6-dev:i386 libcaca-dev:i386
  libdbus-1-dev:i386 libdrm-dev:i386 libflac-dev:i386 libgl1-mesa-dev:i386
  libglib2.0-dev:i386 libglu1-mesa-dev:i386 libjack0 libkms1:i386
  libmad0-dev:i386 libmikmod2-dev:i386 libogg-dev:i386 libpcre3-dev:i386
  libpcrecpp0:i386 libpng12-dev:i386 libpthread-stubs0:i386
  libpthread-stubs0-dev:i386 libpulse-dev:i386 libpulse-mainloop-glib0:i386
  libpython-stdlib:i386 libpython2.7-minimal:i386 libpython2.7-stdlib:i386
  libreadline6:i386 libsdl-mixer1.2-dev:i386 libsdl1.2-dev:i386
  libslang2-dev:i386 libvorbis-dev:i386 libx11-dev:i386 libx11-doc
  libx11-xcb-dev:i386 libxau-dev:i386 libxcb-dri2-0-dev:i386
  libxcb-glx0-dev:i386 libxcb1-dev:i386 libxdamage-dev:i386 libxdmcp-dev:i386
  libxext-dev:i386 libxfixes-dev:i386 libxxf86vm-dev:i386 linux-libc-dev:i386
  mesa-common-dev:i386 python:i386 python-minimal:i386 python2.7:i386
  python2.7-minimal:i386 zlib1g-dev:i386
0 upgraded, 53 newly installed, 256 to remove and 0 not upgraded.
Need to get 21.6 MB of archives.
After this operation, 658 MB disk space will be freed.
Do you want to continue [Y/n]?


As you can see it would cause a lot of problems to your install.

If you distribute your app/game etc on Linux (ubuntu that is as not sure on other distro's) it might be worth mentioning the need for the 32bit SDL_Mixer if they are running an x64 system.

Lee
"Why don't you just make ten louder and make ten be the top number and make that a little louder?"
- "These go to eleven."

This Is Spinal Tap (1984)

kanonet

So with this it can run on 64bit linux? Cool I always though we are limited to 32bit linux.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

fuzzy70

It's still a 32bit program obviously but that's all I had to type to get it working. I'm running GLB in windows XP via VMWARE player & assigned a shared directory so I can compile straight to the directory on the linux host without messing about making it in windows then rebooting into linux etc etc.

Lee
"Why don't you just make ten louder and make ten be the top number and make that a little louder?"
- "These go to eleven."

This Is Spinal Tap (1984)

MrTAToad

A lot of the packages that GLBasic Linux programs needs are no longer supported - getting the required files are certainly problematic now unfortunately.  Gernot did try with the lastest library files, but there were... problems...

fuzzy70

Quote from: MrTAToad on 2013-May-24
A lot of the packages that GLBasic Linux programs needs are no longer supported - getting the required files are certainly problematic now unfortunately.  Gernot did try with the lastest library files, but there were... problems...

One command worked for me so maybe it was luck with the current version of Ubuntu. It did download another 7 or 8 packages along with sdl_mixer x32 but no more than a couple of MB's worth total.

With regards to your post about the latest libraries, are you referring to x64 versions or other distro's like Redhat/Suse/Debian etc.

It would be interesting to know what required files GLB needs for Linux are getting problematic to obtain, purely for an inquisitive point of view. I just installed Purebasic as well & that was fun with it's dependencies, however that is a native app unlike GLB so expected some hassle in that department  :D

Lee
"Why don't you just make ten louder and make ten be the top number and make that a little louder?"
- "These go to eleven."

This Is Spinal Tap (1984)

MrTAToad

Its mainly the C/C++ library - it is now rather difficult to get.

kanonet

Since some time almost everything is included, only needed packages are the SDL mixer ones. At least thats the experince that i made with Ubuntu related distros.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

MrTAToad

#42
It will try to install the C library too if needed - the problem being the latest one isn't compatible and by default older versions are not longer available...

Its even worse with the 64-bit version of Ubuntu...

Hark0



Hi! I just downloaded yesterday last Ubuntu 13.4 for Dekstop (32).

3 Steps for run app on Linux:

1.- Installed Linux OS on Virtual Machine.
2.- Open Ubuntu App Updater and find for SDL Mixer and install it. (Clic on option for advanced packages).
3.- Open terminal, go to path of GLB app and type "./gameglb.linux".

And volià! App working! (compiled with GLB 11.414)  :)


My 2 questions:

1.- How add working icon on Linux?
2.- How make auto run app (2 clics) to avoid Terminal use?

Thanks!
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

mentalthink

Take a look here Hark0... I think whit this steps are possible, I read only the first part and I think it's you needed...
http://www.ubuntugeek.com/how-to-add-an-icon-to-apps-in-ubuntus-application-menu-that-only-show-a-generic-icon.html