During make build - Error! '/x86_64' in rootfiles files found!

I get this message at the end of a build:

pmacct (1.7.6)                                                                                                                             [        0 ][ DONE ]
Checking Logfiles for new Files                                                                                                                         
Changes in pcengines-apu-firmware- check rootfile!
Error! '/x86_64' in rootfiles files found!
./config/rootfiles/core/170/update.sh:	/usr/bin/x86_64 \
Replace by xxxMACHINExxx !
*** Build finished in 13:21                                                                                                                            [ DONE ]

I found the grep here:

and ran it:

jon@deb11HPZ:~/projectPCengineV4_17_0_1/ipfire-2.x$ grep -r '/x86_64' ./config/rootfiles/ --exclude gcc --exclude rust-libc \
    --exclude rust-ppv-lite86 --exclude rust-memchr --exclude *linux* \
    --exclude-dir oldcore --exclude-dir x86_64

./config/rootfiles/core/170/update.sh:	/usr/bin/x86_64 \

I am not sure what to do with this info… Is there where I panic?!?

Nothing to worry or panic over. It is a warning only.

With some packages the rootfiles have files that contain x86_64 or aarch64 or armv6l depending on the architecture that the build is being carried out for. These places should have the architecture replaced by xxxMACHINExxx so that when the IPFire build is carried out to build all the architecture isos for the download site that the appropriate architecture is put in place of the xxxMACHINExxx.

Occasionally, and this is one of those times, a name is used for something that matches with the architecture, as in the current x86_64, but there are no symlinks for aarch64 or arm6vl. In this case there is a symlink which is broken and it has the name x86_64, so the CU170 update.sh script is removing that unused symlink from the installations.

As the x86_64 can not be replaced by xxxMACHINExxx then the CU170 build will continue to flag this but you can ignore this one.

When the build moves on to CU171 then it will stop happening.

But it states Error with an exclamation point ← there must be some level of panic!! :wink:

Is this something @arne_f should know and ignore since it is part of checkrootfiles script?

Thank you!

Normally it is an error.

I think if you try and include these things into the checkrootfiles script you will end up with one off issues in the script and the more of them there are the more likely that they will match something that you don’t want missed.

The problem is that we have a file called x86_64 which in this case is a broken symlink and how do you tell the software that this occurrence of x86_64 is okay but all others need to be replaced with xxxMACHINExxx. If you replace this version with xxxMACHINExxx then the script will try to find other versions called aarch64 and arm6vl that don’t exist and will then flag an error that it couldn’t find these files.

It was flagged up by Peter in one of the development mailing list patches and that we should just recognise that it is not a problem in this case.

1 Like

Thank you Arne!