Summary:ASTERISK-05609: 1.2rc2 fails to build correctly on MacOS X 10.4.3
Reporter:Andreas Fink (afink)Labels:
Date Opened:2005-11-15 07:16:30.000-0600Date Closed:2011-06-07 14:11:58
Versions:Frequency of
Environment:Attachments:( 0) afink.diff
Description:After building 1.2rc2 and installing on MacOS X 10.4.3 you believe you have a working asterisk but you have a weird effect. When you launch asterisk and then type asterisk -r you can type commands but you wont see any output of those commands. For example help simply returns the prompt again. But the commands seem to be executed. typing "stop now" returns the prompt again but after typing it again, you get a broken pipe showing it really has quit.

The reason as weird as it sounds is simple.
One module, buildinfo.o was compiled but not linked into the asterisk
If its being added, everything works as usual.

I did not run into this issue under Linux for some reasons unkown to me.
Comments:By: John Todd (jtodd) 2005-11-15 12:59:04.000-0600

Verified, FWIW.

By: twisted (twisted) 2005-11-15 20:00:16.000-0600

afink:  I do not see how buildinfo.o makes any difference.  I linked that into the asterisk executable and it did not make any difference whatosever.  Can you tell me if you were able to resolve the issue, and EXACTLY what you did to make it work?

By: Andreas Fink (afink) 2005-11-15 20:15:43.000-0600

actually it might be another file. It was not myself but my developer who did it and told me this. Here's the output of cvs diff -u attached.

Note: this diff will make it work under MacOS X 10.4.3 with XCode 2.2 installed and will produce a dual architecture binary (for intel and powerpc CPUs). However it possibly will not make it work under other platforms or MacOS X systems who dont have the ability to compile for dual architecture (in other words under MacOS X 10.3 or older or if not at least XCode 2.1 is installed as the dual arch SDK was introduced with XCode 2.1). So hand work might be needed.

A small note to the SDK's on MacOS X.

For building a package which runs on anyone's computer it is highly recommended to link against the stub SDK libraries in the directory /Developer/SDKs/.

There are MacOSX10.2.8.sdk MacOSX10.3.9.sdk MacOSX10.4u.sdk and some systems might have the non universal MacOSX10.4.sdk. In those directories you find subdirectories like usr/lib and usr/include. When building a MacOS X application which should run on another version of MacOS X than the one currently running and should be independent of any libraries you added yourself, then use the headers of the SDK and link agains the libraries of the SDK. Thats what we basically changed in the Makefiles by hand so we can compile it for both architecture simply by adding -arch ppc -arch i386 to the compiler flags

By: twisted (twisted) 2005-11-16 14:48:24.000-0600

you didn't attach the diff...

By: twisted (twisted) 2005-11-16 15:34:15.000-0600

Fixed in CVS HEAD