POV-Ray : Newsgroups : povray.advanced-users : 3.8.0-beta.2 - illegal instruction : Re: 3.8.0-beta.2 - illegal instruction Server Time
8 Nov 2025 10:21:08 EST (-0500)
  Re: 3.8.0-beta.2 - illegal instruction  
From: William F Pokorny
Date: 8 Nov 2025 06:59:11
Message: <690f308f$1@news.povray.org>
On 11/8/25 02:55, yesbird wrote:
> On 08/11/2025 12:32, jr wrote:
>> unsure even what you mean.  there are some bits of the source which are
>> "hand-optimised" for specific CPU types, but the detection & inclusion is
>> automatic.
>>
>> either way, I've attached another "hack"[*] </grin>, a beta.2 build 
>> script.
>>
>> [*] anyway, works.  </shrug>
> 
> 
> Unfortunately results is the same: "no result".
> ---------------------------------------------------------------------
> ./unix/povray +i./scenes/advanced/biscuit.pov -f +d +p +v +w320 +h240 
> +a0.3 +L./include
> make: *** [Makefile:1089: check] Illegal instruction (core dumped)
> ---------------------------------------------------------------------
> YB
> 

There can be many causes for what you are seeing. Things you might try:

1) Download the latest yuqk tarball at:

https://news.povray.org/povray.binaries.programming/thread/%3C67eba626%40news.povray.org%3E/

Unpack it and run:

./configure -q COMPILED_BY="YB_yuqk" CXXFLAGS="-std=c++17"
make -j4
make check

The yuqk fork ships without any compiler optimizations during 
./configure - aside from the cpu specific noise code where it has fixed 
some 'gnu compiler broken' cpu detection code.

2) Both the default unix build and the build script jr provided use 
-ffast-math. There are a number of flaky fails due recent compiler 
changes to what -ffast-math does. Change that flag to: -fno-fast-math or 
add the flag -fno-finite-math-only to your CXXFLAGS and try another build.

3) You can try a configure with the defines:

-DDISABLE_OPTIMIZED_NOISE_AVXFMA4 -DDISABLE_OPTIMIZED_NOISE_AVX2FMA3 
-DISABLE_OPTIMIZED_NOISE_AVX

Which 'should' turn off any use of the cpu target specific hand 
optimized code - but they might not turn off the dynamic cpu detection 
code which runs ahead of the hand optimized code (I don't remember).

There is too a -DDISABLE_OPTIMIZED_NOISE_AVX_PORTABLE, but my memory is 
fuzzy as to what that means - probably harmless to add it to those above.

4) At a terminal after a illegal instruction problem build, are you able 
to run:

./unix/povray --help

If so, try each of:

touch bogus.pov; ./unix/povray bogus.pov -d +p

touch bogus.pov; ./unix/povray bogus.pov -d -p

touch bogus.pov; ./unix/povray bogus.pov -d +p -fn

Bill P.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.