POV-Ray : Newsgroups : povray.programming : Broken Arrow : Re: Broken Arrow Server Time
18 Apr 2024 21:22:25 EDT (-0400)
  Re: Broken Arrow  
From: Le Forgeron
Date: 28 Jan 2016 03:52:33
Message: <56a9d6d1@news.povray.org>
Le 28/01/2016 06:38, clipka a écrit :
> Okay, folks -- I'm officially puzzled here.
>
> I've broken the Unix build process, but for the sake of my life can't
> figure out /how/. Here's the change by which I broke it:
>
> https://github.com/POV-Ray/povray/tree/fdcb3676507e8907922dfc6dace95d449ae7860f
>
> And here are the devastating results:
>
> https://semaphoreci.com/pov-ray/povray/branches/master/builds/5
>
> Somehow it seems that the definitions in povmscpp.cpp (and other .cpp
> files in the ~/source/povms subdirectory) are no longer properly linked
> into ~/source/libpovray.a for /some/ reason.
>
> Someone help me out here. Plz.
>

Such error at link stage are usually due to:
  * a failure to compile some code
  * an ordering problem with multiple libraries on the linker command

Did you start with a clean environment ? Previously compiled files might 
not have been recompiled and might miss a deep change of mapping.

If you moved some files, was the Makefile redone ?

About the ordering of libraries, when libA would need some part of libB, 
libA must appears before libB. But if libB needs also some code of libA, 
you got a problem of circular dependencies which can make it difficult 
to solve: the linker will extract only the needed symbol from libA due 
to the previous code (main or other *.o object) and get a list of needed 
symbols. then it close forever libA and search libB to extract the still 
needed symbols and might get more needed symbols too. rinse & repeat for 
the next library until the end of the list.


Post a reply to this message

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