[Live-devel] SECOND and friends

Derk-Jan Hartman hartman at videolan.org
Wed Mar 1 17:05:28 PST 2006


On 1-mrt-2006, at 16:45, Ross Finlayson wrote:
>> As of late I have the following issue with compiling VLC.
>>
>> /usr/bin/ld: multiple definitions of symbol _SECOND
>> /System/Library/Frameworks/Accelerate.framework/Versions/A/ 
>> Frameworks/ vecLib.framework/Versions/A/libLAPACK.dylib(single  
>> module) definition
>> of _SECOND
>> /Users/buildslave/slave/nb-g5-osx-trunk/build/extras/contrib/src/ 
>> live/ BasicUsageEnvironment/libBasicUsageEnvironment.a(DelayQueue.o)
>> definition of _SECOND in section (__DATA,__common)
>>
>> Could you please prefix this with something like LIVE_ ?
>> I agree it's a frellup in vecLib just as much, but circumventing it
>> in liveMedia seems easier :D
>
> Perhaps, but not necessarily.  Remember that the "LIVE555 Streaming  
> Media" libraries are used in many other applications other than  
> VLC, and what you are asking for is basically an API change (albeit  
> a mostly benign one).
>
> Is the other use of "SECOND" just within VLC, or is it also within  
> another external library?

It's also an external library. (an OS part actually)
I was always taught that any symbol that you export externally should  
be prefixed with a "namespace" component to make sure it doesn't  
overlap with other APIs.
Besides this was introduced into a function only just recently wasn't  
it? Because I have been linking to the vecLib component for years and  
never had this issue before. It shouldn't be much of a problem for  
the API. The API for liveMedia changed quite often already.

DJ


More information about the live-devel mailing list