Re: [Hampshire] Compiling from source

Top Page

Reply to this message
Author: James Dutton via Hampshire
Date:  
To: Hampshire LUG Discussion List, RM
CC: James Dutton
Subject: Re: [Hampshire] Compiling from source
On Sat, 18 Feb 2023 at 10:30, Bob Dunlop via Hampshire <
hampshire@???> wrote:

> Hi,
>
> On Fri, Feb 17 at 12:34, RM via Hampshire wrote:
> > Hi all
> >
> > Sorry to ask a question I've kind of asked before but...
> >
> > I'm trying to compile Elkulator [1] from source. I've done this before
> > and (forgive me I can't find the name of the list member who very kindly
> > helped) come across similar problems. The docs tell me that certain
> ...
>
>
> Had a quick look at this, this morning, and have what I think is a
> solution.
> I'm using a current version of Linux Mint but should be close enough to the
> Ubuntu base to work.
>
>
>

Bob's instructions do in fact work on one of the older Linux Distro
releases.
In more recent Linux distros, with a more up to date compiler, some things
that were previously warning, are not reported as errors, and so the
compiler fails to finish and stops with errors.
So, although I got Elkulator to compile on an older system, it does not
compile on Ubuntu 22.04
The main reasons it fails here on Ubuntu 22.04 is:
1) redefinition of some global variables. It probably needs someone to
decide which file they should be defined in, and make all the other .c
files refer to them as extern ...
2) The code makes quite a few casts from pointers into 32bit ints. While
that is potentially ok on older 32bit systems, it may cause problems on
64bit systems.
I do not have spare time currently, so cannot go through fixing the
problems, but there are various versions of Elkulator on github, so someone
else might have fixed it.
I think the quickest fix will be installing an older 32bit Distro in a
Virtual Machine and compiling the Elkulator there.
If it helps, I find the error messages output from CLANG/LLVM/LLD more
concise than GCC/LD, so it might be easier to understand what is wrong
using CLANG to compile the program than GCC.
While (1) is potentially relatively easy to fix, (2) requires a deeper
understanding of the code in order to fix it right.

Kind Regards

James
--
Please post to: Hampshire@???
Web Interface: https://mailman.lug.org.uk/mailman/listinfo/hampshire
LUG URL: http://www.hantslug.org.uk
--------------------------------------------------------------