< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] MacOS 10.4.8 / Intel


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@xxxxxxxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
------------------------------------------------------------------------

_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel