 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hi ho,
Add me to the (very short) list of people, who need a batch windows version of
povray. Does anyone have 3.7 compiled without the Gui on Windows?
My fastest machine (8 thread i7) can not participate in my renderfarm without
it. :( Once upon a time, I built povwin 3.1 in dos mode, but those days are
gone.
I made a couple of feeble attempts at building 3.7 with MinGW or VS 2015
Community. Both will need effort that maybe I can avoid.
(Not as easy as sudo apt-get install povray ... )
Thanks,
dik
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 05.10.2015 um 12:43 schrieb dickbalaska:
> Hi ho,
>
> Add me to the (very short) list of people, who need a batch windows version of
> povray. Does anyone have 3.7 compiled without the Gui on Windows?
Consider yourself officially added :)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hi!
After some searching, I think I'm on the right path to compile a console version
of POVRay for Windows using MinGW64. I have all dependencies compiled without
problem, the problem now is to make changes to use Windows console because the
source code is configured in the Unix philosophy, using Unix functions for
console, so unavailable for Windows.
As I have no time to investigate on this right now, I share here my experience
so far, maybe it will be useful...
Tools and compilers needed
==========================
* MinGW64 from http://mingw-w64.yaxm.org/doku.php
* pkg-config from
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
glib :
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip
* MSYS Extensions from
http://sourceforge.net/projects/mingw/files/MSYS/Extension/
crypt : libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
crypt : crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma
m4 : m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
perl : perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
* MSYS Dev from http://sourceforge.net/projects/mingw/files/MSYS/msysdev/
autoconf : autoconf-2.68-1-msys-1.0.17-bin.tar.lzma
automake : automake-1.11.1-1-msys-1.0.13-bin.tar.lzma
* MSYS Base from http://sourceforge.net/projects/mingw/files/MSYS/Base/
bash : bash-3.1.23-1-msys-1.0.18-bin.tar.xz
coreutils : coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
coreutils : coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
findutils : findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
gawk : gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
grep : grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
libiconv : libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
gettext : libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
regex : libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
termcap : libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
make : make-3.81-3-msys-1.0.13-bin.tar.lzma
msys-core : msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
msys-core : msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
sed : sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
termcap : termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
* Microsoft assembler 64 bit MASM (ML64.exe is part of Windows SDK, DDK
or Visual Studio, I found it in my Visual Studio Express 2013 in
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
* CMake from http://www.cmake.org/
Dependencies
============
Needed
======
boost http://www.boost.org
zlib http://www.zlib.net/
jpeg http://www.ijg.org/files/
png http://www.libpng.org/pub/png/libpng.html
tiff http://www.remotesensing.org/libtiff/
Optional
========
openexr http://www.openexr.com/
sdl 1.2 http://www.libsdl.org
Prepare a build environment
===========================
When I build with MinGW, I always have this directory
layout :
- The MinGW environment is installed in C:\MinGW.
- The CMake binaries are extracted in C:\MinGW\CMake
- The MSYS binaries (all MSYS-related stuff above) are
extracted in C:\MinGW\MSYS
=> In MSYS, this directory is mapped as /
- pkg-config and its DLLs can be placed in C:\MinGW\MSYS
(also copy msys-intl-8.dll to intl.dll in C:\MinGW\MSYS\bin
Run the postinstall\pi.bat script to initialize the environment
and set some directories (follow the instructions).
After first launch of MSYS, a directory is available : /home/<user>/
The source code packages go to /home/user/source
The build directory (with binaries and libs) is /build
So, excluding other files, this is how the directory structure looks like :
C:\MinGW
cmake
mingw64
msys
build
home
<user>
source
After installation, I create a .bat file to set environment variables needed
(for example, to use CMake). This file is buildenv.bat and I place it in
/home/<user/. When using MSYS, I simply start the MSYS.bat in C:\MinGW\msys.
All the configure scripts have the prefix /build when using MSYS. When building
with other tools (for example CMake), I map a drive letter (Z) to the /build
folder.
Build environment (buildenv.bat) file
=====================================
@ECHO OFF
COLOR 1F
TITLE Build environment
ECHO Build environment
ECHO =================
SET PATH=C:\MinGW\msys\build\bin;%PATH%
SET PATH=C:\MinGW\msys\build\lib;%PATH%
SET PATH=C:\MinGW\mingw64\bin;%PATH%
SET PATH=C:\MinGW\cmake\bin;%PATH%
SET PATH=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
SUBST Z: C:\MinGW\msys\build
CD C:\MinGW\msys\home
CMD
Install tools
=============
MinGW64
Download from : http://mingw-w64.yaxm.org/doku.php
mingw-w64-install.exe
=> C:\MinGW
MSYS build environment
Download from : http://sourceforge.net/projects/mingw/files/MSYS/Base/
=> C:\MinGW\MSYS
CMake : http://www.cmake.org/
=> C:\MinGW\CMake
MASM 64 (or compatible assembler) : ml64.exe is included with Windows SDK,
DDK or Visual Studio.
Directories
%source% = C:\MinGW\MSYS\home\<user>\source
%build% = C:\MinGW\MSYS\build
%mingw% = C:\MinGW
%prefix% = /build (MSYS), Z:\ (CMake)
Set build virtual drive : subst z: %prefix%
Build environment
set path=%mingw%\mingw64\bin;%path%
set path=%mingw%\cmake\bin;%path%
set path=%mingw%\swig;%path%
Compilation
===========
Please follow the order of dependencies.
ZLib (CMake)
============
cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=%prefix%
mingw32-make
mingw32-make install
ZLib (MSYS)
===========
mingw32-make -fwin32/makefile.gcc SHAREDLIB=libz.dll
mkdir -p %prefix%/bin
mkdir -p %prefix%/include
mkdir -p %prefix%/lib
cp libz.dll %prefix%/bin
cp zlib.h %prefix%include
cp lib.dll.a %prefix%/lib
JPEG (MSYS)
===========
../configure --prefix=%prefix%
make
make install
PNG (CMake)
==========
cmake -G "MinGW Makefiles"
-DZLIB_ROOT=%prefix%\lib
-DPNG_TESTS=OFF
-DCMAKE_INSTALL_PREFIX=%prefix%
mingw32-make
mingw32-make install
TIFF (MSYS)
===========
../configure --prefix=%prefix%
--with-zlib-include-dir=%prefix%/include
--with-zlib-lib-dir=%prefix%/lib
--with-jpeg-include-dir=%prefix%/include
--with-jpeg-lib-dir=%prefix%/lib
make
make install
Boost
=====
Open buildenv.bat and cd to boost dir
booststrap.bat gcc --prefix=Z:\
b2 toolset=gcc release
b2 toolset=gcc --prefix=Z:\ --variant=release --layout=tagged install
OpenEXR (CMake)
===============
// Build IlmBase
cmake -G "MinGW Makefiles"
-DCMAKE_INSTALL_PREFIX=%prefix%
-DNAMESPACE_VERSIONING=OFF
mingw32-make
mingw32-make install
// Build OpenEXR
Needs a modification, see https://github.com/openexr/openexr/issues/95
Edit IlmImf/ImfSystemSpecific.h, line 57 replace #ifdef __GNUC__ with
#if defined(__GNUC__) && !defined(__MINGW32__)
set path=%prefix\bin;%path%
set path=%prefix%\lib;%path%
cmake -G "MinGW Makefiles"
-DZLIB_ROOT="%prefix%"
-DILMBASE_PACKAGE_PREFIX="%prefix%"
-DCMAKE_INSTALL_PREFIX="%prefix%"
-DCMAKE_CXX_FLAGS="-fpermissive"
-DNAMESPACE_VERSIONING=OFF
mingw32-make
mingw32-make install
!!! OpenEXR.pc was not created, I had to create it manually in
/build/lib/pkgconfig
Content of OpenEXR.pc :
prefix=/build
exec_prefix=/build
libdir=/build/lib
includedir=/build/include
OpenEXR_includedir=@includedir@/OpenEXR
Name: OpenEXR
Description: OpenEXR image library
Version: 2.2.0
Libs: -L${libdir} -lIlmImf
Cflags: -I${OpenEXR_includedir}
Requires: IlmBase
Libs.private: -lz
SDL (MSYS)
==========
../configure --prefix=/build
make
make install
POV-Ray (MSYS)
==============
// Patches
vfesession.h, vfeplatform.h
#define uint unsigned int
In source folder cd unix
../prebuild.sh
cd ..
export LD_LIBRARY_PATH=%prefix%/lib
export LD_FLAGS=%prefix%/lib
export C_INCLUDE_PATH=%prefix%/include
export CPLUS_INCLUDE_PATH=%prefix%/include
export PATH=%prefix%/bin:$PATH
export PKG_CONFIG_PATH=%prefix%/lib/pkgconfig
../configure COMPILED_BY="your name <e-mail>" LIBS="-L/build/lib
-lboost_system-mt" --prefix=/build
make
make install
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
There was at one point a command line windows povray. I believe it was
official, seem to recall downloading it from the official site.
Probably the relevant Windows console code was long ago removed?
On 11/8/2015 7:11 AM, Rocco wrote:
> Hi!
>
> After some searching, I think I'm on the right path to compile a console version
> of POVRay for Windows using MinGW64. I have all dependencies compiled without
> problem, the problem now is to make changes to use Windows console because the
> source code is configured in the Unix philosophy, using Unix functions for
> console, so unavailable for Windows.
>
> As I have no time to investigate on this right now, I share here my experience
> so far, maybe it will be useful...
>
> Tools and compilers needed
> ==========================
> * MinGW64 from http://mingw-w64.yaxm.org/doku.php
>
> * pkg-config from
>
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
> glib :
> http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip
>
> * MSYS Extensions from
> http://sourceforge.net/projects/mingw/files/MSYS/Extension/
> crypt : libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
> crypt : crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma
> m4 : m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
> perl : perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
>
> * MSYS Dev from http://sourceforge.net/projects/mingw/files/MSYS/msysdev/
> autoconf : autoconf-2.68-1-msys-1.0.17-bin.tar.lzma
> automake : automake-1.11.1-1-msys-1.0.13-bin.tar.lzma
>
> * MSYS Base from http://sourceforge.net/projects/mingw/files/MSYS/Base/
> bash : bash-3.1.23-1-msys-1.0.18-bin.tar.xz
> coreutils : coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
> coreutils : coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
> findutils : findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
> gawk : gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
> grep : grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
> libiconv : libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
> gettext : libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
> regex : libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
> termcap : libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
> make : make-3.81-3-msys-1.0.13-bin.tar.lzma
> msys-core : msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
> msys-core : msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
> sed : sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
> termcap : termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
>
> * Microsoft assembler 64 bit MASM (ML64.exe is part of Windows SDK, DDK
> or Visual Studio, I found it in my Visual Studio Express 2013 in
> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
>
> * CMake from http://www.cmake.org/
>
> Dependencies
> ============
> Needed
> ======
> boost http://www.boost.org
> zlib http://www.zlib.net/
> jpeg http://www.ijg.org/files/
> png http://www.libpng.org/pub/png/libpng.html
> tiff http://www.remotesensing.org/libtiff/
>
> Optional
> ========
> openexr http://www.openexr.com/
> sdl 1.2 http://www.libsdl.org
>
> Prepare a build environment
> ===========================
> When I build with MinGW, I always have this directory
> layout :
>
> - The MinGW environment is installed in C:\MinGW.
> - The CMake binaries are extracted in C:\MinGW\CMake
> - The MSYS binaries (all MSYS-related stuff above) are
> extracted in C:\MinGW\MSYS
> => In MSYS, this directory is mapped as /
> - pkg-config and its DLLs can be placed in C:\MinGW\MSYS
> (also copy msys-intl-8.dll to intl.dll in C:\MinGW\MSYS\bin
>
> Run the postinstall\pi.bat script to initialize the environment
> and set some directories (follow the instructions).
>
> After first launch of MSYS, a directory is available : /home/<user>/
> The source code packages go to /home/user/source
> The build directory (with binaries and libs) is /build
>
> So, excluding other files, this is how the directory structure looks like :
> C:\MinGW
> cmake
> mingw64
> msys
> build
> home
> <user>
> source
>
> After installation, I create a .bat file to set environment variables needed
> (for example, to use CMake). This file is buildenv.bat and I place it in
> /home/<user/. When using MSYS, I simply start the MSYS.bat in C:\MinGW\msys.
>
> All the configure scripts have the prefix /build when using MSYS. When building
> with other tools (for example CMake), I map a drive letter (Z) to the /build
> folder.
>
> Build environment (buildenv.bat) file
> =====================================
> @ECHO OFF
> COLOR 1F
> TITLE Build environment
> ECHO Build environment
> ECHO =================
>
> SET PATH=C:\MinGW\msys\build\bin;%PATH%
> SET PATH=C:\MinGW\msys\build\lib;%PATH%
>
> SET PATH=C:\MinGW\mingw64\bin;%PATH%
> SET PATH=C:\MinGW\cmake\bin;%PATH%
> SET PATH=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
>
> SUBST Z: C:\MinGW\msys\build
>
> CD C:\MinGW\msys\home
> CMD
>
> Install tools
> =============
> MinGW64
> Download from : http://mingw-w64.yaxm.org/doku.php
> mingw-w64-install.exe
>
> => C:\MinGW
>
> MSYS build environment
> Download from : http://sourceforge.net/projects/mingw/files/MSYS/Base/
> => C:\MinGW\MSYS
>
> CMake : http://www.cmake.org/
> => C:\MinGW\CMake
>
> MASM 64 (or compatible assembler) : ml64.exe is included with Windows SDK,
> DDK or Visual Studio.
>
> Directories
> %source% = C:\MinGW\MSYS\home\<user>\source
> %build% = C:\MinGW\MSYS\build
> %mingw% = C:\MinGW
> %prefix% = /build (MSYS), Z:\ (CMake)
>
> Set build virtual drive : subst z: %prefix%
>
> Build environment
> set path=%mingw%\mingw64\bin;%path%
> set path=%mingw%\cmake\bin;%path%
> set path=%mingw%\swig;%path%
>
> Compilation
> ===========
> Please follow the order of dependencies.
>
> ZLib (CMake)
> ============
> cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=%prefix%
> mingw32-make
> mingw32-make install
>
> ZLib (MSYS)
> ===========
> mingw32-make -fwin32/makefile.gcc SHAREDLIB=libz.dll
> mkdir -p %prefix%/bin
> mkdir -p %prefix%/include
> mkdir -p %prefix%/lib
>
> cp libz.dll %prefix%/bin
> cp zlib.h %prefix%include
> cp lib.dll.a %prefix%/lib
>
> JPEG (MSYS)
> ===========
> ../configure --prefix=%prefix%
> make
> make install
>
> PNG (CMake)
> ==========
> cmake -G "MinGW Makefiles"
> -DZLIB_ROOT=%prefix%\lib
> -DPNG_TESTS=OFF
> -DCMAKE_INSTALL_PREFIX=%prefix%
> mingw32-make
> mingw32-make install
>
> TIFF (MSYS)
> ===========
> ../configure --prefix=%prefix%
> --with-zlib-include-dir=%prefix%/include
> --with-zlib-lib-dir=%prefix%/lib
> --with-jpeg-include-dir=%prefix%/include
> --with-jpeg-lib-dir=%prefix%/lib
> make
> make install
>
> Boost
> =====
> Open buildenv.bat and cd to boost dir
> booststrap.bat gcc --prefix=Z:\
> b2 toolset=gcc release
> b2 toolset=gcc --prefix=Z:\ --variant=release --layout=tagged install
>
> OpenEXR (CMake)
> ===============
>
> // Build IlmBase
> cmake -G "MinGW Makefiles"
> -DCMAKE_INSTALL_PREFIX=%prefix%
> -DNAMESPACE_VERSIONING=OFF
> mingw32-make
> mingw32-make install
>
> // Build OpenEXR
> Needs a modification, see https://github.com/openexr/openexr/issues/95
>
> Edit IlmImf/ImfSystemSpecific.h, line 57 replace #ifdef __GNUC__ with
> #if defined(__GNUC__) && !defined(__MINGW32__)
>
> set path=%prefix\bin;%path%
> set path=%prefix%\lib;%path%
>
> cmake -G "MinGW Makefiles"
> -DZLIB_ROOT="%prefix%"
> -DILMBASE_PACKAGE_PREFIX="%prefix%"
> -DCMAKE_INSTALL_PREFIX="%prefix%"
> -DCMAKE_CXX_FLAGS="-fpermissive"
> -DNAMESPACE_VERSIONING=OFF
>
> mingw32-make
> mingw32-make install
>
> !!! OpenEXR.pc was not created, I had to create it manually in
> /build/lib/pkgconfig
>
> Content of OpenEXR.pc :
>
> prefix=/build
> exec_prefix=/build
> libdir=/build/lib
> includedir=/build/include
> OpenEXR_includedir=@includedir@/OpenEXR
>
> Name: OpenEXR
> Description: OpenEXR image library
> Version: 2.2.0
>
> Libs: -L${libdir} -lIlmImf
> Cflags: -I${OpenEXR_includedir}
> Requires: IlmBase
> Libs.private: -lz
>
>
> SDL (MSYS)
> ==========
> ../configure --prefix=/build
> make
> make install
>
> POV-Ray (MSYS)
> ==============
> // Patches
> vfesession.h, vfeplatform.h
> #define uint unsigned int
>
>
> In source folder cd unix
> ../prebuild.sh
> cd ..
> export LD_LIBRARY_PATH=%prefix%/lib
> export LD_FLAGS=%prefix%/lib
> export C_INCLUDE_PATH=%prefix%/include
> export CPLUS_INCLUDE_PATH=%prefix%/include
> export PATH=%prefix%/bin:$PATH
> export PKG_CONFIG_PATH=%prefix%/lib/pkgconfig
> ../configure COMPILED_BY="your name <e-mail>" LIBS="-L/build/lib
> -lboost_system-mt" --prefix=/build
> make
> make install
>
>
>
>
>
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Before someone beats me to it, I may be remembering running the DOS
executable in a Windows command prompt, maybe not a Windows console
program. Still would the console code from then be any way relevant?
Is it still available?
On 11/8/2015 11:00 AM, Tim H wrote:
> There was at one point a command line windows povray. I believe it was
> official, seem to recall downloading it from the official site. Probably
> the relevant Windows console code was long ago removed?
>
> On 11/8/2015 7:11 AM, Rocco wrote:
>> Hi!
>>
>> After some searching, I think I'm on the right path to compile a
>> console version
>> of POVRay for Windows using MinGW64. I have all dependencies compiled
>> without
>> problem, the problem now is to make changes to use Windows console
>> because the
>> source code is configured in the Unix philosophy, using Unix functions
>> for
>> console, so unavailable for Windows.
>>
>> As I have no time to investigate on this right now, I share here my
>> experience
>> so far, maybe it will be useful...
>>
>> Tools and compilers needed
>> ==========================
>> * MinGW64 from http://mingw-w64.yaxm.org/doku.php
>>
>> * pkg-config from
>>
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
>>
>> glib :
>> http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip
>>
>>
>> * MSYS Extensions from
>> http://sourceforge.net/projects/mingw/files/MSYS/Extension/
>> crypt : libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
>> crypt : crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma
>> m4 : m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
>> perl : perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
>>
>> * MSYS Dev from
>> http://sourceforge.net/projects/mingw/files/MSYS/msysdev/
>> autoconf : autoconf-2.68-1-msys-1.0.17-bin.tar.lzma
>> automake : automake-1.11.1-1-msys-1.0.13-bin.tar.lzma
>>
>> * MSYS Base from http://sourceforge.net/projects/mingw/files/MSYS/Base/
>> bash : bash-3.1.23-1-msys-1.0.18-bin.tar.xz
>> coreutils : coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
>> coreutils : coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
>> findutils : findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
>> gawk : gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
>> grep : grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
>> libiconv : libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
>> gettext : libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
>> regex : libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
>> termcap : libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
>> make : make-3.81-3-msys-1.0.13-bin.tar.lzma
>> msys-core : msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
>> msys-core : msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
>> sed : sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
>> termcap : termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
>>
>> * Microsoft assembler 64 bit MASM (ML64.exe is part of Windows SDK, DDK
>> or Visual Studio, I found it in my Visual Studio Express 2013 in
>> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
>>
>> * CMake from http://www.cmake.org/
>>
>> Dependencies
>> ============
>> Needed
>> ======
>> boost http://www.boost.org
>> zlib http://www.zlib.net/
>> jpeg http://www.ijg.org/files/
>> png http://www.libpng.org/pub/png/libpng.html
>> tiff http://www.remotesensing.org/libtiff/
>>
>> Optional
>> ========
>> openexr http://www.openexr.com/
>> sdl 1.2 http://www.libsdl.org
>>
>> Prepare a build environment
>> ===========================
>> When I build with MinGW, I always have this directory
>> layout :
>>
>> - The MinGW environment is installed in C:\MinGW.
>> - The CMake binaries are extracted in C:\MinGW\CMake
>> - The MSYS binaries (all MSYS-related stuff above) are
>> extracted in C:\MinGW\MSYS
>> => In MSYS, this directory is mapped as /
>> - pkg-config and its DLLs can be placed in C:\MinGW\MSYS
>> (also copy msys-intl-8.dll to intl.dll in C:\MinGW\MSYS\bin
>>
>> Run the postinstall\pi.bat script to initialize the environment
>> and set some directories (follow the instructions).
>>
>> After first launch of MSYS, a directory is available : /home/<user>/
>> The source code packages go to /home/user/source
>> The build directory (with binaries and libs) is /build
>>
>> So, excluding other files, this is how the directory structure looks
>> like :
>> C:\MinGW
>> cmake
>> mingw64
>> msys
>> build
>> home
>> <user>
>> source
>>
>> After installation, I create a .bat file to set environment variables
>> needed
>> (for example, to use CMake). This file is buildenv.bat and I place it in
>> /home/<user/. When using MSYS, I simply start the MSYS.bat in
>> C:\MinGW\msys.
>>
>> All the configure scripts have the prefix /build when using MSYS. When
>> building
>> with other tools (for example CMake), I map a drive letter (Z) to the
>> /build
>> folder.
>>
>> Build environment (buildenv.bat) file
>> =====================================
>> @ECHO OFF
>> COLOR 1F
>> TITLE Build environment
>> ECHO Build environment
>> ECHO =================
>>
>> SET PATH=C:\MinGW\msys\build\bin;%PATH%
>> SET PATH=C:\MinGW\msys\build\lib;%PATH%
>>
>> SET PATH=C:\MinGW\mingw64\bin;%PATH%
>> SET PATH=C:\MinGW\cmake\bin;%PATH%
>> SET PATH=C:\Program Files (x86)\Microsoft Visual Studio
>> 12.0\VC\bin\x86_amd64
>>
>> SUBST Z: C:\MinGW\msys\build
>>
>> CD C:\MinGW\msys\home
>> CMD
>>
>> Install tools
>> =============
>> MinGW64
>> Download from : http://mingw-w64.yaxm.org/doku.php
>> mingw-w64-install.exe
>>
>> => C:\MinGW
>>
>> MSYS build environment
>> Download from : http://sourceforge.net/projects/mingw/files/MSYS/Base/
>> => C:\MinGW\MSYS
>>
>> CMake : http://www.cmake.org/
>> => C:\MinGW\CMake
>>
>> MASM 64 (or compatible assembler) : ml64.exe is included with Windows
>> SDK,
>> DDK or Visual Studio.
>>
>> Directories
>> %source% = C:\MinGW\MSYS\home\<user>\source
>> %build% = C:\MinGW\MSYS\build
>> %mingw% = C:\MinGW
>> %prefix% = /build (MSYS), Z:\ (CMake)
>>
>> Set build virtual drive : subst z: %prefix%
>>
>> Build environment
>> set path=%mingw%\mingw64\bin;%path%
>> set path=%mingw%\cmake\bin;%path%
>> set path=%mingw%\swig;%path%
>>
>> Compilation
>> ===========
>> Please follow the order of dependencies.
>>
>> ZLib (CMake)
>> ============
>> cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=%prefix%
>> mingw32-make
>> mingw32-make install
>>
>> ZLib (MSYS)
>> ===========
>> mingw32-make -fwin32/makefile.gcc SHAREDLIB=libz.dll
>> mkdir -p %prefix%/bin
>> mkdir -p %prefix%/include
>> mkdir -p %prefix%/lib
>>
>> cp libz.dll %prefix%/bin
>> cp zlib.h %prefix%include
>> cp lib.dll.a %prefix%/lib
>>
>> JPEG (MSYS)
>> ===========
>> ../configure --prefix=%prefix%
>> make
>> make install
>>
>> PNG (CMake)
>> ==========
>> cmake -G "MinGW Makefiles"
>> -DZLIB_ROOT=%prefix%\lib
>> -DPNG_TESTS=OFF
>> -DCMAKE_INSTALL_PREFIX=%prefix%
>> mingw32-make
>> mingw32-make install
>>
>> TIFF (MSYS)
>> ===========
>> ../configure --prefix=%prefix%
>> --with-zlib-include-dir=%prefix%/include
>> --with-zlib-lib-dir=%prefix%/lib
>> --with-jpeg-include-dir=%prefix%/include
>> --with-jpeg-lib-dir=%prefix%/lib
>> make
>> make install
>>
>> Boost
>> =====
>> Open buildenv.bat and cd to boost dir
>> booststrap.bat gcc --prefix=Z:\
>> b2 toolset=gcc release
>> b2 toolset=gcc --prefix=Z:\ --variant=release --layout=tagged install
>>
>> OpenEXR (CMake)
>> ===============
>>
>> // Build IlmBase
>> cmake -G "MinGW Makefiles"
>> -DCMAKE_INSTALL_PREFIX=%prefix%
>> -DNAMESPACE_VERSIONING=OFF
>> mingw32-make
>> mingw32-make install
>>
>> // Build OpenEXR
>> Needs a modification, see https://github.com/openexr/openexr/issues/95
>>
>> Edit IlmImf/ImfSystemSpecific.h, line 57 replace #ifdef __GNUC__ with
>> #if defined(__GNUC__) && !defined(__MINGW32__)
>>
>> set path=%prefix\bin;%path%
>> set path=%prefix%\lib;%path%
>>
>> cmake -G "MinGW Makefiles"
>> -DZLIB_ROOT="%prefix%"
>> -DILMBASE_PACKAGE_PREFIX="%prefix%"
>> -DCMAKE_INSTALL_PREFIX="%prefix%"
>> -DCMAKE_CXX_FLAGS="-fpermissive"
>> -DNAMESPACE_VERSIONING=OFF
>>
>> mingw32-make
>> mingw32-make install
>>
>> !!! OpenEXR.pc was not created, I had to create it manually in
>> /build/lib/pkgconfig
>>
>> Content of OpenEXR.pc :
>>
>> prefix=/build
>> exec_prefix=/build
>> libdir=/build/lib
>> includedir=/build/include
>> OpenEXR_includedir=@includedir@/OpenEXR
>>
>> Name: OpenEXR
>> Description: OpenEXR image library
>> Version: 2.2.0
>>
>> Libs: -L${libdir} -lIlmImf
>> Cflags: -I${OpenEXR_includedir}
>> Requires: IlmBase
>> Libs.private: -lz
>>
>>
>> SDL (MSYS)
>> ==========
>> ../configure --prefix=/build
>> make
>> make install
>>
>> POV-Ray (MSYS)
>> ==============
>> // Patches
>> vfesession.h, vfeplatform.h
>> #define uint unsigned int
>>
>>
>> In source folder cd unix
>> ../prebuild.sh
>> cd ..
>> export LD_LIBRARY_PATH=%prefix%/lib
>> export LD_FLAGS=%prefix%/lib
>> export C_INCLUDE_PATH=%prefix%/include
>> export CPLUS_INCLUDE_PATH=%prefix%/include
>> export PATH=%prefix%/bin:$PATH
>> export PKG_CONFIG_PATH=%prefix%/lib/pkgconfig
>> ../configure COMPILED_BY="your name <e-mail>" LIBS="-L/build/lib
>> -lboost_system-mt" --prefix=/build
>> make
>> make install
>>
>>
>>
>>
>>
>
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 15-11-08 13:05, Tim H a écrit :
> Before someone beats me to it, I may be remembering running the DOS
> executable in a Windows command prompt, maybe not a Windows console
> program. Still would the console code from then be any way relevant? Is
> it still available?
>
After it was discovered that someone made a comercial graphic product
that used POV-Ray from the command line, WITHOUT giving proper credit
and without asking, that possibility was totaly removed.
Good news: It's on the To-Do list for future versions.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 08.11.2015 um 19:05 schrieb Tim H:
> Before someone beats me to it, I may be remembering running the DOS
> executable in a Windows command prompt, maybe not a Windows console
> program. Still would the console code from then be any way relevant? Is
> it still available?
There is still exists a bit of dedicated Windows Console code, and even
a "Console" project in the Visual Studio solution; it's normally
deactivated, and it hasn't seen much maintenance, but I had given it
some resuscitation once during the 3.7 beta phase, so I guess it should
be comparatively easy to bring it back to full life. Some CPR
accompanied by liberal application of Epinephrine, and it should be as
good as new.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <web.563f581a405ef3d9a6fce6540@news.povray.org>,
nomail@nomail says...
>
> Hi!
>
> After some searching, I think I'm on the right path to compile a console version
> of POVRay for Windows using MinGW64. I have all dependencies compiled without
> problem, the problem now is to make changes to use Windows console because the
> source code is configured in the Unix philosophy, using Unix functions for
> console, so unavailable for Windows.
>
> As I have no time to investigate on this right now, I share here my experience
> so far, maybe it will be useful...
I think building under MinGW64 using the Unix front end is The Right Way
to go. You pick up all the switch parsing; common code base. Way back,
I built my posdos3.1 that way. Plus, we avoid this crap where the M$
version only builds with a compiler no longer available.
As long as there's no Windows Loop needed, this is better.
Do you have povray built like this with the unix front end?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Do you have povray built like this with the unix front end?
No, the console functions POVRay uses are specific to Unix, there is some work
to do to remove all the unix-oriented functions. Maybe with Cygwin the result is
better but now I don't have time to spend on this.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Following this discussion, maybe someone will be interested. This will not be
the latest version but this week I switched on my old computer and. I found my
build scripts of POVRay 3.61 on MinGW32. I recompiled this with my MinGW64
environment and the result is a command-line POVRay version that renders as
expected. The build scripts is mostly inspired by what you see above. If there
is demand about binaries, I can host it on my OneDrive for example. Even if 3.7
is out now, 3.61 is still usable and feature-rich...
This build works and renders as expected. You should only be careful about file
paths (add them in the .INI for example).
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Rocco" <nomail@nomail> wrote:
> Following this discussion, maybe someone will be interested. This will not be
> the latest version but this week I switched on my old computer and. I found my
> build scripts of POVRay 3.61 on MinGW32. I recompiled this with my MinGW64
> environment and the result is a command-line POVRay version that renders as
> expected. The build scripts is mostly inspired by what you see above. If there
> is demand about binaries, I can host it on my OneDrive for example. Even if 3.7
> is out now, 3.61 is still usable and feature-rich...
>
> This build works and renders as expected. You should only be careful about file
> paths (add them in the .INI for example).
I could be interested by how to compile Povray 3.61 for MinGW64 if you still
have it :)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Rocco" <nomail@nomail> wrote:
> Following this discussion, maybe someone will be interested. This will not be
> the latest version but this week I switched on my old computer and. I found my
> build scripts of POVRay 3.61 on MinGW32. I recompiled this with my MinGW64
> environment and the result is a command-line POVRay version that renders as
> expected. The build scripts is mostly inspired by what you see above. If there
> is demand about binaries, I can host it on my OneDrive for example. Even if 3.7
> is out now, 3.61 is still usable and feature-rich...
>
> This build works and renders as expected. You should only be careful about file
> paths (add them in the .INI for example).
Finally got it running by patching unixconsole.cpp plus another file, and
compiling it with MinWG64/MSYS2.
I have run a benchmark :
povray --benchmark
POV-Ray 3.7.0.8.unofficial (g++ 8.3.0 @ x86_64-w64-mingw32)
Entering the standard POV-Ray 3.7 benchmark version 2.01.
This built-in benchmark requires POV-Ray to be installed on your system
before running it. There will be neither display nor file output, and
any additional command-line option except setting the number of render
threads (+wtN for N threads) and library paths (+Lpath) will be ignored.
To get an accurate benchmark result you might consider running POV-Ray
with the Unix 'time' command (e.g. 'time povray -benchmark').
The benchmark will run using 4 render thread(s).
Press <Enter> to continue or <Ctrl-C> to abort.
povray: creating C:\msys64\mingw64\bin/pov17784.ini
povray: creating C:\msys64\mingw64\bin/pov17784.pov
Running standard POV-Ray benchmark version 2.01
Persistence of Vision(tm) Ray Tracer Version 3.7.0.8.unofficial (g++ 8.3.0 @
x86_64-w64-mingw32)
This is an unofficial version compiled by:
DigitalBox
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-2013 Persistence of Vision Raytracer Pty. Ltd.
Primary POV-Ray 3.7 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
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 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
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.37, Copyright 1998-2012 Glenn Randers-Pehrson
LibJPEG 80, Copyright 1991-2013 Thomas G. Lane, Guido Vollbeding
LibTIFF 4.0.10, Copyright 1988-1997 Sam Leffler, 1991-1997 SGI
Boost 1.70, http://www.boost.org/
Parser Options
Input file: C:\msys64\mingw64\bin/pov17784.pov (compatible to version 3.70)
Remove bounds........On
Split unions.........Off
Library paths:
C:/msys64/mingw64/share/povray-3.7/include
Clock value: 0.000 (Animation off)
Image Output Options
Image resolution.....512 by 512 (rows 1 to 512, columns 1 to 512).
Output file: Disabled
Graphic display......Off
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...] ==========================================================
Building mesh2:
- vertex_vectors
- normal_vectors
- uv_vectors
- face_indices
----------------------------------------------------------------------------
Parser Statistics
----------------------------------------------------------------------------
Finite Objects: 175
Infinite Objects: 3
Light Sources: 2
Total: 180
----------------------------------------------------------------------------
Parser Time
Parse Time: 0 hours 0 minutes 0 seconds (0.609 seconds)
using 1 thread(s) with 0.609 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 0.30,
Gamma 2.50)
==== [Rendering...] ========================================================
Rendered 262144 of 262144 pixels (100%)
----------------------------------------------------------------------------
Render Statistics
Image Resolution 512 x 512
----------------------------------------------------------------------------
Pixels: 294912 Samples: 775998 Smpls/Pxl: 2.63
Rays: 2453818 Saved: 10601 Max Level: 12/12
----------------------------------------------------------------------------
Ray->Shape Intersection Tests Succeeded Percentage
----------------------------------------------------------------------------
Box 53069191 21485169 40.49
Cone/Cylinder 64848797 13358692 20.60
CSG Intersection 203661468 98294162 48.26
CSG Merge 561234 74939 13.35
Fractal 1093319 206199 18.86
Height Field 1667123 217055 13.02
Height Field Box 1667123 1353809 81.21
Height Field Triangle 7026328 224476 3.19
Height Field Block 11044350 3426121 31.02
Height Field Cell 45877326 3867015 8.43
Isosurface 21603463 1002332 4.64
Isosurface Container 21604286 21604281 100.00
Isosurface Cache 279163 12870 4.61
Mesh 1158111 127116 10.98
Plane 145880456 1543897 1.06
Sphere 296771754 123448817 41.60
Superellipsoid 384031 115086 29.97
Torus 3294658 786679 23.88
Torus Bound 3294658 902675 27.40
True Type Font 520626 172772 33.19
Clipping Object 3471491 1690222 48.69
Bounding Box 1114356805 217333697 19.50
----------------------------------------------------------------------------
Isosurface roots: 21586045
Function VM calls: 288061729
----------------------------------------------------------------------------
Crackle Cache Queries: 829946
Crackle Cache Hits: 825403 ( 99 percent)
----------------------------------------------------------------------------
Roots tested: 902675 eliminated: 557850
Media Intervals: 61485996 Media Samples: 554502063 (9.02)
Shadow Ray Tests: 148366414 Succeeded: 86336504
Shadow Cache Hits: 4929112
Reflected Rays: 375008 Total Internal: 2
Refracted Rays: 262061
Transmitted Rays: 636861
----------------------------------------------------------------------------
Number of photons shot: 36326
Surface photons stored: 13877
Gather function called: 1378512
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Render Time:
Photon Time: 0 hours 0 minutes 1 seconds (1.438 seconds)
using 7 thread(s) with 1.718 CPU-seconds total
Radiosity Time: No radiosity
Trace Time: 0 hours 3 minutes 47 seconds (227.777 seconds)
using 4 thread(s) with 907.108 CPU-seconds total
povray: removing C:\msys64\mingw64\bin/pov17784.ini
povray: removing C:\msys64\mingw64\bin/pov17784.pov
POV-Ray finished
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Rocco" <nomail@nomail> wrote:
> Following this discussion, maybe someone will be interested. This will not be
> the latest version but this week I switched on my old computer and. I found my
> build scripts of POVRay 3.61 on MinGW32. I recompiled this with my MinGW64
> environment and the result is a command-line POVRay version that renders as
> expected. The build scripts is mostly inspired by what you see above. If there
> is demand about binaries, I can host it on my OneDrive for example. Even if 3.7
> is out now, 3.61 is still usable and feature-rich...
>
> This build works and renders as expected. You should only be careful about file
> paths (add them in the .INI for example).
I have been able to compile last 3.7 version with MSYS2/MinGW64.
It works fine and I've this unofficial version available if someone is
interesting by it
Happy coding with POV :)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"DigitalBox" <nomail@nomail> wrote:
> "Rocco" <nomail@nomail> wrote:
> > Following this discussion, maybe someone will be interested. This will not be
> > the latest version but this week I switched on my old computer and. I found my
> > build scripts of POVRay 3.61 on MinGW32. I recompiled this with my MinGW64
> > environment and the result is a command-line POVRay version that renders as
> > expected. The build scripts is mostly inspired by what you see above. If there
> > is demand about binaries, I can host it on my OneDrive for example. Even if 3.7
> > is out now, 3.61 is still usable and feature-rich...
> >
> > This build works and renders as expected. You should only be careful about file
> > paths (add them in the .INI for example).
>
> I have been able to compile last 3.7 version with MSYS2/MinGW64.
>
> It works fine and I've this unofficial version available if someone is
> interesting by it
>
> Happy coding with POV :)
Yes! please , do share. And in thelong run, This might lay foundation for a
truly Cross-platform build process. I believe that suggestion made by Campbell
Barton aka ideasman 42 a few months or year ago was one reason preventing to
ship PoV along with its exporter, Making it disadvantaged compared to other open
source renderers such as cycles, eevee, or Freestyle.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> "DigitalBox" <nomail@nomail> wrote:
> > "Rocco" <nomail@nomail> wrote:
> > > Following this discussion, maybe someone will be interested. This will not be
> > > the latest version but this week I switched on my old computer and. I found my
> > > build scripts of POVRay 3.61 on MinGW32. I recompiled this with my MinGW64
> > > environment and the result is a command-line POVRay version that renders as
> > > expected. The build scripts is mostly inspired by what you see above. If there
> > > is demand about binaries, I can host it on my OneDrive for example. Even if 3.7
> > > is out now, 3.61 is still usable and feature-rich...
> > >
> > > This build works and renders as expected. You should only be careful about file
> > > paths (add them in the .INI for example).
> >
> > I have been able to compile last 3.7 version with MSYS2/MinGW64.
> >
> > It works fine and I've this unofficial version available if someone is
> > interesting by it
> >
> > Happy coding with POV :)
>
> Yes! please , do share. And in thelong run, This might lay foundation for a
> truly Cross-platform build process. I believe that suggestion made by Campbell
> Barton aka ideasman 42 a few months or year ago was one reason preventing to
> ship PoV along with its exporter, Making it disadvantaged compared to other open
> source renderers such as cycles, eevee, or Freestyle.
Hi: Could you post the patched file unixconsole.cpp and the another file in
order to be able to compile with MINGW32/MINGW64?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |