
-------- Original Message -------- Subject: Re: Question about PPL (missing detail) Date: Wed, 08 Oct 2003 19:28:03 +0200 From: Carlos Ureña-Almagro almagro@ugr.es To: Roberto Bagnara bagnara@cs.unipr.it References: 3F83F1DF.9010003@ugr.es 3F841488.2020400@cs.unipr.it
I understand the problem, I will try to follow your advice. Thanks a lot for your help.
With respect to my application, at this point I just want to explore the feasibility of an algortithm for efficiently compute the first intersection of a line with a huge set of planar triangles in 3D. This is a common problem in computer graphics, which has been solved by using an spatial index (k-d tree or similar) for the triangles. However, one can map the line and all triangles edges lines to a 6-dimensional space (using plucker coordinates), such that the line is mapped to a point, and each triangle is mapped to the intersection of three half-spaces (one for each edge). The line intersects the triangle in 3d euclidean space iif the point is in these three half-spaces in 6d plucker coordinate space. I want to perform spatial indexing in this space, thus I need to compute intersections between 6d axis-aligned boxes and those half-spaces obtained from triangle edges (however, this is just an idea, and PPL is probably perfect for these purpouses).
Roberto Bagnara wrote:
Carlos Ureña Almagro wrote:
I'm trying to use PPL library for a project related to Computer Graphics. First at all, I would like to thank you for your effort in development and maintenence of that library. I had a trouble trying to use it, and I would like to know if you have experienced this and maybe you can point me to the solution. I apologize if this is a trivial question, or has a trivial solution which I ignore.
I have suse linux 8.2, with gcc version 3.2, kernel 2.4.19. I have succesfully installed the binary rpm version of your library. (I have libstdc++.so.5 in my linux box, rpm missed the corresponding libstdc++ rpm package, but the file is there, so I ignored the rpm warning).
After installing, I checked I had the libraries in standard linux lib folders, and I wrote a simple C++ program using the PPL. The program compiled OK, but when I tried to link it, I had an error message, more concretelly, the linker found references to this undefined symbol (dots are mine)
standard_alloc_template<...>::_S_force_new
may be the libraries I have are wrong, but every symbol was correctly resolved except for this, and this is what bothers me
Any help would be appreciated, thank you very much in advance.
Dear Carlos,
the symptom suggests that you are trying to link C++ objects obtained with different version of GCC, something that does not work in general. Things will improve in the future, but until now the situation has been quite discouraging: version 3.0 was not compatible with 3.1 and the same thing happened in the transition to 3.2 and to 3.3. Indeed, even the fact that we distribute RPMs is questionable, since they are useless on systems where a different version of GCC is installed. The problem is aggravated by the fact explained in our draft FAQ available at http://www.cs.unipr.it/ppl/FAQ. The bottom line is that GMP, the PPL and all your C++ code must be compiled with the same version of the same compiler (GCC, in your case).
To summarize: you should build everything from sources. Start with GMP following the instructions in http://www.cs.unipr.it/ppl/Download/requirements and then configure, compile and install the PPL. Please do not hesitate to contact us again if you need help: direct all communication to ppl-devel@cs.unipr.it. We would also love to know more about your application. All the best,
Roberto and the PPL team