[RPL/2] Fwd: Build of 4.1.29 fails on Linux Mint 19 Cinnamon 64-bit
BERTRAND Joël
joel.bertrand at systella.fr
Thu Jan 10 10:03:04 CET 2019
Jonathan Busby a écrit :
> Seems my last reply was too large. Sorry about that.
>
> ---------- Forwarded message ---------
> From: *Jonathan Busby* <jonathanbusby at gmail.com
> <mailto:jonathanbusby at gmail.com>>
> Date: Wed, Jan 9, 2019 at 3:07 PM
> Subject: Re: [RPL/2] Build of 4.1.29 fails on Linux Mint 19 Cinnamon 64-bit
> To: RPL/2 mailing list <rpl2 at systella.fr <mailto:rpl2 at systella.fr>>
>
>
>
>
> On Wed, Jan 9, 2019 at 2:22 AM BERTRAND Joël <joel.bertrand at systella.fr
> <mailto:joel.bertrand at systella.fr>> wrote:
>
>
>
> Please not send output of make -d. This is not a makefile's
> bug but a
> trouble with your system.
>
>
> Well, if it's a problem with my system, then it's a problem with all the
> latest versions of Linux Mint 19 Cinnamon 64-bit. I've tested the code
> on another Linux Mint install and I get the same error.
>
>
> Can you check that wmluiltok.c is not empty ? wmluiltok.c
> is created by
> flex.
>
>
> wmluiltok.c is not empty and contains a proper Flex scanner.
>
> I have found that flex is faulty on several Linux system. If
> wmluiltok.c is not empty, you have to rebuild flex with
> -ffat-lto-objects option, allowing to use lto also on motif.
>
>
> I guess I'll have to do what you suggest above. Just to make sure I
> understand, I need to build the latest version of Flex from the source
> and make sure to include the "-ffat-lto-objects" option to GCC? When you
> say "allowing to use lto also on motif" what do you mean exactly? Do I
> have to compile Motif from the sources in the archive and supply the
> same option to GCC as you suggested above?
I'm not a specialist of gcc options. LTO is 'link time optimizer' and I
have seen there are some bugs in link stage when you try to link LTO
with no LTO objects.
> EDIT : After I typed the above, I compiled GNU Flex with the
> -ffat-lto-objects by modifying its configure.ac <http://configure.ac> to
> get it to supply the option to GCC and then I tried compiling the Motif
> source that comes packaged with RPL/2 ( I also had to modify
> configure.ac <http://configure.ac> ). Although your suggestions seem to
> have cleared up the previous problem with wmluiltok.c, I now get a new
> error :
>
> http://www.mediafire.com/file/v7wwlc8tuen6bt2/make-log-error-paste-1.asc/file
>
> I resolved the above just by issuing an "apt update && apt install
> libfl2" command and rebuilding the source.
>
> EDIT 2 : Well, this time all the X Windows and Motif related code built
> fine, but then the build failed with a new error :
>
> http://www.mediafire.com/file/hhx46jxfh3l39je/make-log-error-2.asc/file
>
> It looks like the main RPL/2 configure script is not calling the zlib
> configure script. When I manually corrected that, I got a new error when
> trying to compile zlib :
zlib configure script is called by main configure script :
if test ! -d tools/$ZLIB; then
gunzip -c "$srcdir"/tools/$ZLIB.tar.gz | \
(cd tools && tar -xf - && cd $ZLIB && ./configure --static)
fi
If you want to clean your build tree, you can run 'make purge'.
> "
> cc -shared -march=core2 -O2 -pipe -ffat-lto-objects
> -D_LARGEFILE64_SOURCE=1 -o libz.so.1.2.11 adler32.lo crc32.lo deflate.lo
> infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo
> compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc
> /usr/bin/ld: deflate.lo: relocation R_X86_64_PC32 against symbol
> `_length_code' can not be used when making a shared object; recompile
> with -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: error: ld returned 1 exit status
> Makefile:282: recipe for target 'libz.so.1.2.11' failed
> make: *** [libz.so.1.2.11] Error 1
> "
R_X86_64_PC32 ?
32 (on a 64 bits system) or 64 bits ?
> I added "-fPIC" via the usual environment variables but that didn't fix
> the build failure. I next modified the zlib Makefile.in and that fixed
> the problem. Then I restarted the RPL/2 build and it finally built! :D
> After running "sudo checkinstall" and installing the package I was able
> to "run" "rpl -i" but it exited with the error :
>
> "mint at mint:~$ rpl -i
> +++RPL/2 (R) version 4.1.29 (Wednesday 01/09/19, 14:41:11 CST)
> +++Copyright (C) 1989 to 2017, 2018 BERTRAND Joel
>
> +++This is a free software with absolutely no warranty.
> +++For details, type 'warranty'.
>
> +++Fatal : Hash code mismatch
> Function md5(/usr/local/bin/rpliconv)
> Computed hash code : 10a03ae9906b128e4e0acd855f3856f4
> Expected hash code : 9a1e8ca96b5eab8831a59d31f11de7f8
> +++Fatal : Error in compilation"
All external tools are signed (rpliconv, rplawk, rplpp...) and you have
to use tools built by makefile.
Best regards,
JKB
More information about the RPL2
mailing list