POV-Ray : Newsgroups : povray.beta-test : Compiling beta 25 on Solaris X64 Server Time
27 Dec 2024 01:40:53 EST (-0500)
  Compiling beta 25 on Solaris X64 (Message 1 to 10 of 10)  
From: Thomas
Subject: Compiling beta 25 on Solaris X64
Date: 2 Mar 2008 09:40:00
Message: <web.47cabc1cb1731ef4f0289400@news.povray.org>
Hi,

After a few years of not povving I started do some work again with it and I am
delighted to see that a multi-threaded version is in beta!!! Great work POV
team!!! Thanks.

I downloaded the source code last week and tried to compile it on a Solaris X64
machine and ran into a few problems:

*) I had to install the boost library from http://www.sunfreeware.com/ and set
the --with-boost-thread=boost_thread-gcc34-mt flag for ./configure.

*) The ./configure script didn't like the version of the libz I had installed.
It complained it couldn't figure out which version it was even though it was a
good one. I suspect that this is an autoconf/Solaris issue though. Not quite
sure what to do about it. Same problem for the libpng, libtiff and libjpeg.

*) ./configure failed the size int test; it turned out I had to set
LD_LIBRARY_PATH manually to the libboost path (/usr/local/lib).

*) My system only had gmake and no make installed and I had to fix the Makefile
manually in a few places to make sure it used gmake instead of make.

*) Due to the a formentioned libz problems I went for the options to compile it
with out libz (and libpng etc.) yet the code still expected it to be there.This
was the failure:

Undefined                       first referenced
 symbol                             in file
uncompress                          ../source/base/libbase.a(povmscpp.o)
ld: fatal: Symbol referencing errors. No output written to povray

I worked around it by compiling the file manually with libz and that worked
fine.

*) It turned out that my system didn't have ar installed, once installed it
worked fine, but I only found out during the compile. ./configure didn't check
for the binutils (not really important, since I suspect it will be installed on
most systems).

In the end this was my ./configure command:

../configure COMPILED_BY="XXXXXX" --with-boost-thread=boost_thread-gcc34-mt
--without-zlib NON_REDISTRIBUTABLE_BUILD=yes --without-libpng --without-libjpeg
--without-libtiff

Once compiled it all worked multi-threaded on my dual CPU machine...
unfortunately not such luck on an 8-way (octacore/octocore???) machine :( a bit
more investigation needed.

Also, gcc generated quite a few warnings (casts if I remember correctly). If
anyone wants more information let me know and I can post it for you.

Thanks again POV team!!!

Thomas


Post a reply to this message

From: Thomas
Subject: Re: Compiling beta 25 on Solaris X64
Date: 2 Mar 2008 09:50:00
Message: <web.47cabe6c6dcb6c85f0289400@news.povray.org>
ooh and just to mention it; I got a 32 bit executable:

$ file povray
povray:         ELF 32-bit LSB executable 80386 Version 1 [CMOV FPU],
dynamically linked, stripped

Would it be worth for ./configure checking 32/64 bit OS and adjusting make files
accordingly?

Thomas


Post a reply to this message

From: Nicolas Alvarez
Subject: Re: Compiling beta 25 on Solaris X64
Date: 2 Mar 2008 10:09:51
Message: <47cac33f$1@news.povray.org>

> *) My system only had gmake and no make installed and I had to fix the Makefile
> manually in a few places to make sure it used gmake instead of make.

It should actually use $(MAKE), so that it uses the correct one 
automatically.


Post a reply to this message

From: Nicolas Calimet
Subject: Re: Compiling beta 25 on Solaris X64
Date: 2 Mar 2008 11:57:08
Message: <47cadc64@news.povray.org>
> *) The ./configure script didn't like the version of the libz I had installed.
> It complained it couldn't figure out which version it was even though it was a
> good one. I suspect that this is an autoconf/Solaris issue though. Not quite
> sure what to do about it. Same problem for the libpng, libtiff and libjpeg.
> 
> *) ./configure failed the size int test; it turned out I had to set
> LD_LIBRARY_PATH manually to the libboost path (/usr/local/lib).

	Please mail me the config.log file that configure generated.

