[Home]

Summary:ASTERISK-11628: configure script flaw on Solaris 10 (and maybe others)
Reporter:dmartin (dmartin)Labels:
Date Opened:2008-03-12 16:09:55Date Closed:2011-06-07 14:08:08
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Solaris 10's "id" program doesn't understand GNU parameters as used in several Makefiles. "gid" (GNU id) from CSW  does, so it would be better to use it instead of system's "id". A result of this is that "core show version" doesn't report that information:

sun01*CLI> core show version
Asterisk SVN-trunk-r105677M built by  @ sun01 on a sun4u running SunOS on 2008-03-03 17:16:09 UTC




****** ADDITIONAL INFORMATION ******

sun01:~$ id -un;echo $?
id: illegal option -- u
Usage: id [-ap] [user]
2
sun01:~$ gid -un;echo $?
davidm
0
sun01:~$
Comments:By: Jason Parker (jparker) 2008-03-17 14:11:33

This already uses ${ID}, which is picked up via configure logic.  Are you sure you had gid in your PATH when you ran configure?

See build_tools/make_build_h

By: dmartin (dmartin) 2008-03-17 14:32:20

Yes, gid is in my path, and just tried with a fresh svn checkout

.....
Updated to revision 109224.
sun01:~/asterisk-trunk$ which gid
/opt/csw/bin/gid
sun01:~/asterisk-trunk$ ./configure
......
sun01:~/asterisk-trunk$ gmake
/usr/bin/id: illegal option -- u
Usage: id [-ap] [user]
....
sun01:~/asterisk-trunk$ cat makeopts
....
ID=/usr/bin/id
....

seems that the configure script doesn't care so much about "id" when creating makeopts. build_tools/make_build_h does, as you said, but ${ID} defined in makeopts is wrong.

By: Jason Parker (jparker) 2008-03-17 15:38:20

What about /usr/xpg4/bin/id ?

By: dmartin (dmartin) 2008-03-17 16:04:24

That implementation of id doesn't fail, but the output is as least poor, and I think not expected by Asterisk:

$ /usr/xpg4/bin/id -u
100

But with -nr:

$ /usr/xpg4/bin/id -u -rn  
davidm

Is the build system aware of the -nr on solaris/xpg4 version of id ?

By: Jason Parker (jparker) 2008-03-17 16:07:55

It uses id -un.

make dist-clean, Put /usr/xpg4/bin/ in your path, then rerun configure.  That will fix your issue.