POV-Ray / povray

The Persistence of Vision Raytracer: http://www.povray.org/
GNU Affero General Public License v3.0
1.35k stars 282 forks source link

Illegal instruction: 4 at the 'Rendering' stage on macOS High Sierra #345

Closed trevorsandy closed 6 years ago

trevorsandy commented 6 years ago

Summary

I thought you might be interested to know the console application is returning 'Illegal instruction: 4' at the 'Rendering' stage of image generation on macOS High Sierra. The same code base is building and executing without issue on MacOS 10.12 (Travis-Ci). Furthermore, build and test execution are successful across these other 13 platforms so I believe Apple has changed something in High Sierra that is somehow causing an abend during rendering.

Below you can see details of the build output including abend at build check.

==== [Rendering...] ========================================================
/bin/sh: line 1: 11118 Illegal instruction: 4  ./unix/lpub3d_trace_cui +i./scenes/advanced/biscuit.pov +O./biscuit.pov.cui.png +w320 +h240 +UA +A +L./ini +L./include +L./scenes
make: *** [check] Error 132

Environment

macOS High Sierra 10.13.2 on VMWare Workstation 12 Pro 12.5.8 build 7098237

./configure COMPILED_BY="Trevor SANDY <trevor.sandy@gmail.com> for LPub3D."  --prefix="/Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty" LPUB3D_3RD_PARTY="yes" --enable-watch-cursor --with-libsdl --with-macosx-sdk --with-macosx-version-min="10.9"
-Build lpub3d_trace_cui-3.8...
-----------------------------------------------------

===============================================================================
LPub3D-Trace CUI version 3.8 prebuild
===============================================================================
Detected autoconf 2.69
Detected automake 1.15.1
Create ../AUTHORS
Create ../ChangeLog
Create ../configure.ac
Create ../COPYING
Create ../NEWS
Create ../README
Create ../CUI_README
Create ../povray.1
Create ../scripts/
Create ../ini/
Create ../include/
Create ../scenes/
Create ../INSTALL
Create ../VERSION
Create ../icons/file_inc_classic_16.png
Create ../icons/file_inc_classic_32.png
Create ../icons/file_inc_classic_48.png
Create ../icons/file_inc_classic_64.png
Create ../icons/file_inc_crystal_16.png
Create ../icons/file_inc_crystal_32.png
Create ../icons/file_inc_crystal_48.png
Create ../icons/file_inc_crystal_64.png
Create ../icons/file_inc_slick_16.png
Create ../icons/file_inc_slick_32.png
Create ../icons/file_inc_slick_48.png
Create ../icons/file_inc_slick_64.png
Create ../icons/file_pov_classic_16.png
Create ../icons/file_pov_classic_32.png
Create ../icons/file_pov_classic_48.png
Create ../icons/file_pov_classic_64.png
Create ../icons/file_pov_crystal_16.png
Create ../icons/file_pov_crystal_32.png
Create ../icons/file_pov_crystal_48.png
Create ../icons/file_pov_crystal_64.png
Create ../icons/file_pov_slick_16.png
Create ../icons/file_pov_slick_32.png
Create ../icons/file_pov_slick_48.png
Create ../icons/file_pov_slick_64.png
Create ../icons/povray_16.png
Create ../icons/povray_32.png
Create ../icons/povray_48.png
Create ../icons/povray_64.png
Create ../doc/html
Create ./Makefile.am
Create ../kde_install.sh
Create ../povray.ini.in
Create ../povray.conf.in
Create ../povray.conf.check.in
Create ../Makefile.am
Create ../bootstrap
Create ../source/Makefile.am
Create ../libraries/sdl2/include/SDL2 symbolic link ignored - link exist.
Create ../libraries/sdl2/Makefile.in
Create ../vfe/Makefile.am
Create ../platform/Makefile.am
Run ../bootstrap
+ rm -f config.log config.status
+ aclocal -I .
+ autoheader --warnings=all
+ automake --add-missing --warnings=all
+ autoconf --warnings=all
+ cat ./configure
+ sed -e 's,configure.gnu  --help=recursive,& --srcdir=$ac_srcdir,g' -e 's,\(cd \)\($ac_\)\(pop\)*\(dir\),\1"\2\3\4",g' -e 's,$am_aux_dir/missing,\\"$am_aux_dir\\"/missing,g'
+ mv -f ./configure.tmp ./configure
+ chmod +x ./configure
+ rm -f -r ./autom4te.cache
Finished.
-
-BUILD_CONFIG: --prefix=/Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty LPUB3D_3RD_PARTY=yes --enable-watch-cursor --with-libsdl2 --with-macosx-sdk --with-macosx-version-min=10.9
-
===============================================================================
Configure LPub3D-Trace CUI version 3.8.0-alpha
===============================================================================

LPub3D-Trace CUI is an unofficial POV-Ray version compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D.
The POV-Ray Team(tm) is not responsible for supporting this version.

Environment
-----------
checking build system type... x86_64-apple-darwin17.3.0
checking host system type... x86_64-apple-darwin17.3.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... unix/config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether $C_INCLUDE_PATH contains the "." path... no
checking whether $CPLUS_INCLUDE_PATH contains the "." path... no
checking the archiver (ar) interface... (cached) ar

Programs
--------
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether the g++ compiler works... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=gnu++11... yes
checking for C++ compiler vendor... gnu
checking for g++ -std=gnu++11 version... 4.2.1
checking for ranlib... ranlib
checking for stat format option... -f 

