1
votes

While building smsq for Asterisk 1.8 the first error I got was missing pots.h. I solved this by installing libpopt-dev sudo apt-get install libpopt-dev. Now I am getting

desktop:~/Development/asterisk/asterisk-1.8.22.0$ sudo make utils/smsq
gcc     utils/smsq.c   -o utils/smsq
/tmp/cc87NdXn.o: In function `main':
smsq.c:(.text+0x25fe): undefined reference to `poptHelpOptions'
smsq.c:(.text+0x2634): undefined reference to `poptGetContext'
smsq.c:(.text+0x2652): undefined reference to `poptSetOtherOptionHelp'
smsq.c:(.text+0x2661): undefined reference to `poptGetNextOpt'
smsq.c:(.text+0x2682): undefined reference to `poptStrerror'
smsq.c:(.text+0x269b): undefined reference to `poptBadOption'
smsq.c:(.text+0x294b): undefined reference to `poptPeekArg'
smsq.c:(.text+0x295e): undefined reference to `poptGetArg'
smsq.c:(.text+0x298a): undefined reference to `poptPeekArg'
smsq.c:(.text+0x299d): undefined reference to `poptGetArg'
smsq.c:(.text+0x2c9d): undefined reference to `poptPeekArg'
smsq.c:(.text+0x2cb9): undefined reference to `poptGetArg'
smsq.c:(.text+0x2da1): undefined reference to `poptPeekArg'
smsq.c:(.text+0x2dc5): undefined reference to `poptPeekArg'
smsq.c:(.text+0x2dd8): undefined reference to `poptGetArg'
collect2: ld returned 1 exit status
make: *** [utils/smsq] Error 1
1

1 Answers

1
votes

I figured it out, the following steps helped.

make clean
./configure --with-bluetooth **note that bluetooth has nothing to do with this issue, I need it for chan_mobile**
sudo make
make menuconfig -> Utilities -> smsq enable it
sudo make install
cd utils **note do not use make utils/smsq, it wont work**
make smsq **its now built**
sudo cp smsq /usr/bin/asterisk/

Basically menuconfig did not have smsq enabled it hat XXX, that indicated a build issue with smsq. I guess common sense triggered that building asterisk will setup the smsq references to popt$$$$ links for ld. And enabling it before the make install also make sense.