[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gm2] Building gm2-9.1.0 under Arch Linux
From: |
Geert Theloosen |
Subject: |
[Gm2] Building gm2-9.1.0 under Arch Linux |
Date: |
Fri, 10 May 2019 13:34:20 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
Hi,
In the recent past I succeeded in building gm2 (8.2.0) under Arch Linux,
but for me this building was always on a somewhat mysterious way. So I
tried building a new gm2-9.1.0-branch, and at the end I succeeded, but
on the same somewhat inexplicable way.
Maybe some Arch Linux users can take advantage of the at the end
successful build, but for me it's about the hurdles.
After downloading gcc-9.1.0+gm2-git-latest.tar.gz and unpacking it,
I changed the shebang of
../gcc-9.1.0+gm2-git-latest/gm2/gcc-versionno/gcc/gm2/tools-src/def2texi.py
because Arch Linux uses Python-3 as the default and the script assumes
Python-2, to:
#!/usr/bin/python2.
Then I used the Debian gcc-8.2.0 build script and changed the version
numbering and changed [--enable-languages=c,c++,m2] to [...=c,c++,gm2].
So these are my used commands:
$ mkdir build-9.1.0
$ cd build-9.1.0
$ CXXFLAGS=-g BOOT_CFLAGS=-g CFLAGS=-g \
../gcc-9.1.0+gm2-git-latest/gm2/gcc-versionno/configure \
--prefix=$HOME/opt \
--libexecdir=$HOME/opt/lib \
--enable-threads=posix \
--enable-clocale=gnu --enable-languages=c,c++,gm2 \
--disable-multilib --disable-bootstrap --enable-checking
After doing
$ make
I got the following error message:
...
python
../../gcc-9.1.0+gm2-git-latest/gm2/gcc-versionno/gcc/gm2/tools-src/def2texi.py
-uLibraries -s../../gcc-9.1.0+gm2-git-latest/gm2/gcc-versionno/gcc/gm2
-b/home/geert/Downloads/modula-2/build-9.1.0/gcc/gm2 >
/home/geert/Downloads/modula-2/build-9.1.0/gcc/gm2/gm2-libs.texi
File
"../../gcc-9.1.0+gm2-git-latest/gm2/gcc-versionno/gcc/gm2/tools-src/def2texi.py",
line 62
print "@node " + l[1] + ", " + next + ", " + previous+ ", " + up
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean
print("@node " + l[1] + ", " + next + ", " + previous + ", " + up)?
make[2]: ***
[../../gcc-9.1.0+gm2-git-latest/gm2/gcc-versionno/gcc/gm2/Make-lang.in:237:
gm2/gm2-libs.texi] Fout 1
make[2]: Map '/home/geert/Downloads/modula-2/build-9.1.0/gcc' wordt verlaten
make[1]: *** [Makefile:4354: all-gcc] Fout 2
make[1]: Map '/home/geert/Downloads/modula-2/build-9.1.0' wordt verlaten
make: *** [Makefile:970: all] Fout 2
('Fout' (Dutch) means 'error')
But in a previous step I changed the shebang of def2texi.py. So I can't
explain the error message. Or, perhaps because python (under Arch Linux
this is python3) is calling python2?
However, just doing a [make] again without changing anything builds
everything correctly. How is that possible?
Then, doing a [make install] gives a $HOME/opt directory with the
binaries, libraries, etc.
Incidentally, I have once before added to my .bashrc: export
GM2_ROOT=/home/geert/opt
Compiling a simple helloworld.mod with a not recognised Modula command
('WritString') with [gm2 -Wall -fmakeall] gives colourized error
messages, Correcting the error and again compiling the file gives the
expected a.out.
My question: why does the building succeeds after doing [make] twice
without correcting anything between the two calls?
Sincerely,
Geert Theloosen
- [Gm2] Building gm2-9.1.0 under Arch Linux,
Geert Theloosen <=