Libraries
---------
checking whether to link with cygwin DLL... no
checking whether to enable static linking... no
checking for a sed that does not truncate output... /usr/bin/sed
checking whether gcc is Clang... yes
checking whether Clang needs flag to prevent "argument unused" warning when linking with -pthread... -Qunused-arguments
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for boostlib >= 1.38... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread-mt... yes
checking whether the boost thread library is usable... yes
checking for sin in -lmkl... no
checking for sin in -lm... yes
checking for clock_gettime in -lrt... no
checking whether to use the ZLIB library... yes
checking for library containing zlibVersion... -lz
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for libz version >= 1.2.1... 1.2.11, ok
checking whether to use the PNG library... yes
checking for library containing png_get_libpng_ver... -lpng
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for libpng version >= 1.2.5... 1.6.34, ok
checking whether to use the JPEG library... yes
checking for library containing jpeg_std_error... -ljpeg
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for libjpeg version >= 6b (62)... 90, ok
checking whether to use the TIFF library... yes
checking for library containing TIFFGetVersion... -ltiff
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for libtiff version >= 3.6.1... 4.0.9, ok
checking whether to use the OpenEXR library... yes
checking for pkg-config... pkg-config
checking for OpenEXR's pkg-config... yes
checking for OpenEXR version >= 1.2... 2.2.0, ok
checking OpenEXR/ImfCRgbaFile.h usability... yes
checking OpenEXR/ImfCRgbaFile.h presence... yes
checking for OpenEXR/ImfCRgbaFile.h... yes
checking for ImfInputReadPixels in -lIlmImf... yes
checking for X... libraries /usr/X11/lib, headers /usr/X11/include
checking whether -R must be followed by a space... neither works
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for XFlush in -lX11... yes
checking X11/xpm.h usability... yes
checking X11/xpm.h presence... yes
checking for X11/xpm.h... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking whether to enable the watch cursor... yes
checking X11/cursorfont.h usability... yes
checking X11/cursorfont.h presence... yes
checking for X11/cursorfont.h... yes
checking for XCreateFontCursor... yes
checking whether to use SDL2... checking system SDL2...
checking for sdl2-config... sdl2-config
checking for libSDL2... yes
checking for libSDL2 version >= 2.0.2... 2.0.7, ok
checking SDL2/SDL.h usability... yes
checking SDL2/SDL.h presence... yes
checking for SDL2/SDL.h... yes
checking for SDL_Quit in -lSDL2... yes
checking for default MacOS SDK... found, /Developer/SDKs/MacOSX.sdk
checking for SDK directory /Developer/SDKs/MacOSX.sdk... exists
checking SDK deployment version... "10.9"
checking if C compiler works with SDK/version options... yes
checking if C++ compiler works with SDK/version options... yes

Language constructs and functions
---------------------------------
checking whether time.h and sys/time.h may both be included... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for unistd.h... (cached) yes
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking size of int... 4
checking size of long int... 8
checking size of size_t... 8
checking size of float... 4
checking for working memcmp... yes
checking for getcwd... yes
checking for readlink... yes
checking for nanosleep... yes
checking for usleep... yes
checking for useconds_t... yes
checking for clock_gettime... yes
checking whether CLOCK_MONOTONIC is declared... yes
checking whether CLOCK_REALTIME is declared... yes
checking whether CLOCK_PROCESS_CPUTIME_ID is declared... yes
checking whether CLOCK_THREAD_CPUTIME_ID is declared... yes
checking for clockid_t... yes
checking for getrusage... yes
checking whether RUSAGE_SELF is declared... yes
checking whether RUSAGE_THREAD is declared... no
checking whether RUSAGE_LWP is declared... no
checking for gettimeofday... yes
checking for asinh... yes

Compiling
---------
checking whether to enable pipes for communications... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -pipe... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -Wno-multichar... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -Wno-write-strings... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -fno-enforce-eh-specs... no
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -Wno-non-template-friend... no
checking whether to enable I/O restrictions... yes
checking whether to enable debugging... no
checking whether to enable profiling... no
checking whether to enable stripping... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -s... no
configure: WARNING: Cannot set stripping mode
checking whether to enable optimizations... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -O3... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -ffast-math... yes
checking whether to enable architecture-specific optimizations... yes
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -xHost... no
checking whether g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9 accepts -march=native... yes
checking which architecture to optimize for... x86_64-apple-darwin17.3.0 (using -march=native)
checking whether C++ compiler accepts -mavx... yes
checking whether C++ compiler accepts -mavx2... yes
checking whether C++ compiler accepts -mfma... yes
checking whether C++ compiler accepts -mfma4... yes

Floating Point Features
-----------------------
checking limits usability... yes
checking limits presence... yes
checking for limits... yes
checking whether NaNs are supported... yes
checking cmath usability... yes
checking cmath presence... yes
checking for cmath... yes
checking whether NaNs can be identified using std::isnan()... yes
checking whether infinite values are supported... yes
checking for cmath... (cached) yes
checking whether infinities can be identified using std::isinf()... yes

Makefiles
---------
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating source/Makefile
config.status: creating vfe/Makefile
config.status: creating platform/Makefile
config.status: creating unix/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

===============================================================================
LPub3D-Trace CUI 3.8.0-alpha has been configured.

Built-in features:
  I/O restrictions:          enabled
  X Window display:          enabled (using SDL2 v2.0.7)
  Supported image formats:   gif tga iff ppm pgm hdr png jpeg tiff openexr
  Unsupported image formats: -

Compilation settings:
  Build architecture:  x86_64-apple-darwin17.3.0
  Built/Optimized for: x86_64-apple-darwin17.3.0 (using -march=native)
  Compiler vendor:     gnu
  Compiler version:    g++ -std=gnu++11 4.2.1
  CXX Compiler flags:  -pipe -Wno-multichar -Wno-write-strings -O3 -ffast-math -march=native -Qunused-arguments -pthread
  CPP Compiler flags:  -I/usr/local/include/SDL2 -D_THREAD_SAFE -D_THREAD_SAFE -I/usr/local/Cellar/openexr/2.2.0/include/OpenEXR -I/usr/local/Cellar/ilmbase/2.2.0/include/OpenEXR  -pthread -I/usr/local/include  -I/usr/X11/include
  C Compiler flags:    -g -O2
  Linker flags:         -L/usr/local/lib  -L/usr/X11/lib
  CC parameters:       gcc -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9
  CXX parameters:      g++ -std=gnu++11 -isysroot /Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.9
  Libraries:           -lSDL2 -L/usr/local/lib -lSDL2 -lXpm  -lSM -lICE -lX11  -lIlmImf -L/usr/local/Cellar/openexr/2.2.0/lib -L/usr/local/Cellar/ilmbase/2.2.0/lib -lIlmImf -lImath -lHalf -lIex -lIexMath -lIlmThread -lIlmThread -ltiff -ljpeg -lpng -lz -lm -lboost_thread-mt  -Qunused-arguments -pthread  -lboost_system

Type 'make' to build LPub3D-Trace CUI
Type 'make check' to build LPub3D-Trace CUI and run a test render.
Type 'make install' to install LPub3D-Trace CUI on your system.

LPub3D-Trace CUI will be packaged for an LPub3D 3rd party installation.

