How to compile assembly with SDL in BASH - linux

I am quite new to assembly and Linux as a whole. I found on gitHub a snake program written in Assembly. But I tried compiling and running it, but have no clue how.
I first thought I could use gcc -o name name.s and that didnt work. Then i read that i need to compile it using BASH command "make" however... I really dont know how to do that.
Like I said I am completely new to usuing linux and I would greatly appreciate it if someone could explain to me how to compile this and get it running.
Here's the link : https://github.com/weierstrass/asnake

Related

Installation error: editing Linux compile file

I am trying to install a hydrodynamic simulation software on Ubuntu, but I get an error similar to the error mentioned in their documentation. The documentation has a recommended solution to this error, something that I am not aware of how to fix.
Any help is greatly appreciated. Thanks!
As part of the installation, the system must compile some code to work on that machine. The line that starts with "gcc" is a compiler command. You will need to find the "x.sys.Linux.compile" file and add the -fPIC flag to the command that -presumably- is already in that file.
I would use the command
find . | grep x.sys.Linux.compile
to find it and then use vim to modify it, adding that -fPIC flag
Then, retry the installation

During compiling, it fails at "cannot find -lexecinfo"

This is Slackware 14.1 Linux.
During compiling it always fail at
/usr/lib64/gcc/x86_64-slackware-linux/4.8.2/../../../../x86_64-slackware-linux/bin/ld: cannot find -lexecinfo
Is there a library missing?
The problem is I don't know the exact file name it's looking for, I have a
/usr/include/execinfo.h
Any help will be appreciated.
If the program is trying to use backtrace(3) or the like, then it's likely you do not actually need the -lexecinfo option to compile the source. Edit your Makefile and try removing it as see if it will build.

Can run program from Qt but can't run it from konsole

I have a a problem sounds pretty wierd. I compiled a program in Qt and it ran successfully.
But when I navigated to the release folder in the konsole and ran the program (even with super user), it reported :
If 'HelloWorld' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf HelloWorld
I checked the permissions, all users can read it.The path is right. I'm out of way.
Please help me!
Note: I use Qt 4.74 on OpenSuse 12.1. Just switched from windows few days ago
I think this ain't relate to the source code, since even a simple HelloWorld program can't run either
If the program is in the current directory, make sure you run it with a prefix indicating so:
./HelloWorld

working code for Advanced Programming in the UNIX Environment 2ed preferably on Ubuntu/gcc4

i was learning Linux system programming and i am going through the APUE 2ed book by
W. Richard Stevens and Stephen A. Rago.
The code given on http://www.apuebook.com/ does not work. Undefined definitions, un-implemented functions (given in appendix)
Can anyone point me to getting-compiled code for APUE 2ed, preferably on Ubuntu/gcc4.
rotkas has a github repo that contains the code with modifications to make it compile on modern systems. It worked for me on OSX 10.7 and Ubuntu 10.04. Haven't needed it recently, though.
https://github.com/roktas/apue2e
I downloaded the source and then, as per the README file, edited Make.defines.linux and changed WKDIR to point to where I had unpacked the source code. Then I ran make and just about everything compiled with only a few warnings.
threadctl didn't compile, though, and I had to change #include <limits.h> to #include <linux/limits.h> in getenv1.c and getenv3.c before it would compile (not sure if this is the best fix, but it works.)
Thank you Jacinda for the link it worked for me, but I had to do something else too
I used the source code from github/roktas and used the following command in order to run the programs
gcc -o myls myls.c -I SCADDRESS/include/ -L SCADDRESS/lib/ -lapue
if anyone has the same problem can go to this link.

My busybox does not execute non-applet utility commands

I installed the latest busybox to my new embedded project. It runs OK until I try to put dropbear in my application. The busybox shell complains that dropbear is not found although "which dropbear" command gives me the correct answer "/sbin/dropbear". If I change its mode to RW, it complains that dropbear is not executable. I have tried other non-bosybox commands and it complains the same. It must be a setup issue. Can anyone help me out? Thank you very much.
Allan
Perhaps you're missing the necessary libraries? Some environments don't print helpful messages when this happens. Check what libraries it wants to link against.
ldd or objdump -x <file> |grep NEEDED are helpful.
You probably want to do this from your build machine, as it sounds like the embedded shell environment is pretty broken.
Eric Seppanen's answer is true,any missing dynamic library dependency will cause the cryptic "not found" message for the binary in question. Linux will also give this error if it cannot find ld-linux-x86-64.so.2 in the /lib64 directory, or for 32bit binaries, the corresponding 32bit ld-linux*.so in /lib.

Resources