libtool が "syntax error in VERSION script"とエラーを出す.
/usr/bin/nm -B .libs/libdummy_la-dummy.o | sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\(\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p' | /bin/sed 's/.* //' | sort | uniq > .libs/libdummy.exp grep -E -e "get_driver_desc" ".libs/libdummy.exp" > ".libs/libdummy.expT" mv -f ".libs/libdummy.expT" ".libs/libdummy.exp" echo "{ global:" > .libs/libdummy.ver cat .libs/libdummy.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libdummy.ver echo "local: *; };" >> .libs/libdummy.ver gcc -shared .libs/libdummy_la-dummy.o -Wl,-soname -Wl,libdummy.so -Wl,-version-script -Wl,.libs/libdummy.ver -o .libs/libdummy.so /usr/bin/ld:.libs/libdummy.ver:2: syntax error in VERSION script collect2: ld returned 1 exit status
原因は,grep -E -e "get_driver_desc" ".libs/libdummy.exp" の結果が NULL になるため.つまり,
--module -avoid-version -export-symbols-regex get_driver_desc
と指定しているのに get_driver_desc というシンボルが存在しない場合,上記のエラーとなるらしい.