> *) My system only had gmake and no make installed and I had to fix the Makefile
> manually in a few places to make sure it used gmake instead of make.

	That's odd, there should be *no* explicit reference to make within
any Makefile.  Can you tell where you had to apply those changes?

> uncompress                          ../source/base/libbase.a(povmscpp.o)
> ld: fatal: Symbol referencing errors. No output written to povray

	Ah-ah, indeed this one needs to be wrapped too.  Thanks!

> *) It turned out that my system didn't have ar installed, once installed it
> worked fine, but I only found out during the compile. ./configure didn't check
> for the binutils (not really important, since I suspect it will be installed on
> most systems).

	Thanks I will be adding an extra check.

> Also, gcc generated quite a few warnings

	They are harmless.

	Thanks again for reporting,
	- NC


Post a reply to this message

From: Warp
Subject: Re: Compiling beta 25 on Solaris X64
Date: 2 Mar 2008 12:28:10
Message: <47cae3aa@news.povray.org>
Thomas <tho### [at] gmxnet> wrote:
> ooh and just to mention it; I got a 32 bit executable:

  If I'm not completely mistaken, gcc 3.4 has no support for creating
64-bit Sparc executables. I don't know if gcc 4 has.

  If it doesn't, the only way you can create a 64-bit Sparc executable
is by using Sun's own C++ compiler. However, unless they have brought it
up to date recently, it probably won't compile POV-Ray.

-- 
                                                          - Warp


Post a reply to this message

From: Warp
Subject: Re: Compiling beta 25 on Solaris X64
Date: 2 Mar 2008 12:29:57
Message: <47cae415@news.povray.org>
Thomas <tho### [at] gmxnet> wrote:
> Once compiled it all worked multi-threaded on my dual CPU machine...
> unfortunately not such luck on an 8-way (octacore/octocore???) machine :( a bit
> more investigation needed.

  What do you mean with that? It didn't compile? It didn't run? It crashed?

  If what you mean is "even though there are 8 cores POV-Ray is still using
only 2" then the answer is that you have to give "-wt8" as parameter to
POV-Ray.

-- 
                                                          - Warp


Post a reply to this message

From: Thomas van der Veen
Subject: Re: Compiling beta 25 on Solaris X64
Date: 3 Mar 2008 07:02:26
Message: <Xns9A567A36D76CAveentukibmcom@203.29.75.35>
Warp <war### [at] tagpovrayorg> wrote in news:47cae3aa@news.povray.org:

> Thomas <tho### [at] gmxnet> wrote:
>> ooh and just to mention it; I got a 32 bit executable:
> 
>   If I'm not completely mistaken, gcc 3.4 has no support for creating
> 64-bit Sparc executables. I don't know if gcc 4 has.

This is Solaris X64 and thus uses Intel x86-64 or Opteron chips not Sparc. 
Turns out that gcc-3.4.3 was installed on the box and that can produce 64 
bit code apparently, but haven't tried that yet.
 
>   If it doesn't, the only way you can create a 64-bit Sparc executable
> is by using Sun's own C++ compiler. However, unless they have brought it
> up to date recently, it probably won't compile POV-Ray.

We have the Sun compiler (for x86) here, but I haven't tried it.,, and not 
sure if I will have time to do so.

Thomas


Post a reply to this message

From: Thomas van der Veen
Subject: Re: Compiling beta 25 on Solaris X64
Date: 3 Mar 2008 07:06:20
Message: <Xns9A567ADFB8BBveentukibmcom@203.29.75.35>
Warp <war### [at] tagpovrayorg> wrote in news:47cae415@news.povray.org:

> Thomas <tho### [at] gmxnet> wrote:
>> Once compiled it all worked multi-threaded on my dual CPU machine...
>> unfortunately not such luck on an 8-way (octacore/octocore???)
>> machine :( a bit more investigation needed.
> 
>   What do you mean with that? It didn't compile? It didn't run? It
>   crashed? 
> 
>   If what you mean is "even though there are 8 cores POV-Ray is still
>   using 
> only 2" then the answer is that you have to give "-wt8" as parameter
> to POV-Ray.
> 

The machine in question doesn't have the Boost libraries installed and just 
copying the multi-thread bit and pointing LD_LIBRARY_PATH to it didn't fix 
the problem. The program terminated directly failing to locate the library. 
So I think I can fix this by installing the library unfortunatly I can't do 
that on the 8 way machines :(

Thomas


Post a reply to this message

From: Thomas van der Veen
Subject: Re: Compiling beta 25 on Solaris X64
Date: 3 Mar 2008 07:12:03
Message: <Xns9A567BD83F13thomasvdv@203.29.75.35>
Nicolas Calimet <pov### [at] freefr> wrote in
news:47cadc64@news.povray.org: 

>> *) The ./configure script didn't like the version of the libz I had
>> installed. It complained it couldn't figure out which version it was
>> even though it was a good one. I suspect that this is an
>> autoconf/Solaris issue though. Not quite sure what to do about it.
>> Same problem for the libpng, libtiff and libjpeg. 
>> 
>> *) ./configure failed the size int test; it turned out I had to set
>> LD_LIBRARY_PATH manually to the libboost path (/usr/local/lib).
> 
>      Please mail me the config.log file that configure generated.

DOH User error... Looking at the config.log it turned out the libz etc 
test needed the LD_LIBRARY_PATH set as well. All ok now.
 
>> *) My system only had gmake and no make installed and I had to fix
>> the Makefile manually in a few places to make sure it used gmake
>> instead of make. 
> 
>      That's odd, there should be *no* explicit reference to make
>      within 
> any Makefile.  Can you tell where you had to apply those changes?