The LPub3D-Trace CUI components will be installed in the following directories.
  Program (executable):       /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/bin/x86_64
  System configuration files: /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/config
  User configuration files:   /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/config
  Standard include files:     /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/include
  Standard INI files:         /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/ini
  Unix man page:              /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/man
  Documentation (text):       /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/docs
===============================================================================

-Thu 25 Jan 2018 10:25:49 CET: POV-Ray make process 9260 is running since 1sec...
-Thu 25 Jan 2018 10:26:49 CET: POV-Ray make process 9260 is running since 1mins 1sec...
-Thu 25 Jan 2018 10:27:49 CET: POV-Ray make process 9260 is running since 2mins 1sec...
-Thu 25 Jan 2018 10:28:49 CET: POV-Ray make process 9260 is running since 3mins 1sec...
-Thu 25 Jan 2018 10:29:49 CET: POV-Ray make process 9260 is running since 4mins 1sec...
-Thu 25 Jan 2018 10:30:49 CET: POV-Ray make process 9260 is running since 5mins 1sec...
-Thu 25 Jan 2018 10:31:50 CET: POV-Ray make process 9260 is running since 6mins 2sec...
-Thu 25 Jan 2018 10:32:50 CET: POV-Ray make process 9260 is running since 7mins 2sec...
-Thu 25 Jan 2018 10:33:50 CET: POV-Ray make process 9260 is running since 8mins 2sec...
-Thu 25 Jan 2018 10:34:50 CET: POV-Ray make process 9260 is running since 9mins 2sec...
-Thu 25 Jan 2018 10:35:50 CET: POV-Ray make process 9260 is running since 10mins 3sec...
-Thu 25 Jan 2018 10:36:51 CET: POV-Ray make process finished (returned 0)
-

...

