Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] Re: Re: Re: Re: Re: Re: r2349 - in trunk: . CMake Engine Image Model Model/Readers UserInterface


Chronological Thread 
  • From: "J. Davison de St. Germain" < >
  • To:
  • Subject: [Manta] Re: Re: Re: Re: Re: Re: r2349 - in trunk: . CMake Engine Image Model Model/Readers UserInterface
  • Date: Thu, 20 Nov 2008 15:22:18 -0700

Get CMake to list all the libraries that are necessary for linking. In the case of a static teem lib, then all manta libs (that link vs any lib that links vs teem) will need to explicitly list the teem libs. As you mentioned before, a lot of the time this isn't necessary (as the system just 'does it' for you). However, this is probably a bad idea, and whether it is a .a or .so, we should explicitly list all the libs. This will make sure it works for static libs, dynamic libs, and on systems (such as the mac, and others) that don't do 'magic' for you.
If you look at my commit message, the CMakeLists.txt files that I added the Teem link CMake calls to are the libraries that were not pulling in teem correctly. I don't know what symbol they wanted or why they needed it, only that the linker complained that it couldn't find it.

I don't know if it can be reproduced on any SCI machine (with dynamic libs) but I bet it can be with static libs. I know it can be reproduced on the new C-SAFE 2000 processor cluster here at the U.

  - Dav

James Bigler wrote:
Get CMake to handle what exactly?

I still think linking everything against Teem is only shadowing the
issue and not really solving it.

Which object has unresovled Teem symbols?  Is there some header file
that is pulling in symbols everywhere?

Can this problem be reproduced on any SCI machine?

James

On Thu, Nov 20, 2008 at 2:25 PM, J. Davison de St. Germain
< >
 wrote:
Shared.

updraft2:1010:updraft.arches/sys/pkg/scirun_tp> ls -l teem-install/lib/
total 7984
drwxr-xr-x  2 u0080076 uintah    4096 Nov 18 17:57 Teem-1.10.0
-rw-r--r--  1 u0080076 uintah 4812692 Nov 18 17:23 libteem.a
lrwxrwxrwx  1 u0080076 uintah      12 Nov 18 17:24 libteem.so ->
libteem.so.1
lrwxrwxrwx  1 u0080076 uintah      17 Nov 18 17:24 libteem.so.1 ->
libteem.so.1.10.0
-rwxr-xr-x  1 u0080076 uintah 3340962 Nov 18 17:25 libteem.so.1.10.0

Note, though, you are absolutely right about problems with the static
version... it will break.  Someone needs to update CMake to handle that
correctly too.

 - Dav

James Bigler wrote:
Was Teem compiled static or shared?  A static version of Teem would
explain the problems you were having.

James

On Thu, Nov 20, 2008 at 1:40 PM, J. Davison de St. Germain
< >
 wrote:

I'm surprised I had to do that too... I would have thought it would 'just
work' too... but it didn't.  I'm not certain.  All I know is that when I
typed "make", I got link errors due to missing Teem symbols.  And when I
added the CMake stuff to link in Teem, they went away, and the compilation
finished and manta ran.

 - Dav

James Bigler wrote:

I'm surprised that you needed to do this.  Transitive linking should
happen for you.  Are you certain that you were linking against teem at the
right stage?

Also, you could make this better backwards compatible by doing something
like this:

if(NOT DEFINED Teem_BLAH_BLAH AND DEFINED TEEM_BLAH_BLAH)
 set(Teem_BLAH_BLAH TEEM_BLAH_BLAH)
endif()

That way if you have an older version of teem you will still get the
right variable name.

James

--
-----------------------------------------------------------------------
- J. Davison de St. Germain         

    (801) 581-4078 -
- Chief Software Engineer           http://www.cs.utah.edu/~dav       -
- SCI Institute, SE C-SAFE          University of Utah                -
-----------------------------------------------------------------------


--
-----------------------------------------------------------------------
- J. Davison de St. Germain         

    (801) 581-4078 -
- Chief Software Engineer           http://www.cs.utah.edu/~dav       -
- SCI Institute, SE C-SAFE          University of Utah                -
-----------------------------------------------------------------------



--
-----------------------------------------------------------------------
- J. Davison de St. Germain         

    (801) 581-4078 -
- Chief Software Engineer           http://www.cs.utah.edu/~dav       -
- SCI Institute, SE C-SAFE          University of Utah                -
-----------------------------------------------------------------------




Archive powered by MHonArc 2.6.16.

Top of page