[Coco] Which Coco Emulator for Raspberry Pi?

Christopher R. Hawks chawks at dls.net
Fri Oct 17 21:34:59 EDT 2014


On Sat, 18 Oct 2014 10:59:18 +1000
Bob Devries <devries.bob at gmail.com> wrote:

> Hi Chris,
> 
> I notice that that command line does not include libpthread. Since
> sdl-config --libs does not mention it either, maybe a change needs to
> be made to include sdl-config --static-libs

	No it doesn't include it (anymore?) maybe that changed with some
tool update. Or maybe I forgot. Mine failed the same way this time (I
build it more than a year ago).

Simply add the line (at about line #464):

LIBS += -lpthread

after the zib library is added:

LIBS += -lz

and before the all target:

all:

	Now it links fine and is the same as my original.

> Regards, Bob Devries
> Dalby, QLD, Australia
> 
> On 18/10/2014 10:39 AM, Christopher R. Hawks wrote:
> > On Sat, 18 Oct 2014 09:46:12 +1000
> > Bob Devries <devries.bob at gmail.com> wrote:
> >
> >> The gcc link command line is:
> >>
> >> gcc -Wl,--warn-common -s  obj/sdl/mess/version.o
> >> obj/sdl/mess/mess/messdriv.o obj/sdl/mess/mess/coco.a
> >> obj/sdl/mess/mess/mc10.a obj/sdl/mess/mess/dgn_beta.a
> >> obj/sdl/mess/mess/shared.a obj/sdl/mess/libosd.a
> >> obj/sdl/mess/libemu.a obj/sdl/mess/libcpu.a obj/sdl/mess/libsound.a
> >> obj/sdl/mess/libutil.a obj/sdl/mess/libocore.a  -lexpat -lz -lm
> >> `sdl-config --libs`  -lX11 -lXinerama -L/usr/X11/lib
> >> -L/usr/X11R6/lib -L/usr/openwin/lib -o mess
> >>
> >> @Tormod: Sorry, I somehow lost your email about this. Can you
> >> resend?
> >>
> >> Regards, Bob Devries
> >> Dalby, QLD, Australia
> >>
> >> On 17/10/2014 9:17 PM, Christopher R. Hawks wrote:
> >>> On Fri, 17 Oct 2014 10:29:34 +0200
> >>> Tormod Volden <lists.tormod at gmail.com> wrote:
> >>>
> >>>> On Fri, Oct 17, 2014 at 4:17 AM, Bob Devries wrote:
> >>>>> Thanks, Chris.
> >>>>>
> >>>>> I cleared out all the old copies of mess on my BANANA PI (note,
> >>>>> not Raspberry Pi, but should work the same) and tried to compile
> >>>>> the version you linked to.
> >>>>>
> >>>>> Sadly, it failed in the link stage with the following error:
> >>>>>
> >>>>> /usr/bin/ld: obj/sdl/mess/libocore.a(sdlsync.o): undefined
> >>>>> reference to symbol 'pthread_join@@GLIBC_2.4'
> >>>>> //lib/arm-linux-gnueabihf/libpthread.so.0:error adding symbols:
> >>>>> DSO missing from command line
> >>>> Recent GCC versions seem to be more picky on the ordering of
> >>>> object files and libraries on the linking command line. Check
> >>>> the printed gcc command lines to see if -lpthread is towards the
> >>>> end of the line. To fix this you will need to find the makefile
> >>>> (I assume the build process is using make?) where the linking
> >>>> command is built up, e.g. "$(LD) something". The list of
> >>>> libraries might be contained in a LIBS or LDFLAGS variable.
> >>>>
> >>>> If you pastebin the build log it would be easy to see if this
> >>>> could be the issue. Especially the command line generating the
> >>>> error message would be useful.
> >>>>
> >>>>> I do have libpthread.so
> >>>>> at: /usr/lib/arm-linux-gnueabihf/libpthread.so
> >>>>>
> >>>>> This is on LUbuntu 14.04 kernel 3.4.90 and GCC 4.8
> >>>> The gcc version might be important. The kernel you are running
> >>>> does not matter, only the kernel headers would matter if you were
> >>>> building kernel modules. I am just saying that for clarification,
> >>>> if in doubt, rather provide more information than less.
> >>>>
> >>>> Regards,
> >>>> Tormod
> >>>>
> >>> 	libpthread should be included by the 'sdl-config --libs'
> >>> in the link commandline. 'make -n' will list all the commands,
> >>> but, not run them.
> >>>
> >>> Bob:
> >>> 	What does the command 'sdl-config --libs' print on the Pi
> >>> command line??
> >>>
> >>> 	Should be something like '-L/usr/lib -Wl,-rpath,/usr/lib
> >>> -lSDL -lpthread'
> >>>
> >>>
> >>> Christopher R. Hawks
> >>> HAWKSoft
> >>
> > Bob:
> >
> > 	All the lines are the same for me. Iwas on my 'real'
> > computer when I checked the sdl-config (I thought they would be the
> > same.)
> >
> > sdl-config --version is 1.2.15
> > sdl-config --libs is    -L/usr/lib/arm-linux-gnueabihf -lSDL
> > echo Linking mess...
> > gcc -Wl,--warn-common -s  obj/sdl/mess/version.o
> > obj/sdl/mess/mess/messdriv.o obj/sdl/mess/mess/coco.a
> > obj/sdl/mess/mess/mc10.a obj/sdl/mess/mess/dgn_beta.a
> > obj/sdl/mess/mess/shared.a obj/sdl/mess/libosd.a
> > obj/sdl/mess/libemu.a obj/sdl/mess/libcpu.a obj/sdl/mess/libsound.a
> > obj/sdl/mess/libutil.a obj/sdl/mess/libocore.a  -lexpat -lz -lm
> > `sdl-config --libs`  -lX11 -lXinerama -L/usr/X11/lib
> > -L/usr/X11R6/lib -L/usr/openwin/lib -o mess
> >
> > 	All look the same. I'm compiling it now on my Pi. Maybe a
> > tool update broke it.
> >
> >
> >
> > Christopher R. Hawks
> > HAWKSoft
> 
> 




Christopher R. Hawks
HAWKSoft
-- 
"Normal is getting dressed in clothes that you buy for work, driving
 through traffic in a car that you are still paying for, in order to get
 to a job that you need so you can pay for the clothes, car and the
house that you leave empty all day in order to afford to live in it."
		-- Ellen Goodman


More information about the Coco mailing list