povray icon indicating copy to clipboard operation
povray copied to clipboard

[BUG][UNIX]

Open bratne opened this issue 2 years ago • 0 comments

Summary

Static compilation fails on the boost library. ./configure COMPILED_BY="Docker" --prefix=/installdir --enable-static

POV-Ray Version

  • Incarnation: POV-Ray for Unix
  • Affected build version: v3.7.0.10 (commit: cd074e4d2698b3faa5b157c6b05c5f3ad432fddc, branch: latest-stable)
  • Known working build version: ??

Runtime Environment

  • Operating system: alpine linux, docker, latest
  • Hardware architecture: Docker
  • CPU model: N/A

Steps to Reproduce

Store the following as a Dockerfile

FROM alpine:latest as BUILD RUN apk add build-base git autoconf automake boost-dev libpng-dev tiff-dev openexr-dev RUN git clone -b latest-stable --single-branch --depth 1 https://github.com/POV-Ray/povray.git WORKDIR /povray RUN cd unix &&
./prebuild.sh
RUN ./configure COMPILED_BY="Docker" --prefix=/installdir --enable-static`

Command Line

Docker build .

Expected Behavior

Make-command should successfully compile a binary

Actual Behavior

Compilation fails

Output

#0 0.440
#0 0.440 ===============================================================================
#0 0.440 Configure POV-Ray version 3.7.0.10
#0 0.440 ===============================================================================
#0 0.440 #0 0.440 This is an unofficial version compiled by: #0 0.440 Docker #0 0.440 The POV-Ray Team(tm) is not responsible for supporting this version. #0 0.440 #0 0.440 Environment #0 0.440 ----------- #0 0.443 checking build system type... x86_64-pc-linux-musl #0 0.473 checking host system type... x86_64-pc-linux-musl #0 0.473 checking for a BSD-compatible install... /usr/bin/install -c #0 0.622 checking whether build environment is sane... yes #0 0.626 /bin/sh: can't open '"/povray/unix/config"/missing': No such file or directory #0 0.626 configure: WARNING: 'missing' script is too old or missing #0 0.626 checking for a race-free mkdir -p... ./unix/config/install-sh -c -d #0 0.630 checking for gawk... no #0 0.631 checking for mawk... no #0 0.631 checking for nawk... no #0 0.631 checking for awk... awk #0 0.631 checking whether make sets $(MAKE)... yes #0 0.636 checking whether make supports nested variables... yes #0 0.640 checking whether to enable maintainer-specific portions of Makefiles... no #0 0.641 checking whether $C_INCLUDE_PATH contains the "." path... no #0 0.643 checking whether $CPLUS_INCLUDE_PATH contains the "." path... no #0 0.643 #0 0.643 Programs #0 0.643 -------- #0 0.643 checking for gcc... gcc #0 0.659 checking whether the C compiler works... yes #0 0.681 checking for C compiler default output file name... a.out #0 0.681 checking for suffix of executables... #0 0.703 checking whether we are cross compiling... no #0 0.727 checking for suffix of object files... o #0 0.743 checking whether the compiler supports GNU C... yes #0 0.758 checking whether gcc accepts -g... yes #0 0.774 checking for gcc option to enable C11 features... none needed #0 0.801 checking whether gcc understands -c and -o together... yes #0 0.830 checking whether make supports the include directive... yes (GNU style) #0 0.835 checking dependency style of gcc... gcc3 #0 0.855 checking how to run the C preprocessor... gcc -E #0 0.891 checking for stdio.h... yes #0 0.903 checking for stdlib.h... yes #0 0.917 checking for string.h... yes #0 0.930 checking for inttypes.h... yes #0 0.944 checking for stdint.h... yes #0 0.959 checking for strings.h... yes #0 0.973 checking for sys/stat.h... yes #0 0.989 checking for sys/types.h... yes #0 1.004 checking for unistd.h... yes #0 1.021 checking for stdlib.h... (cached) yes #0 1.021 checking for g++... g++ #0 1.034 checking whether the compiler supports GNU C++... yes #0 1.049 checking whether g++ accepts -g... yes #0 1.066 checking for g++ option to enable C++11 features... none needed #0 1.126 checking dependency style of g++... gcc3 #0 1.145 checking whether the g++ compiler works... yes #0 1.171 checking how to run the C++ preprocessor... g++ -E #0 1.208 checking for C++ compiler vendor... gnu #0 1.262 checking for grep that handles long lines and -e... /bin/grep #0 1.293 checking for egrep... /bin/grep -E #0 1.294 checking for g++ version... 12.2.1 #0 1.299 checking for ranlib... ranlib #0 1.300 checking for stat format option... -c #0 1.305 #0 1.305 Libraries #0 1.305 --------- #0 1.305 checking whether to link with cygwin DLL... no #0 1.305 checking whether to enable static linking... yes #0 1.305 checking for linker static flag... -static #0 1.305 checking for working '-static' flag... yes #0 1.356 checking for the pthreads library -lpthreads... no #0 1.383 checking whether pthreads work without any flags... yes #0 1.412 checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE #0 1.440 checking if more special flags are required for pthreads... no #0 1.443 checking for boostlib >= 1.37... yes #0 1.462 checking whether the Boost::Thread library is available... yes #0 3.084 checking for exit in -lboost_thread... no #0 3.109 checking for exit in -lboost_thread... (cached) no #0 3.110 configure: error: Could not link against boost_thread !

Suggested Solution

Checking if the library exists should be done differently for boost, as static linking of a .hpp is not dependent on a .so or .a-file.

bratne avatar May 24 '23 14:05 bratne