|
|
|
|
|
|
| |
| |
|
|
From: clipka
Subject: Some specific assistance needed for the Unix build process
Date: 13 Jan 2019 18:06:01
Message: <5c3bc459@news.povray.org>
|
|
|
| |
| |
|
|
Hi folks,
I've just created a branch of POV-Ray that makes use of the FreeType
library:
https://github.com/POV-Ray/povray/tree/experimental/freetype/source/core
Integration into the Windows build process is complete, but now the Unix
build process (most notably `unix/configure.ac`) has to be updated to
compile against and link with the library as well.
I'm sure given enough time and effort I could hack /something/ together
that would /happen/ to work on /my/ machine (Windows subsystem for
Linux), but I'd feel much more comfortable if someone with a good deal
more Unix build Fu could step up and help with this part of the job.
The task at hand is to make the configure script check the
`--with-libfreetype=DIR` and `--without-libfreetype` options, test
whether a modern enough version of FreeType is availebe (if applicable),
and either set compiler and linker flags accordingly or define
`LIBFREETYPE_MISSING`.
As for the version number I would prefer a test against the release
(e.g. 2.6.1), but a test against either the "libtool number" (e.g.
11.0.5) or the "shared obect number" (e.g. 6.5.0) would probably work as
well (see `VERSIONS.TXT in the freetype `docs` directory), as long as
the test is well-defined and reliable.
The only thing this POV-Ray branch currently does with FreeType is query
the version number from the linked library, but I guess that should be
sufficient to test the build process.
Post a reply to this message
|
|
| |
| |
|
|
From: clipka
Subject: Re: Some specific assistance needed for the Unix build process
Date: 16 Jan 2019 09:51:20
Message: <5c3f44e8$1@news.povray.org>
|
|
|
| |
| |
|
|
Am 14.01.2019 um 00:06 schrieb clipka:
> I'm sure given enough time and effort I could hack /something/ together
> that would /happen/ to work on /my/ machine (Windows subsystem for
> Linux), but I'd feel much more comfortable if someone with a good deal
> more Unix build Fu could step up and help with this part of the job.
Never mind. I've just cobbled together something that I'm surprisingly
happy with.
Post a reply to this message
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: Some specific assistance needed for the Unix build process
Date: 16 Jan 2019 14:14:29
Message: <5c3f8295$1@news.povray.org>
|
|
|
| |
| |
|
|
Le 16/01/2019 à 15:51, clipka a écrit :
> Am 14.01.2019 um 00:06 schrieb clipka:
>
>> I'm sure given enough time and effort I could hack /something/
>> together that would /happen/ to work on /my/ machine (Windows
>> subsystem for Linux), but I'd feel much more comfortable if someone
>> with a good deal more Unix build Fu could step up and help with this
>> part of the job.
>
> Never mind. I've just cobbled together something that I'm surprisingly
> happy with.
So, no need to worry, and we can wait for the next move ?
Good, good !
Post a reply to this message
|
|
| |
| |
|
|
From: clipka
Subject: Re: Some specific assistance needed for the Unix build process
Date: 16 Jan 2019 14:56:31
Message: <5c3f8c6f$1@news.povray.org>
|
|
|
| |
| |
|
|
Am 16.01.2019 um 20:14 schrieb Le_Forgeron:
> Le 16/01/2019 à 15:51, clipka a écrit :
>> Am 14.01.2019 um 00:06 schrieb clipka:
>>
>>> I'm sure given enough time and effort I could hack /something/
>>> together that would /happen/ to work on /my/ machine (Windows
>>> subsystem for Linux), but I'd feel much more comfortable if someone
>>> with a good deal more Unix build Fu could step up and help with this
>>> part of the job.
>>
>> Never mind. I've just cobbled together something that I'm surprisingly
>> happy with.
>
> So, no need to worry, and we can wait for the next move ?
>
> Good, good !
I still need people to test it on real-life Unix systems.
Post a reply to this message
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: Some specific assistance needed for the Unix build process
Date: 17 Jan 2019 12:29:03
Message: <5c40bb5f$1@news.povray.org>
|
|
|
| |
| |
|
|
Le 16/01/2019 à 20:56, clipka a écrit :
> Am 16.01.2019 um 20:14 schrieb Le_Forgeron:
>> So, no need to worry, and we can wait for the next move ?
>>
>> Good, good !
>
> I still need people to test it on real-life Unix systems.
I built it (now automated for any further update).
Notice: I always disable io restrictions on my local built.
> checking whether to use the FreeType library... yes
> checking for pkg-config... (cached) pkg-config
> checking for FreeType's include path... -I/usr/include/freetype2
-I/usr/include/libpng16
> checking for library containing FT_Init_FreeType... -lfreetype
> checking ft2build.h usability... yes
> checking ft2build.h presence... yes
> checking for ft2build.h... yes
> checking for libfreetype version >= 2.4.0... 2.8.1, ok
but the --version does not report any information about freetype
>
> POV-Ray 3.8.0-x.freetype.unofficial
>
> This is an unofficial version compiled by:
> Jérôme Grimbert <jgr### [at] freefr> Gitid:
eb30e2672525990675551ed76725d17565f8546e
> The POV-Ray Team is not responsible for supporting this version.
>
> Copyright 1991-2019 Persistence of Vision Raytracer Pty. Ltd.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> Built-in features:
> I/O restrictions: disabled
> X Window display: enabled (using SDL)
> Supported image formats: gif tga iff ppm pgm hdr png jpeg tiff openexr
> Unsupported image formats: -
>
> Compilation settings:
> Build architecture: x86_64-pc-linux-gnu
> Built/Optimized for: x86_64-pc-linux-gnu (using -march=native)
> Compiler vendor: gnu
> Compiler version: g++ 7
> Compiler flags: -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs
-Wno-non-template-friend -s -O3 -ffast-math -march=native -pthread
================
But at least the end of configure seems happy:
> ===============================================================================
> POV-Ray 3.8.0-x.freetype has been configured.
>
> Built-in features:
> I/O restrictions: disabled
> X Window display: enabled (using SDL)
> Text primitive: enabled
> Supported image formats: gif tga iff ppm pgm hdr png jpeg tiff openexr
> Unsupported image formats: -
>
> Compilation settings:
> Build architecture: x86_64-pc-linux-gnu
> Built/Optimized for: x86_64-pc-linux-gnu (using -march=native)
> Compiler vendor: gnu
> Compiler version: g++ 7
> Compiler flags: -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs
-Wno-non-template-friend -s -O3 -ffast-math -march=native -pthread
> Libraries: -lSDL -L/usr/lib/x86_64-linux-gnu -lSDL -lXpm -lSM -lICE
-lX11 -lfreetype -lIlmImf -lIlmImf -lImath -lHalf -lIex -lIexMath -lIlmThread
-lpthread -lIlmThread -ltiff -ljpeg -lpng -lz -lrt -lm -lboost_thread -pthread
-lboost_system
>
> Type 'make check' to build the program and run a test render.
> Type 'make install' to install POV-Ray on your system.
>
> The POV-Ray components will be installed in the following directories:
> Program (executable): /usr/local/bin
> System configuration files: /usr/local/etc/povray/3.8
> User configuration files: /var/lib/jenkins/.povray/3.8
> Standard include files: /usr/local/share/povray-3.8/include
> Standard INI files: /usr/local/share/povray-3.8/ini
> Standard demo scene files: /usr/local/share/povray-3.8/scenes
> Documentation (text, HTML): /usr/local/share/doc/povray-3.8
> Unix man page: /usr/local/share/man
> ===============================================================================
and the binary is asking for libfreetype (result of ldd on it):
> linux-vdso.so.1 (0x00007ffc09bd3000)
> libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
(0x00007f6c0963c000)
> libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0 (0x00007f6c093a4000)
> libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f6c090f0000)
> libIlmImf-2_2.so.22 => /usr/lib/x86_64-linux-gnu/libIlmImf-2_2.so.22
(0x00007f6c08c2d000)
> libHalf.so.12 => /usr/lib/x86_64-linux-gnu/libHalf.so.12 (0x00007f6c089ea000)
> libIex-2_2.so.12 => /usr/lib/x86_64-linux-gnu/libIex-2_2.so.12 (0x00007f6c087cc000)
> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6c085ad000)
> libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f6c08336000)
> libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f6c080ce000)
> libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f6c07e9c000)
> libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6c07c7f000)
> librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6c07a77000)
> libboost_thread.so.1.65.1 => /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1
(0x00007f6c07852000)
> libboost_system.so.1.65.1 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1
(0x00007f6c0764d000)
> libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6c072c4000)
> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6c06f26000)
> libmvec.so.1 => /lib/x86_64-linux-gnu/libmvec.so.1 (0x00007f6c06cfc000)
> libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6c06ae4000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6c066f3000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6c064ef000)
> libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f6c061e9000)
> libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0
(0x00007f6c05fe4000)
> libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f6c05d94000)
> libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f6c05a5c000)
> libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f6c0584a000)
> libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0 (0x00007f6c05581000)
> libIlmThread-2_2.so.12 => /usr/lib/x86_64-linux-gnu/libIlmThread-2_2.so.12
(0x00007f6c0537a000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f6c09e64000)
> liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f6c05154000)
> libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f6c04f46000)
> libpulsecommon-11.1.so =>
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so (0x00007f6c04cc8000)
> libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f6c04a7b000)
> libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f6c04853000)
> libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x00007f6c04371000)
> libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007f6c04142000)
> libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f6c03f18000)
> libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f6c03c94000)
> libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f6c03a8a000)
> libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f6c03811000)
> libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f6c0360b000)
> libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f6c03407000)
> libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f6c03201000)
> liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f6c02fe5000)
> libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f6c02cca000)
> libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f6c02ab0000)
> libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f6c02839000)
> libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f6c02630000)
> libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f6c02405000)
> libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
(0x00007f6c0215c000)
> libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f6c01f41000)
> libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f6c01d2c000)
> libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f6c01b17000)
Post a reply to this message
|
|
| |
| |
|
|
From: clipka
Subject: Re: Some specific assistance needed for the Unix build process
Date: 17 Jan 2019 13:19:23
Message: <5c40c72b$1@news.povray.org>
|
|
|
| |
| |
|
|
Am 17.01.2019 um 18:29 schrieb Le_Forgeron:
> Le 16/01/2019 à 20:56, clipka a écrit :
>> Am 16.01.2019 um 20:14 schrieb Le_Forgeron:
>>> So, no need to worry, and we can wait for the next move ?
>>>
>>> Good, good !
>>
>> I still need people to test it on real-life Unix systems.
>
> I built it (now automated for any further update).
Just wondering, what flavour of Linux are you running?
> but the --version does not report any information about freetype
Fixing this right now.
Post a reply to this message
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: Some specific assistance needed for the Unix build process
Date: 17 Jan 2019 13:29:55
Message: <5c40c9a3$1@news.povray.org>
|
|
|
| |
| |
|
|
Le 17/01/2019 à 19:19, clipka a écrit :
> Am 17.01.2019 um 18:29 schrieb Le_Forgeron:
>> Le 16/01/2019 à 20:56, clipka a écrit :
>>> Am 16.01.2019 um 20:14 schrieb Le_Forgeron:
>>>> So, no need to worry, and we can wait for the next move ?
>>>>
>>>> Good, good !
>>>
>>> I still need people to test it on real-life Unix systems.
>>
>> I built it (now automated for any further update).
>
> Just wondering, what flavour of Linux are you running?
>
Ubuntu , currently at 18.04 LTS (bionic), on 64 bits.
>
>> but the --version does not report any information about freetype
>
> Fixing this right now.
Thanks.
Post a reply to this message
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: Some specific assistance needed for the Unix build process
Date: 18 Jan 2019 14:59:12
Message: <5c423010$1@news.povray.org>
|
|
|
| |
| |
|
|
Le 17/01/2019 à 19:29, Le_Forgeron a écrit :
> Le 17/01/2019 à 19:19, clipka a écrit :
>> Fixing this right now.
>
> Thanks.
>
Latest issue with today's code:
> ./parser/font.h:78:25: error: looser throw specifier for ‘virtual const char*
pov_parser::FontProcessingException::what() const’
> virtual const char* what() const override;
> ^~~~
> In file included from /usr/include/c++/7/exception:38:0,
> from /usr/include/c++/7/new:40,
> from /usr/include/c++/7/bits/stl_construct.h:59,
> from /usr/include/c++/7/bits/stl_tempbuf.h:60,
> from /usr/include/c++/7/bits/stl_algo.h:62,
> from /usr/include/c++/7/algorithm:62,
> from ../unix/povconfig/syspovconfig.h:49,
> from ../unix/povconfig/syspovconfigbase.h:42,
> from ./base/configbase.h:41,
> from ./core/configcore.h:42,
> from ./parser/configparser.h:41,
> from ./parser/font.h:40,
> from parser/font.cpp:37:
> /usr/include/c++/7/bits/exception.h:69:5: error: overriding ‘virtual const char*
std::exception::what() const noexcept’
> what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
> ^~~~
Not sure there is a portable solution for gnu, clang and other compilers.
Post a reply to this message
|
|
| |
| |
|
|
From: clipka
Subject: Re: Some specific assistance needed for the Unix build process
Date: 18 Jan 2019 15:45:04
Message: <5c423ad0$1@news.povray.org>
|
|
|
| |
| |
|
|
Am 18.01.2019 um 20:59 schrieb Le_Forgeron:
>> ./parser/font.h:78:25: error: looser throw specifier for ‘virtual const char*
pov_parser::FontProcessingException::what() const’
>> virtual const char* what() const override;
>> ^~~~
...
> Not sure there is a portable solution for gnu, clang and other compilers.
I /think/ changing it to
virtual const char* what() const noexcept override;
should do the trick. Can you do a quick test with that?
Post a reply to this message
|
|
| |
| |
|
|
From: clipka
Subject: Re: Some specific assistance needed for the Unix build process
Date: 18 Jan 2019 22:35:50
Message: <5c429b16$1@news.povray.org>
|
|
|
| |
| |
|
|
Am 18.01.2019 um 21:45 schrieb clipka:
> should do the trick. Can you do a quick test with that?
Nevermind.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |