[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gm2] gm2
From: |
Charles Bradshaw |
Subject: |
Re: [Gm2] gm2 |
Date: |
Sun, 11 May 2014 22:28:47 +0100 |
Gaius
OK progress. The first completes, but the second produces the link
error:
address@hidden executive]$ gm2 -g -flibs=pim-coroutine,pim
testexecutive.mod -lpth
/tmp/ccOHKUT5.a(cct6rWqQstart.o): In function `init':
/home/brad/modula2/examples/executive/testexecutive_m2.cpp:78: undefined
reference to `_M2_pth_init'
/tmp/ccOHKUT5.a(cct6rWqQstart.o): In function `finish':
/home/brad/modula2/examples/executive/testexecutive_m2.cpp:106:
undefined reference to `_M2_pth_finish'
collect2: ld returned 1 exit status
That was using gm2 4.1.2
Using 4.7.3 for the second produces:
no source file found for module pth
What is -lpth? I see no mention in man gm2 or gm2 --help
Thanks Charles Bradshaw
On Sun, 2014-05-11 at 14:57 +0100, Gaius Mulley wrote:
> Charles Bradshaw <address@hidden> writes:
>
> > Following my partial success with gm2 I tried to compile
> > testexecutive.mod
> >
> > Now depending which version 4.7.3 or 4.1.2 I use I get various failed to
> > find errors. Either the previously reported -fmakeall bug or with 4.1.2:
> >
> > address@hidden executive]$ gm2 -g -c testexecutive.mod
> > failed to find definition module Executive.def
>
> Hi Charles,
>
> for the executive tests you need to use the SYSTEM module which includes
> the PIM coroutine support, which is referenced by specifying the
> libraries:
>
> gm2 -fsources -g -c -flibs=pim-coroutine,pim testexecutive.mod
> gm2 -g -flibs=pim-coroutine,pim testexecutive.mod -lpth
>
> hopefully this should pull in the correct libraries. Note the library
> ordering is important. (-fsources) is optional of course
>
> regards,
> Gaius
>
>
> > The output from this makes my brain hurt:
> > address@hidden executive]$ gm2 -print-search-dirs
> >
> > So I append \n after the :
> >
> > install: /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/
> > programs: =/home/brad/opt/libexec/gcc/i686-pc-linux-gnu/4.1.2/:
> > /home/brad/opt/libexec/gcc/i686-pc-linux-gnu/4.1.2/:
> > /home/brad/opt/libexec/gcc/i686-pc-linux-gnu/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/:
> > /usr/libexec/gcc/i686-pc-linux-gnu/4.1.2/:
> > /usr/libexec/gcc/i686-pc-linux-gnu/:
> > /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/:
> > /usr/lib/gcc/i686-pc-linux-gnu/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/i686-pc-linux-gnu/4.1.2/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/
> >
> > libraries: =/home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/:
> > /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/4.1.2/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/lib/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../i686-pc-linux-gnu/4.1.2/:
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../:/lib/i686-pc-linux-gnu/4.1.2/:
> > /lib/:
> > /usr/lib/i686-pc-linux-gnu/4.1.2/:
> > /usr/lib/
> >
> > Non of which is useful because the missing def is else where:
> >
> > address@hidden executive]$ locate Executive.def
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/gm2/pim-coroutine/Executive.def
> >
> > So using the -I option:
> > address@hidden executive]$ gm2 -g -c
> > -I /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/gm2/pim-coroutine
> > testexecutive.mod
> > failed to find definition module SYSTEM.def
> >
> > But SYSTEM.def is in the included path!
> >
> > address@hidden executive]$
> > ls
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/gm2/pim-coroutine/SYSTEM.def
> > /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.1.2/gm2/pim-coroutine/SYSTEM.def
> >
> >
> > If I do, as is suggested in the README:
> > address@hidden executive]$ make
> > I see:
> > failed to find definition module
> >
> > ~ o ~
> >
> > This is all very confusing!
> >
> > Can I set some environment variables to fix these problems?
> >
> > ~ o ~
> >
> > May I respectfully suggest that compiling default search paths into gm2,
> > or wherever they go, is a bad idea.
> >
> > Good old Topspeed Modula 2 used a configuration file called M2.RED which
> > lived in the current directory, thus:
> >
> > When working in the directory c:\ihi\control
> >
> > C:\ihi\control\>type M2.RED
> > *.mod = .;c:\m2\source
> > *.def = c:\ihi\control\def;c:\m2\lib
> > *.obj = c:\ihi\control\obj;c:\m2\lib
> > *.dat = c:\sigma
> > *.exe = c:\ihi\control;c:\m2
> > *.map = c:\ihi\control
> > *.dbd = c:\ihi\control
> > *.db$ = c:\ihi\control
> >
> > The contents says it all.
- [Gm2] gm2, Charles Bradshaw, 2014/05/11
- Re: [Gm2] gm2, Gaius Mulley, 2014/05/11
- Re: [Gm2] gm2,
Charles Bradshaw <=