Making check in unix
make[1]: Nothing to be done for `check'.
Executing render output file check...

LPub3D-Trace CUI for Linux/Mac.

lpub3d_trace_cui Ray Tracer Version 3.8.0-alpha.unofficial (g++ -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.3.0).

lpub3d_trace_cui is a modified, unofficial distribution of
 Persistence of Vision Ray Tracer ('POV-Ray') version 3.8 compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D..
 The POV-Ray Team is not responsible for supporting this version.

 lpub3d_trace_cui is developed by maintained by Trevor SANDY.

Copyright 2017 Trevor SANDY
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

LPub3D-Trace CUI: ignoring system configuration file
lpub3d_trace_cui: cannot open the user configuration file /Users/trevorsandy/.local/share/LPub3D\ Software/LPub3D/3rdParty/lpub3d_trace_cui-3.8/config/povray.conf: No such file or directory
lpub3d_trace_cui: I/O restrictions are disabled
Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.unofficial (g++
 -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.3.0)
This is an unofficial version compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D.
 The POV-Ray Team is not responsible for supporting this version.

POV-Ray is based on DKBTrace 2.12 by David K. Buck & Aaron A. Collins
Copyright 1991-2017 Persistence of Vision Raytracer Pty. Ltd.

Primary Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.unofficial (g++ -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.3.0) 
Architects/Developers:
 (Alphabetically)
  Chris Cason         Thorsten Froehlich  Christoph Lipka   

With Assistance From: (Alphabetically)
  Nicolas Calimet     Jerome Grimbert     James Holsenback    Christoph Hormann 
  Nathan Kopp         Juha Nieminen       William F. Pokorny

Past Contributors: (Alphabetically)
  Steve Anger         Eric Barish         Dieter Bayer        David K. Buck     
  Nicolas Calimet     Chris Cason         Aaron A. Collins    Chris Dailey      
  Steve Demlow        Andreas Dilger      Alexander Enzmann   Dan Farmer        
  Thorsten Froehlich  Mark Gordon         Jerome Grimbert     James Holsenback  
  Christoph Hormann   Mike Hough          Chris Huff          Kari Kivisalo     
  Nathan Kopp         Lutz Kretzschmar    Christoph Lipka     Jochen Lippert    
  Pascal Massimino    Jim McElhiney       Douglas Muir        Juha Nieminen     
  Ron Parker          William F. Pokorny  Bill Pulver         Eduard Schwan     
  Wlodzimierz Skiba   Robert Skinner      Yvo Smellenbergh    Zsolt Szalavari   
  Scott Taylor        Massimo Valentini   Timothy Wegner      Drew Wells        
  Chris Young       

Other contributors are listed in the documentation.

Support libraries used by POV-Ray:
  ZLib 1.2.11, Copyright 1995-2012 Jean-loup Gailly and Mark Adler
  LibPNG 1.6.34, Copyright 1998-2012 Glenn Randers-Pehrson
  LibJPEG 9b, Copyright 1991-2016 Thomas G. Lane, Guido Vollbeding
  LibTIFF 4.0.9, Copyright 1988-1997 Sam Leffler, 1991-1997 SGI
  Boost 1.66, http://www.boost.org/
  OpenEXR 2.2.0 and IlmBase 2.2.0, Copyright (c) 2002-2011 Industrial Light & Magic.
  SDL2 2.0.7, Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>

Parser Options
  Input file: ./scenes/advanced/biscuit.pov
  Remove bounds........On 
  Split unions.........Off
  Library paths:
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources/ini
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources/in
clude
    ./ini
    ./include
    ./scenes
  Clock value:    0.000  (Animation off)
Image Output Options
  Image resolution.....320 by 240 (rows 1 to 240, columns 1 to 320).
  Output file.........../biscuit.pov.cui.png, 32 bpp with alpha PNG
  Dithering............Off
  Graphic display......On  (gamma: sRGB)
  Mosaic preview.......Off
  Continued trace......Off
Information Output Options
  All Streams to console..........On 
  Debug Stream to console.........On 
  Fatal Stream to console.........On 
  Render Stream to console........On 
  Statistics Stream to console....On 
  Warning Stream to console.......On 
==== [Parsing...] ==========================================================
----------------------------------------------------------------------------
Parser Statistics
----------------------------------------------------------------------------
Finite Objects:          292
Infinite Objects:          0
Light Sources:             2
Total:                   294
----------------------------------------------------------------------------
Parser Time
  Parse Time:       0 hours  0 minutes  0 seconds (0.306 seconds)
              using 1 thread(s) with 0.146 CPU-seconds total
  Bounding Time:    0 hours  0 minutes  0 seconds (0.000 seconds)
              using 1 thread(s) with 0.000 CPU-seconds total
----------------------------------------------------------------------------
Render Options
  Quality:  9
  Bounding boxes.......On   Bounding threshold: 3
  Antialiasing.........On  (Method 1, Threshold 0.300, Depth 3, Jitter 1.00,
 Gamma 2.50)
==== [Rendering...] ========================================================
/bin/sh: line 1: 11118 Illegal instruction: 4  ./unix/lpub3d_trace_cui +i./scenes/advanced/biscuit.pov +O./biscuit.pov.cui.png +w320 +h240 +UA +A +L./ini +L./include +L./scenes
make: *** [check] Error 132

...

-otool -L check povray...
unix/lpub3d_trace_cui:
  /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib (compatibility version 8.0.0, current version 8.0.0)
  /opt/X11/lib/libXpm.4.dylib (compatibility version 16.0.0, current version 16.0.0)
  /opt/X11/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0)
  /opt/X11/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)
  /opt/X11/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)
  /usr/local/opt/openexr/lib/libIlmImf-2_2.22.dylib (compatibility version 23.0.0, current version 23.0.0)
  /usr/local/opt/ilmbase/lib/libImath-2_2.12.dylib (compatibility version 13.0.0, current version 13.0.0)
  /usr/local/opt/ilmbase/lib/libHalf.12.dylib (compatibility version 13.0.0, current version 13.0.0)
  /usr/local/opt/ilmbase/lib/libIex-2_2.12.dylib (compatibility version 13.0.0, current version 13.0.0)
  /usr/local/opt/ilmbase/lib/libIexMath-2_2.12.dylib (compatibility version 13.0.0, current version 13.0.0)
  /usr/local/opt/ilmbase/lib/libIlmThread-2_2.12.dylib (compatibility version 13.0.0, current version 13.0.0)
  /usr/local/opt/libtiff/lib/libtiff.5.dylib (compatibility version 9.0.0, current version 9.0.0)
  /usr/local/opt/jpeg/lib/libjpeg.9.dylib (compatibility version 12.0.0, current version 12.0.0)
  /usr/local/opt/libpng/lib/libpng16.16.dylib (compatibility version 51.0.0, current version 51.0.0)
  /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
  /usr/local/opt/boost/lib/libboost_thread-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
  /usr/local/opt/boost/lib/libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0)
  /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
-

Workaround

I was not able to bypass the abend despite adding the -with-macosx-version-min=10.9 flag which is a common remedy for the 'Illegal instruction' return message as it 'usually' indicates that clang has encountered and instruction it does not understand. Likely, an instruction that may have been possible in the past but is no longer tolerated.

I also reinstalled x11, boost, sdl3, openexr and ilmbase to be sure these external dependencies were well installed.

Lastly, I tried building the official POV-Ray 'release/v3.8.0' source from GitHub but made even less progress. While the build succeeded the 'make check' test consistently failed with "Data type or kind does not match"

Trying to build 'release/v3.7.1' make even less progress still as I did not get pass the many boost/tr errors that blocked successful compilation.

Suggested Solution

My thinking is either a module within POV-Ray or a dependent library is not compliant with macOS High Sierra. I believe this be quickly traced by someone better aware of the rendering engine than I am.

NOTE: Although the instance of POV-Ray depicted in the logs above is customised, the customization only impacts the virtual front end and console display. I do not believe the source of this behaviour is associated with these layers. It this behaviour is indeed thrown from the core, then could be good to raise it with the POV-Ray team. The full source for this instance povray is available here.

Cheers,

wfpokorny commented 6 years ago

Hi. Some questions / thoughts pop to mind.

I see you moved your version from SDL1.2 to SDL2. I hacked for a day - and failed - at such an update around a year ago. I was making it an option to use either version in my case as a first step. Is your compile configuration also set up to still drop back to SDL1.2? If so, could you try this? If not, does running with -D to turn the SDL2 display off work?

If SDL1.2 or -D on the command line works, are you able to get a core file and then a stack trace ?

Does a compile with all optimizations turned off work?

Expect you know, but use configure options "--enable-debug --enable-profile --disable-optimiz --disable-strip" for the latter two and issue a "ulimit -c unlimited" to get the core file in the shell where you execute lpub3d_trace_cui.

I've no experience with Macs but I see too "macOS High Sierra 10.13.2" was the initial release last December that had the meltdown security fix and there look to be folks on the web saying it introduce illegal instruction crashes especially on some AMD cpus. I'm mostly ignorant here, but do you know if your virtual machine was running on an AMD or Intel CPU? If not might be interesting to run the problem set up on an Intel cpu straight up (no VM) and see what happens. Or dig more than I did and see what if any solutions others found for their 10.13.2 issues.

trevorsandy commented 6 years ago

Hello, Thanks for your quick response. I'll follow up your suggestions. But first, some responses to your questions:

Is your compile configuration also set up to still drop back to SDL1.2?

No, it is not. Instead, I opted to include the SDL2 source with --with-libsdl2=from-src which, as indicates, builds SDL2 from source if it is not a system library. This use case addresses older platforms. SDL2 is a major departure from SDL with new functions providing the behaviour requested by the previous SDL code. Instead of having the duplicity, I went with the SDL2 functions. However, it is entirely possible to merge the old stuff and update configure.ac to accommodate both SDL and SDL2.

If so, could you try this [...drop back to SDL1.2]? If not, does running with -D to turn the SDL2 display off work?

Yes, I did try to run with SDL1.2. I downloaded the original POV-Ray source 'release/v3.8.0' from GitHub and tried to build it with --with-libsdl of course. While it did compile the build check kept failing with "Data type or kind does not match". With 'release/v3.7.1' I also got a bunch of boost failures during compile so with that, I was reluctant to try the master branch.

If SDL1.2 or -D on the command line works, are you able to get a core file and then a stack trace ?
Does a compile with all optimizations turned off work?

I'll give these suggestions a try and come back to you.

...do you know if your virtual machine was running on an AMD or Intel CPU?

My VM host is running an Intel i7 CPU

Cheers,

trevorsandy commented 6 years ago

Good news - --without-optimiz did the trick. Many thanks for your support!

Build check details...

Trevors-Mac:povray trevorsandy$ chmod a+x unix/prebuild3rdparty.sh && ./unix/prebuild3rdparty.sh
===============================================================================
LPub3D-Trace CUI version 3.8 prebuild
===============================================================================
Detected autoconf 2.69
Detected automake 1.15.1
Create ../AUTHORS
Create ../ChangeLog
Create ../configure.ac
Create ../COPYING
Create ../NEWS
Create ../README
Create ../CUI_README
Create ../povray.1
Create ../scripts/
Create ../ini/
Create ../include/
Create ../scenes/
Create ../INSTALL
Create ../VERSION
Create ../icons/file_inc_classic_16.png
Create ../icons/file_inc_classic_32.png
Create ../icons/file_inc_classic_48.png
Create ../icons/file_inc_classic_64.png
Create ../icons/file_inc_crystal_16.png
Create ../icons/file_inc_crystal_32.png
Create ../icons/file_inc_crystal_48.png
Create ../icons/file_inc_crystal_64.png
Create ../icons/file_inc_slick_16.png
Create ../icons/file_inc_slick_32.png
Create ../icons/file_inc_slick_48.png
Create ../icons/file_inc_slick_64.png
Create ../icons/file_pov_classic_16.png
Create ../icons/file_pov_classic_32.png
Create ../icons/file_pov_classic_48.png
Create ../icons/file_pov_classic_64.png
Create ../icons/file_pov_crystal_16.png
Create ../icons/file_pov_crystal_32.png
Create ../icons/file_pov_crystal_48.png
Create ../icons/file_pov_crystal_64.png
Create ../icons/file_pov_slick_16.png
Create ../icons/file_pov_slick_32.png
Create ../icons/file_pov_slick_48.png
Create ../icons/file_pov_slick_64.png
Create ../icons/povray_16.png
Create ../icons/povray_32.png
Create ../icons/povray_48.png
Create ../icons/povray_64.png
Create ../doc/html
Create ./Makefile.am
Create ../kde_install.sh
Create ../povray.ini.in
Create ../povray.conf.in
Create ../povray.conf.check.in
Create ../Makefile.am
Create ../bootstrap
Create ../source/Makefile.am
Create ../libraries/sdl2/include/SDL2 symbolic link ignored - link exist.
Create ../libraries/sdl2/Makefile.in
Create ../vfe/Makefile.am
Create ../platform/Makefile.am
Run ../bootstrap
+ rm -f config.log config.status
+ aclocal -I .
+ autoheader --warnings=all
+ automake --add-missing --warnings=all
+ autoconf --warnings=all
+ cat ./configure
+ sed -e 's,configure.gnu  --help=recursive,& --srcdir=$ac_srcdir,g' -e 's,\(cd \)\($ac_\)\(pop\)*\(dir\),\1"\2\3\4",g' -e 's,$am_aux_dir/missing,\\"$am_aux_dir\\"/missing,g'
+ mv -f ./configure.tmp ./configure
+ chmod +x ./configure
+ rm -f -r ./autom4te.cache
Finished.
Trevors-Mac:povray trevorsandy$ ./configure COMPILED_BY="Trevor SANDY <trevor.sandy@gmail.com> for LPub3D." --prefix="/Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty" LPUB3D_3RD_PARTY="yes" --with-libsdl2 --disable-optimiz

===============================================================================
Configure LPub3D-Trace CUI version 3.8.0-alpha
===============================================================================

LPub3D-Trace CUI is an unofficial POV-Ray version compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D.
The POV-Ray Team(tm) is not responsible for supporting this version.

Environment
-----------
checking build system type... x86_64-apple-darwin17.4.0
checking host system type... x86_64-apple-darwin17.4.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... unix/config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether $C_INCLUDE_PATH contains the "." path... no
checking whether $CPLUS_INCLUDE_PATH contains the "." path... no
checking the archiver (ar) interface... (cached) ar

Programs
--------
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether the g++ compiler works... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=gnu++11... yes
checking for C++ compiler vendor... gnu
checking for g++ -std=gnu++11 version... 4.2.1
checking for ranlib... ranlib
checking for stat format option... -f 

Libraries
---------
checking whether to link with cygwin DLL... no
checking whether to enable static linking... no
checking for a sed that does not truncate output... /usr/bin/sed
checking whether gcc is Clang... yes
checking whether Clang needs flag to prevent "argument unused" warning when linking with -pthread... -Qunused-arguments
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for boostlib >= 1.38... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread-mt... yes
checking whether the boost thread library is usable... yes
checking for sin in -lmkl... no
checking for sin in -lm... yes
checking for clock_gettime in -lrt... no
checking whether to use the ZLIB library... yes
checking for library containing zlibVersion... -lz
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for libz version >= 1.2.1... 1.2.11, ok
checking whether to use the PNG library... yes
checking for library containing png_get_libpng_ver... -lpng
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for libpng version >= 1.2.5... 1.6.34, ok
checking whether to use the JPEG library... yes
checking for library containing jpeg_std_error... -ljpeg
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for libjpeg version >= 6b (62)... 90, ok
checking whether to use the TIFF library... yes
checking for library containing TIFFGetVersion... -ltiff
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for libtiff version >= 3.6.1... 4.0.9, ok
checking whether to use the OpenEXR library... yes
checking for pkg-config... pkg-config
checking for OpenEXR's pkg-config... yes
checking for OpenEXR version >= 1.2... 2.2.0, ok
checking OpenEXR/ImfCRgbaFile.h usability... yes
checking OpenEXR/ImfCRgbaFile.h presence... yes
checking for OpenEXR/ImfCRgbaFile.h... yes
checking for ImfInputReadPixels in -lIlmImf... yes
checking for X... libraries /usr/X11/lib, headers /usr/X11/include
checking whether -R must be followed by a space... neither works
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for XFlush in -lX11... yes
checking X11/xpm.h usability... yes
checking X11/xpm.h presence... yes
checking for X11/xpm.h... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking whether to enable the watch cursor... no
checking whether to use SDL2... checking system SDL2...
checking for sdl2-config... sdl2-config
checking for libSDL2... yes
checking for libSDL2 version >= 2.0.2... 2.0.7, ok
checking SDL2/SDL.h usability... yes
checking SDL2/SDL.h presence... yes
checking for SDL2/SDL.h... yes
checking for SDL_Quit in -lSDL2... yes

Language constructs and functions
---------------------------------
checking whether time.h and sys/time.h may both be included... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for unistd.h... (cached) yes
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking size of int... 4
checking size of long int... 8
checking size of size_t... 8
checking size of float... 4
checking for working memcmp... yes
checking for getcwd... yes
checking for readlink... yes
checking for nanosleep... yes
checking for usleep... yes
checking for useconds_t... yes
checking for clock_gettime... yes
checking whether CLOCK_MONOTONIC is declared... yes
checking whether CLOCK_REALTIME is declared... yes
checking whether CLOCK_PROCESS_CPUTIME_ID is declared... yes
checking whether CLOCK_THREAD_CPUTIME_ID is declared... yes
checking for clockid_t... yes
checking for getrusage... yes
checking whether RUSAGE_SELF is declared... yes
checking whether RUSAGE_THREAD is declared... no
checking whether RUSAGE_LWP is declared... no
checking for gettimeofday... yes
checking for asinh... yes

Compiling
---------
checking whether to enable pipes for communications... yes
checking whether g++ -std=gnu++11 accepts -pipe... yes
checking whether g++ -std=gnu++11 accepts -Wno-multichar... yes
checking whether g++ -std=gnu++11 accepts -Wno-write-strings... yes
checking whether g++ -std=gnu++11 accepts -fno-enforce-eh-specs... no
checking whether g++ -std=gnu++11 accepts -Wno-non-template-friend... no
checking whether to enable I/O restrictions... yes
checking whether to enable debugging... no
checking whether to enable profiling... no
checking whether to enable stripping... yes
checking whether g++ -std=gnu++11 accepts -s... no
configure: WARNING: Cannot set stripping mode
checking whether to enable optimizations... no
checking whether C++ compiler accepts -mavx... yes
checking whether C++ compiler accepts -mavx2... yes
checking whether C++ compiler accepts -mfma... yes
checking whether C++ compiler accepts -mfma4... yes

Floating Point Features
-----------------------
checking limits usability... yes
checking limits presence... yes
checking for limits... yes
checking whether NaNs are supported... yes
checking cmath usability... yes
checking cmath presence... yes
checking for cmath... yes
checking whether NaNs can be identified using std::isnan()... yes
checking whether infinite values are supported... yes
checking for cmath... (cached) yes
checking whether infinities can be identified using std::isinf()... yes

Makefiles
---------
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating source/Makefile
config.status: creating vfe/Makefile
config.status: creating platform/Makefile
config.status: creating unix/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

===============================================================================
LPub3D-Trace CUI 3.8.0-alpha has been configured.

Built-in features:
  I/O restrictions:          enabled
  X Window display:          enabled (using SDL2 v2.0.7)
  Supported image formats:   gif tga iff ppm pgm hdr png jpeg tiff openexr
  Unsupported image formats: -

Compilation settings:
  Build architecture:  x86_64-apple-darwin17.4.0
  Built/Optimized for: x86_64-apple-darwin17.4.0
  Compiler vendor:     gnu
  Compiler version:    g++ -std=gnu++11 4.2.1
  CXX Compiler flags:  -pipe -Wno-multichar -Wno-write-strings -Qunused-arguments -pthread
  CPP Compiler flags:  -I/usr/local/include/SDL2 -D_THREAD_SAFE -D_THREAD_SAFE -I/usr/local/Cellar/openexr/2.2.0/include/OpenEXR -I/usr/local/Cellar/ilmbase/2.2.0/include/OpenEXR  -pthread -I/usr/local/include  -I/usr/X11/include
  C Compiler flags:    -g -O2
  Linker flags:         -L/usr/local/lib  -L/usr/X11/lib
  CC parameters:       gcc
  CXX parameters:      g++ -std=gnu++11
  Libraries:           -lSDL2 -L/usr/local/lib -lSDL2 -lXpm  -lSM -lICE -lX11  -lIlmImf -L/usr/local/Cellar/openexr/2.2.0/lib -L/usr/local/Cellar/ilmbase/2.2.0/lib -lIlmImf -lImath -lHalf -lIex -lIexMath -lIlmThread -lIlmThread -ltiff -ljpeg -lpng -lz -lm -lboost_thread-mt  -Qunused-arguments -pthread  -lboost_system

Type 'make' to build LPub3D-Trace CUI
Type 'make check' to build LPub3D-Trace CUI and run a test render.
Type 'make install' to install LPub3D-Trace CUI on your system.

LPub3D-Trace CUI will be packaged for an LPub3D 3rd party installation.

The LPub3D-Trace CUI components will be installed in the following directories.
  Program (executable):       /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/bin/x86_64
  System configuration files: /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/config
  User configuration files:   /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/config
  Standard include files:     /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/include
  Standard INI files:         /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/ini
  Unix man page:              /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/resources/man
  Documentation (text):       /Users/trevorsandy/projects/lpub3d-ci/dmgbuild/lpub3d_macos_3rdparty/lpub3d_trace_cui-3.8/docs
===============================================================================

Trevors-Mac:povray trevorsandy$ make check
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in source
make[2]: Nothing to be done for `all'.
Making all in vfe
make[2]: Nothing to be done for `all'.
Making all in platform
make[2]: Nothing to be done for `all'.
Making all in unix
make[2]: Nothing to be done for `all'.
cat ./povray.ini.in | sed "s,__POVLIBDIR__,/Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources,g" > ./povray.ini
Making check in source
make[1]: Nothing to be done for `check'.
Making check in vfe
make[1]: Nothing to be done for `check'.
Making check in platform
make[1]: Nothing to be done for `check'.
Making check in unix
make[1]: Nothing to be done for `check'.
Generating build check file path...
Generating build check povray.conf file...
Generating build check povray.ini file...
Executing render output file check...

LPub3D-Trace CUI for Linux/Mac.

lpub3d_trace_cui Ray Tracer Version 3.8.0-alpha.unofficial (g++ -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.4.0).

lpub3d_trace_cui is a modified, unofficial distribution of
 Persistence of Vision Ray Tracer ('POV-Ray') version 3.8 compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D..
 The POV-Ray Team is not responsible for supporting this version.

 lpub3d_trace_cui is developed by maintained by Trevor SANDY.

Copyright 2017 Trevor SANDY
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

LPub3D-Trace CUI: ignoring system configuration file
Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.unofficial (g++
 -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.4.0)
This is an unofficial version compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D.
 The POV-Ray Team is not responsible for supporting this version.

POV-Ray is based on DKBTrace 2.12 by David K. Buck & Aaron A. Collins
Copyright 1991-2017 Persistence of Vision Raytracer Pty. Ltd.

Primary Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.unofficial (g++
 -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.4.0) Architects/Developers:
 (Alphabetically)
  Chris Cason         Thorsten Froehlich  Christoph Lipka   

With Assistance From: (Alphabetically)
  Nicolas Calimet     Jerome Grimbert     James Holsenback    Christoph Hormann 
  Nathan Kopp         Juha Nieminen       William F. Pokorny

Past Contributors: (Alphabetically)
  Steve Anger         Eric Barish         Dieter Bayer        David K. Buck     
  Nicolas Calimet     Chris Cason         Aaron A. Collins    Chris Dailey      
  Steve Demlow        Andreas Dilger      Alexander Enzmann   Dan Farmer        
  Thorsten Froehlich  Mark Gordon         Jerome Grimbert     James Holsenback  
  Christoph Hormann   Mike Hough          Chris Huff          Kari Kivisalo     
  Nathan Kopp         Lutz Kretzschmar    Christoph Lipka     Jochen Lippert    
  Pascal Massimino    Jim McElhiney       Douglas Muir        Juha Nieminen     
  Ron Parker          William F. Pokorny  Bill Pulver         Eduard Schwan     
  Wlodzimierz Skiba   Robert Skinner      Yvo Smellenbergh    Zsolt Szalavari   
  Scott Taylor        Massimo Valentini   Timothy Wegner      Drew Wells        
  Chris Young       

Other contributors are listed in the documentation.

Support libraries used by POV-Ray:
  ZLib 1.2.11, Copyright 1995-2012 Jean-loup Gailly and Mark Adler
  LibPNG 1.6.34, Copyright 1998-2012 Glenn Randers-Pehrson
  LibJPEG 9b, Copyright 1991-2016 Thomas G. Lane, Guido Vollbeding
  LibTIFF 4.0.9, Copyright 1988-1997 Sam Leffler, 1991-1997 SGI
  Boost 1.66, http://www.boost.org/
  OpenEXR 2.2.0 and IlmBase 2.2.0, Copyright (c) 2002-2011 Industrial Light &
 Magic.
  SDL2 2.0.7, Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>

Parser Options
  Input file: ./scenes/advanced/biscuit.pov
  Remove bounds........On 
  Split unions.........Off
  Library paths:
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources/in
i
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources/in
clude
    ./ini
    ./include
    ./scenes
  Clock value:    0.000  (Animation off)
Image Output Options
  Image resolution.....320 by 240 (rows 1 to 240, columns 1 to 320).
  Output file.........../biscuit.pov.cui.png, 32 bpp with alpha PNG
  Dithering............Off
  Graphic display......On  (gamma: sRGB)
  Mosaic preview.......Off
  Continued trace......Off
Information Output Options
  All Streams to console..........On 
  Debug Stream to console.........On 
  Fatal Stream to console.........On 
  Render Stream to console........On 
  Statistics Stream to console....On 
  Warning Stream to console.......On 
==== [Parsing...] ==========================================================
----------------------------------------------------------------------------
Parser Statistics
----------------------------------------------------------------------------
Finite Objects:          292
Infinite Objects:          0
Light Sources:             2
Total:                   294
----------------------------------------------------------------------------
Parser Time
  Parse Time:       0 hours  0 minutes  0 seconds (0.412 seconds)
              using 1 thread(s) with 0.398 CPU-seconds total
  Bounding Time:    0 hours  0 minutes  0 seconds (0.001 seconds)
              using 1 thread(s) with 0.001 CPU-seconds total
----------------------------------------------------------------------------
Render Options
  Quality:  9
  Bounding boxes.......On   Bounding threshold: 3
  Antialiasing.........On  (Method 1, Threshold 0.300, Depth 3, Jitter 1.00,
 Gamma 2.50)
==== [Rendering...] ========================================================
Rendered 76800 of 76800 pixels (100%)
----------------------------------------------------------------------------
Render Statistics
Image Resolution 320 x 240
----------------------------------------------------------------------------
Pixels:            81760   Samples:          289827   Smpls/Pxl: 3.54
Rays:             467211   Saved:              9230   Max Level: 5/5
----------------------------------------------------------------------------
Ray->Shape Intersection          Tests       Succeeded  Percentage
----------------------------------------------------------------------------
Blob                           1330536           99187      7.45
Blob Component                 1332762          883898     66.32
Blob Bound                    17690612         4871094     27.53
Cone/Cylinder                  9736139         1278153     13.13
CSG Intersection               1228226          324352     26.41
CSG Union                       410206           23339      5.69
Disc                            163900           46607     28.44
Isosurface                       11884            2028     17.06
Isosurface Container             18686           12497     66.88
Isosurface Cache                  2900             134      4.62
Torus                          1802578          146115      8.11
Torus Bound                    1802578          176637      9.80
Clipping Object                  92984           54838     58.98
Bounding Box                  34558786        13151163     38.05
----------------------------------------------------------------------------
Isosurface roots:             11884
Function VM calls:           113889
----------------------------------------------------------------------------
Crackle Cache Queries:           18559
Crackle Cache Hits:              16606 ( 89 percent)
----------------------------------------------------------------------------
Roots tested:                314188   eliminated:                72471
Shadow Ray Tests:            421476   Succeeded:                 92702
Shadow Cache Hits:            78809
Reflected Rays:               83172
Transmitted Rays:             12452
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Render Time:
  Photon Time:      No photons
  Radiosity Time:   No radiosity
  Trace Time:       0 hours  0 minutes 11 seconds (11.725 seconds)
              using 4 thread(s) with 44.055 CPU-seconds total
POV-Ray finished

Executing the render display window check...

LPub3D-Trace CUI for Linux/Mac.

lpub3d_trace_cui Ray Tracer Version 3.8.0-alpha.unofficial (g++ -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.4.0).

lpub3d_trace_cui is a modified, unofficial distribution of
 Persistence of Vision Ray Tracer ('POV-Ray') version 3.8 compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D..
 The POV-Ray Team is not responsible for supporting this version.

 lpub3d_trace_cui is developed by maintained by Trevor SANDY.

Copyright 2017 Trevor SANDY
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

LPub3D-Trace CUI: ignoring system configuration file
Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.unofficial (g++
 -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.4.0)
This is an unofficial version compiled by:
 Trevor SANDY <trevor.sandy@gmail.com> for LPub3D.
 The POV-Ray Team is not responsible for supporting this version.

POV-Ray is based on DKBTrace 2.12 by David K. Buck & Aaron A. Collins
Copyright 1991-2017 Persistence of Vision Raytracer Pty. Ltd.

Primary Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.unofficial (g++
 -std=gnu++11 4.2.1 @ x86_64-apple-darwin17.4.0) Architects/Developers:
 (Alphabetically)
  Chris Cason         Thorsten Froehlich  Christoph Lipka   

With Assistance From: (Alphabetically)
  Nicolas Calimet     Jerome Grimbert     James Holsenback    Christoph Hormann 
  Nathan Kopp         Juha Nieminen       William F. Pokorny

Past Contributors: (Alphabetically)
  Steve Anger         Eric Barish         Dieter Bayer        David K. Buck     
  Nicolas Calimet     Chris Cason         Aaron A. Collins    Chris Dailey      
  Steve Demlow        Andreas Dilger      Alexander Enzmann   Dan Farmer        
  Thorsten Froehlich  Mark Gordon         Jerome Grimbert     James Holsenback  
  Christoph Hormann   Mike Hough          Chris Huff          Kari Kivisalo     
  Nathan Kopp         Lutz Kretzschmar    Christoph Lipka     Jochen Lippert    
  Pascal Massimino    Jim McElhiney       Douglas Muir        Juha Nieminen     
  Ron Parker          William F. Pokorny  Bill Pulver         Eduard Schwan     
  Wlodzimierz Skiba   Robert Skinner      Yvo Smellenbergh    Zsolt Szalavari   
  Scott Taylor        Massimo Valentini   Timothy Wegner      Drew Wells        
  Chris Young       

Other contributors are listed in the documentation.

Support libraries used by POV-Ray:
  ZLib 1.2.11, Copyright 1995-2012 Jean-loup Gailly and Mark Adler
  LibPNG 1.6.34, Copyright 1998-2012 Glenn Randers-Pehrson
  LibJPEG 9b, Copyright 1991-2016 Thomas G. Lane, Guido Vollbeding
  LibTIFF 4.0.9, Copyright 1988-1997 Sam Leffler, 1991-1997 SGI
  Boost 1.66, http://www.boost.org/
  OpenEXR 2.2.0 and IlmBase 2.2.0, Copyright (c) 2002-2011 Industrial Light &
 Magic.
  SDL2 2.0.7, Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>

Parser Options
  Input file: ./scenes/advanced/biscuit.pov
  Remove bounds........On 
  Split unions.........Off
  Library paths:
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources/in
i
    /Applications/LPub3D.app/Contents/3rdParty/lpub3d_trace_cui-3.8/resources/in
clude
    ./ini
    ./include
    ./scenes
  Clock value:    0.000  (Animation off)
Image Output Options
  Image resolution.....320 by 240 (rows 1 to 240, columns 1 to 320).
  Output file: Disabled
  Graphic display......On  (gamma: sRGB)
  Mosaic preview.......Off
  Continued trace......Off
Information Output Options
  All Streams to console..........On 
  Debug Stream to console.........On 
  Fatal Stream to console.........On 
  Render Stream to console........On 
  Statistics Stream to console....On 
  Warning Stream to console.......On 
==== [Parsing...] ==========================================================
----------------------------------------------------------------------------
Parser Statistics
----------------------------------------------------------------------------
Finite Objects:          292
Infinite Objects:          0
Light Sources:             2
Total:                   294
----------------------------------------------------------------------------
Parser Time
  Parse Time:       0 hours  0 minutes  0 seconds (0.408 seconds)
              using 1 thread(s) with 0.401 CPU-seconds total
  Bounding Time:    0 hours  0 minutes  0 seconds (0.001 seconds)
              using 1 thread(s) with 0.001 CPU-seconds total
----------------------------------------------------------------------------
Render Options
  Quality:  9
  Bounding boxes.......On   Bounding threshold: 3
  Antialiasing.........On  (Method 1, Threshold 0.300, Depth 3, Jitter 1.00,
 Gamma 2.50)
==== [Rendering...] ========================================================
Rendered 76800 of 76800 pixels (100%)
----------------------------------------------------------------------------
Render Statistics
Image Resolution 320 x 240
----------------------------------------------------------------------------
Pixels:            81760   Samples:          289827   Smpls/Pxl: 3.54
Rays:             467211   Saved:              9230   Max Level: 5/5
----------------------------------------------------------------------------
Ray->Shape Intersection          Tests       Succeeded  Percentage
----------------------------------------------------------------------------
Blob                           1330537           99186      7.45
Blob Component                 1332760          883895     66.32
Blob Bound                    17690605         4871091     27.53
Cone/Cylinder                  9735744         1278151     13.13
CSG Intersection               1228218          324353     26.41
CSG Union                       410205           23339      5.69
Disc                            163892           46607     28.44
Isosurface                       11884            2028     17.06
Isosurface Container             18686           12497     66.88
Isosurface Cache                  2900             134      4.62
Torus                          1802955          146113      8.10
Torus Bound                    1802955          176634      9.80
Clipping Object                  92984           54838     58.98
Bounding Box                  34558650        13151090     38.05
----------------------------------------------------------------------------
Isosurface roots:             11884
Function VM calls:           113889
----------------------------------------------------------------------------
Crackle Cache Queries:           18559
Crackle Cache Hits:              16607 ( 89 percent)
----------------------------------------------------------------------------
Roots tested:                314184   eliminated:                72471
Shadow Ray Tests:            421476   Succeeded:                 92702
Shadow Cache Hits:            78812
Reflected Rays:               83172
Transmitted Rays:             12452
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Render Time:
  Photon Time:      No photons
  Radiosity Time:   No radiosity
  Trace Time:       0 hours  0 minutes 11 seconds (11.328 seconds)
              using 4 thread(s) with 43.975 CPU-seconds total
POV-Ray finished

Clenup build check povray.conf and povray.ini files...

Cheers,

wfpokorny commented 5 years ago

In the hopes you'll see this though a post to a closed issue. A couple of us have recently compiled your lpub3d-raytracer-cui branch with the thought of using your SDL2 work as a head start / re-try on getting SDL2 windowing to work for us.

Both of us (Ubuntu 18.04 g++ and clang) can compile fine, but the SDL2 window never comes up. Tried make check and running the built povray explicitly with no luck.

Is there some "black magic" required for the SDL2 windowing to work?