Summary:ASTERISK-20191: syntax error in VERSION script during make
Reporter:tootai (tootai)Labels:
Date Opened:2012-08-03 02:11:38Date Closed:2012-08-06 14:56:06
Versions:10.7.0 Frequency of
Environment:Linux Debian Squeeze 2.6.32 amd64 kernel in KVM virtual machineAttachments:
Description:When building the 10.7.0 version, during make:

  [CC] res_adsi.c -> res_adsi.o
  [LD] res_adsi.o -> res_adsi.so
/usr/bin/ld:res_adsi.exports:1: syntax error in VERSION script
collect2: ld returned 1 exit status
make[1]: *** [res_adsi.so] Erreur 1
make: *** [res] Erreur 2

zone-s:/usr/src/asterisk-10.7.0# uname -a
Linux zone-s 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux
Comments:By: Matt Jordan (mjordan) 2012-08-03 08:54:42.695-0500

I've checked out 10.7.0 directly from its tag and performed:


Similarly, using the source tar ball from www.asterisk.org/downloads successfully built Asterisk.  How did you get the Asterisk source for 10.7.0?  Are you building from a clean checkout/download?

By: tootai (tootai) 2012-08-03 12:15:24.885-0500

Copy asterisk-10.6.0 directory into a new asterisk-10.7.0 one:

cd asterisk-10.7.0
patch -p0 < ../asterisk-10.7.0-patch
make clean
make menuconfig

By: Matt Jordan (mjordan) 2012-08-03 12:25:07.283-0500

Ah, that makes sense.

In Asterisk 10.7, in order to resolve several issues regarding res_adsi loading, the way in which symbols for the res_adsi module are handled was changed.  You'll note in the ChangeLog that res_adsi.exports.in was removed completely.

Unfortunately, when upgrading, the 10.6 res_adsi.exports file, generated from the previous linking, is not removed during a 'make clean'.  This causes the linking to fail, as the global symbols specified in res_adsi.exports no longer exists.

Try deleting res_adsi.export and, then run 'make'.

By: tootai (tootai) 2012-08-04 05:33:30.210-0500

I had to remove res_adsi.export res_adsi_export.in and res_adsi.o to get it work.

Thanks for your support