Uncategorized
Asked 
Active today
Viewed 19 times
0

I am reading ” Developing Games on the Raspbery Pi” w Lua and Love by Seth Kenlon

I am trying to use my existing raspian stretch OS rather than starting with the OS the book suggests

Lua is already installed and working

now I would like to install the Love library

I have the Love rpm downloaded

How do I install it please?

2 Answers

0

I’ll outline a couple of approaches but can’t promise either of them will work.

The .rpm I looked at contains a single executable1love-0.7.2, which does link to liblua, but not a version available in buster:

> ldd love-0.7.2
    linux-vdso.so.1 (0x7edbb000)
    /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so (0x76e33000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76ce5000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76cb8000)
    libopenal.so.1 => not found
    libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x76c15000)
    libGL.so.1 => not found
    libIL.so.1 => not found
    liblua5.1.so.5 => not found
    libmodplug.so.1 => not found
    libmpg123.so.0 => not found
    libSDL-1.2.so.0 => not found
    libvorbisfile.so.3 => not found
    libphysfs.so.1 => not found
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76ace000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76a4c000)
    /lib/ld-linux-armhf.so.3 (0x76f28000)

The “not found” stuff might be resolvable by searching apt packages, but there are some version mismatches. Installing close versions and symlinks have a long shot at working, but I suspect the openGL stuff will not be so easy.

You can try to build it from the source.

git clone --depth=1 https://github.com/love2d/love.git

There are directions on the github page; the first one failed for me:

> platform/unix/automagic

But with more patience you may be able to work out the problems…there are what look to be current wiki, forum, and IRC links on the github page.


  1. You can unpack rpms fairly easily: rpm2cpio love-0_7_2-0.7.2-3.5.armv7hl.rpm | cpio -idv, see https://unix.stackexchange.com/questions/61283/yum-install-in-user-home-for-non-admins/61295#61295
0

Question

How to find LÖVE?

/ to continue, …


Answer

Rpi4B buster 19sep > GUI Desktop > Preferences > Add / Remove Software > LÖVE 11.1-2

love 1

love 2

/ to continue, …


References

(1) LÖVE 11.1 Mysterious Mysteries Documentation

/ to continue, …


Appendices

Appendix A – Love Newbie Start Up Guide

When beginning to write games using LÖVE, the most important parts of the API are the callbacks:

(1) love.load to do one-time setup of game,

(2) love.update to manage game’s state frame-to-frame,

(3) love.draw to render game state onto screen.

More interactive games will override additional callbacks in order to handle input from the user, and other aspects of a full-featured game. LÖVE provides default placeholders for these callbacks, which you can override inside your own code by creating your own function with the same name as the callback:

-- Load some default values for our rectangle.

function love.load()
    x, y, w, h = 20, 20, 60, 20
end

-- Increase the size of the rectangle every frame.

function love.update(dt)
    w = w + 1
    h = h + 1
end

-- Draw a coloured rectangle.

function love.draw()
    love.graphics.setColor(0, 0.4, 0.4)
    love.graphics.rectangle("fill", x, y, w, h)
end

Appendix B – LÖVE Modules

(01) love.audio – audio interface for playback/recording sound.

(02) love.data – creating and transforming data.

(03) love.event – manages events, like keypresses.

(04) love.filesystem – interface to user filesystem.

(05) love.font – to work with fonts.

(06) love.graphics – drawing shapes and images, manageing of screen geometry.

(07) love.image – interface to decode encoded image data.

(08) love.joystick – interface to joystick.

(09) love.keyboard – interface to keyboard.

(10) love.math – maths functions.

(11) love.mouse – interface to mouse.

(12) love.physics – simulate 2D rigid body physics.

(13) love.sound – decoding sound files.

(14) love.system – access to user system info.

(15) love.thread – multi-threading.

(16) love.timer – high-resolution timing functions.

(17) love.touch – interface to touch-screen touches.

(18) love.video – decoding and streaming video files.

(19) love.window – interface for the program’s window.

/ to continue, …


End of answer

.END

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: