[reSIProcate] MacOS 10.4.8 / Intel

Adam Roach adam at nostrum.com
Tue Feb 20 13:23:12 CST 2007


I'm hardly an expert on the OS X linker, but I'm a bit suspicious of 
your link line when building the libsipdial.dylib.

I *think* you want "-undefined dynamic_lookup" instead of "-undefined 
warning". I believe the latter requires the symbols to be already linked 
in at runtime, while the former will cause them to be loaded if they 
don't exist. (This requires the use of "-twolevel_namespace" instead of 
"-flat_namespace", but I suspect you should probably be using a 
two-level namespace anyway unless you have a really good reason to use 
the older style flat namespaces).

In any case, the missing symbols in building the library are only 
warnings, not errors. If you need to stick with the flat namespace, you 
can eliminate the (mostly useless) spurious out put with "-undefined 
suppress"

/a

Daniel Pocock wrote:
> Adam Roach wrote:
>   
>> I added some stuff to the build system that appears to properly build 
>> dynamic libraries for OS 10.4. Everything links without any obviously 
>> new warnings, and "make check" passes all its tests.
>>
>> It is my understanding that the approach I've used to generate shared 
>> libraries is incompatible with the way things were done in 10.2 and 
>> earlier. I don't have access to a machine of that vintage, so that 
>> will have to wait (if it ever gets done).
>>
>> Keep in mind that, unless you install the dylibs into one of the 
>> well-known locations, you need to set DYLD_LIBRARY_PATH to point to 
>> the libraries, or things will fail at runtime.
>>
>>     
> Ok, we got reSIProcate working, but my own app didn't link - does anyone 
> have any suggestions for my own Makefile on MacOS?
>
> Incidentally, the Makefile creates two targets, a shlib (libsipdial) and 
> an executable (sipdialer) - both seem to fail at present.
>
> g++ -o sipdialer sipdialer.o -L/usr/local/lib 
> -L/Users/helge/projects/resiprocate//contrib/ares/ 
> -L/Users/helge/projects/resiprocate//tfm/contrib/Netxx-0.3.2/src/ -L. 
> -L../resiprocate/lib.debug.Darwin.i386 -lsipdial -ldum -lresip -lrutil 
> -lares -lssl  -lcrypto  -lpthread  -lpopt -framework CoreFoundation  
> -bind_at_load
> /usr/bin/ld: Undefined symbols:
> _SCDynamicStoreCopyValue
> _SCDynamicStoreCreate
> _kSCPropNetDNSServerAddresses
> collect2: ld returned 1 exit status
> make: *** [sipdialer] Error 1
>
> and before in the shlib, due to missing linking:
> gcc -dynamiclib -flat_namespace -undefined warning -o libsipdial.dylib 
> DialerConfiguration.o DialInstance.o MyInviteSessionHandler.o
> ld: warning undefined symbols:
> __Unwind_Resume
> __ZN5resip3UriC1ERKNS_4DataE
> __ZN5resip3UriC1Ev
> ...
>
>
>
>   
>> Byron Campen wrote:
>>     
>>>     The shared library build for OS X is non-existent. (We'd need to 
>>> implement a .dylib build, which we don't have right now)
>>>
>>> Best regards,
>>> Byron Campen
>>>
>>>       
>>>>
>>>> I've been helping someone trial reSIProcate on his Mac, for the purpose
>>>> of linking SIP support into another great open source application.
>>>>
>>>> He's got an Intel based Mac, with OS 10.4.8.
>>>>
>>>> The static libraries build and the shared libraries don't.  Has anyone
>>>> else done much work with this platform, and should the shared libraries
>>>> work?  I won't have access to the machine until FOSDEM (24 Feb), but 
>>>> I'd
>>>> like to get some idea of what to expect before I start pulling my 
>>>> hair out.
>>>>
>>>> Regards,
>>>>
>>>> Daniel
>>>> _______________________________________________
>>>> resiprocate-devel mailing list
>>>> resiprocate-devel at list.resiprocate.org
>>>> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>>>         
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> resiprocate-devel mailing list
>>> resiprocate-devel at list.resiprocate.org
>>> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>>       
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at list.resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>   




More information about the resiprocate-devel mailing list