In the Makefile in the main directory and in the source and unix 
directory are these lines:

MAKE=make
...
SET_MAKE = MAKE=make

I changed them to MAKE=gmake and then it all worked fine.

 
>> uncompress                         
>> ../source/base/libbase.a(povmscpp.o) ld: fatal: Symbol referencing
>> errors. No output written to povray 
> 
>      Ah-ah, indeed this one needs to be wrapped too.  Thanks!

no problem... I was probably the first to compile it that way 
(understandably).

>> *) It turned out that my system didn't have ar installed, once
>> installed it worked fine, but I only found out during the compile.
>> ./configure didn't check for the binutils (not really important,
>> since I suspect it will be installed on most systems).
> 
>      Thanks I will be adding an extra check.
> 
>> Also, gcc generated quite a few warnings
> 
>      They are harmless.
> 
>      Thanks again for reporting,
>      - NC

Thanks,
Thomas


Post a reply to this message

From: Warp
Subject: Re: Compiling beta 25 on Solaris X64
Date: 3 Mar 2008 07:21:40
Message: <47cbed53@news.povray.org>
Thomas van der Veen <tho### [at] gmxnet> wrote:
> >   If I'm not completely mistaken, gcc 3.4 has no support for creating
> > 64-bit Sparc executables. I don't know if gcc 4 has.

> This is Solaris X64 and thus uses Intel x86-64 or Opteron chips not Sparc. 
> Turns out that gcc-3.4.3 was installed on the box and that can produce 64 
> bit code apparently, but haven't tried that yet.

  I see. I suppose then it's just a question of whether gcc can create
the 64-bit executables in a format compatible with Solaris. I assume it can.

  I suppose that the configure script could somehow detect that the system
is an x86-64 running Solaris and test if 64-bit binaries can be compiled.
Of course there should still be an option to compile a 32-bit binary
anyways, if the user wants one.

-- 
                                                          - Warp


Post a reply to this message

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