[fpc-devel] Getting error building fpc for clang 16

Martin Frb lazarus at mfriebe.de
Thu Dec 7 13:52:59 CET 2023


On 07/12/2023 12:19, Jonas Maebe via fpc-devel wrote:
>
>
> On 2023-12-07 01:09, Martin Frb via fpc-devel wrote:
>> But I am getting
>>
>> make[8]: '/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux' is up 
>> to date.
>> make[8]: Leaving directory '/home/m/fpc/rel_3.3.1/source/rtl/linux'
>> as --64 -o 
>> /home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux/abitag.o 
>> x86_64/abitag.as
>> /home/m/fpc/rel_3.3.1/source/compiler/ppc1 -Ur -Ur -Xs -O2 -n 
>> -Fi../inc -Fi../x86_64 -Fi../unix -Fix86_64 -FE. 
>> -FU/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -Cg 
>> -Fl/usr/lib/gcc/x86_64-redhat-linux/13 -dx86_64 -dRELEASE  -Us -Sg 
>> system.pp
>
> The -Clv parameter is missing here for some reason, so the compiler is 
> generating code for LLVM 7.0 rather than 16.0.

It seems to happen during "make install". Strange, why does it compile 
during installation?

My script issues the following commands:
(I am using the same on another machine with clang 11)

make clean
make all  OPT=" " OPTNEW=" -Clv16.0 " FPCMAKEOPT=" -Clv16.0 " LLVM=1
make install INSTALL_PREFIX=/home/m/fpc/$INSTPATH/def  LLVM=1

The captured output does not have the commands itself, only the output....
The "100%" should still be from the "make all" (there is no install in 
the text before that)

I assume "installbase" is the start of the output of above make install.

And then it starts the compiler.... Why?

Before that there are 10 other occurrences of
    "Entering directory '/home/m/fpc/rel_3.3.1/source/compiler/utils'"


[100%] Compiled package utils-wasmbin
make[2]: Leaving directory '/home/m/fpc/rel_3.3.1/source/utils'
make[1]: Leaving directory '/home/m/fpc/rel_3.3.1/source'
/usr/bin/echo Build > build-stamp.x86_64-linux
/usr/bin/echo Build > base.build-stamp.x86_64-linux
make installbase FPC=/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 
ZIPDESTDIR=/home/m/fpc/rel_3.3.1/source 
FPCMAKE=/home/m/fpc/rel_3.3.1/source/utils/fpcm/bin/x86_64-linux/fpcmake
make[1]: Entering directory '/home/m/fpc/rel_3.3.1/source'
/usr/bin/install -m 755 -d /home/m/fpc/rel_3.3.1/clang64/def/lib/fpc/3.3.1
/usr/bin/install -m 755 -d /home/m/fpc/rel_3.3.1/clang64/def/bin
make compiler_distinstall 
FPC=/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 
ZIPDESTDIR=/home/m/fpc/rel_3.3.1/source 
FPCMAKE=/home/m/fpc/rel_3.3.1/source/utils/fpcm/bin/x86_64-linux/fpcmake
make[2]: Entering directory '/home/m/fpc/rel_3.3.1/source'
make -C compiler distinstall
make[3]: Entering directory '/home/m/fpc/rel_3.3.1/source/compiler'
make quickinstall auxfilesinstall
make[4]: Entering directory '/home/m/fpc/rel_3.3.1/source/compiler'
make -C utils install
make[5]: Entering directory '/home/m/fpc/rel_3.3.1/source/compiler/utils'
/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 -Ur -Xs -O2 -n -Fu.. 
-Fu/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -FE. 
-FUunits/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/13 
-dx86_64 -dRELEASE msg2inc.pp
units/x86_64-linux/msg2inc.ll:663:71: error: expected '('
         invoke  void (i8**, i8*, i64, i64) @"\01fpc_ansistr_copy" (i8** 
sret %reg.1_276, i8* %reg.1_275, i64 %reg.1_274, i64 %reg.1_270) to 
label %.Lj88 unwind label %.Lj9
^
1 error generated.
Error: Error while assembling exitcode 1


=============
I also looked for msg2inc. And msg2inc was compiled before

msg2inc.pp is only twice in the log. As below, and as in the error above

Without the pp extension it is present in a few "rm". All above the 
below snippet

make[5]: Leaving directory '/home/m/fpc/rel_3.3.1/source/compiler/utils'
/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 -Clv16.0 -Ur -Xs -O2 -n 
-Fu.. -Fu/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -FE. 
-FUunits/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/13 
-dx86_64 -dRELEASE mka64ins.pp
/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 -Clv16.0 -Ur -Xs -O2 -n 
-Fu.. -Fu/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -FE. 
-FUunits/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/13 
-dx86_64 -dRELEASE mkarmins.pp
/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 -Clv16.0 -Ur -Xs -O2 -n 
-Fu.. -Fu/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -FE. 
-FUunits/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/13 
-dx86_64 -dRELEASE mkx86ins.pp
/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 -Clv16.0 -Ur -Xs -O2 -n 
-Fu.. -Fu/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -FE. 
-FUunits/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/13 
-dx86_64 -dRELEASE msg2inc.pp
/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 -Clv16.0 -Ur -Xs -O2 -n 
-Fu.. -Fu/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -FE. 
-FUunits/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/13 
-dx86_64 -dRELEASE mkx86inl.pp
/home/m/fpc/rel_3.3.1/source/compiler/ppcx64 -Clv16.0 -Ur -Xs -O2 -n 
-Fu.. -Fu/home/m/fpc/rel_3.3.1/source/rtl/units/x86_64-linux -FE. 
-FUunits/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/13 
-dx86_64 -dRELEASE mkz80ins.pp
make[4]: Leaving directory '/home/m/fpc/rel_3.3.1/source/compiler/utils'
make[3]: Leaving directory '/home/m/fpc/rel_3.3.1/source/compiler'
make wpocycle



More information about the fpc-devel mailing list