POV-Ray : Newsgroups : povray.unix : Static compile on a ALPHA machine Server Time
23 Dec 2024 21:32:23 EST (-0500)
  Static compile on a ALPHA machine (Message 1 to 2 of 2)  
From: Ron
Subject: Static compile on a ALPHA machine
Date: 7 Dec 2005 18:55:00
Message: <web.439775afc845f2fd58035aeb0@news.povray.org>
I am trying to compile the application on a ALPHA Linux 2.6.13 machine.  I
have used the following configure options:

--disable-shared
--without-x
--without-svga

I am compiling with g++ 3.3.3 and version 3.6.1 of povray.

The compile completes fine but when I run the application I recieve a
segfault in the POVMS_Object code at povmscpp.cpp line 473.  It appears to
be calling the POVMSObject_Copy with a source.data that has a root=0x0.
Printing out the value of the source.data in gdb I get:

{type = 1329744453, size = 0, {ptr = 0x0, items = 0x0, root = 0x0}}

This error goes away when I remove the --disable-shared parameter to the
configure script.  Has anyone else seen this error before or know why it is
happening?

I have a complete backtrace and can provide more information if that would
help anyone diagnose the problem.

-Ron


Post a reply to this message

From: Nicolas Calimet
Subject: Re: Static compile on a ALPHA machine
Date: 8 Dec 2005 11:26:50
Message: <43985eca$1@news.povray.org>
> This error goes away when I remove the --disable-shared parameter to the
> configure script.

	So it is likely that one of the static library on your system is
broken, i.e. it was miscompiled somehow -- for instance it could be due
to buggy libtool or binutils.  I bet either (g)libc or stdlibc++ (coming
from gcc) is the cause.
	In the second case, try installing a newer gcc version, for instance
as non-priviledged user, before recompiling povray with it.
	In the first case, try updating* your libc.a (but NOT libc.so as that one
would potentially break everything).  Note that doing so is not recommanded and
should only be a matter to test whether glibc is the cause of your problem.
And if so, I'm afraid you'd better upgrade your whole system  :-(

	- NC

* As a non-privileged user, you can build a fresh glibc *without* installing it
in the usual system folders.  To link povray with it, it should be necessary
to pass the new library (with full path) to the linker; no need to recompile
povray, just linking.  To be on the safe side, it might also be necessary
to temporarly rename the system libc.a in order to avoid the linker to pick
that one by default.  Disclaimer: this is something I never tried by myself.


Post a reply to this message

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