Adding a new dissector in Wireshark encountered this problem, adding a packet-xx.c in makefile. except des is added in common, but the regiister registered by the added function cannot be compiled. c, even if you remove register. C does not work either.
Later we found that the compilation process has the following warning:
Make [3]: Entering directory '/root/perforce/wireshark-1.4.4/epan/dissectors'
CD ../.. &/bin/bash/root/perforce/wireshark-1.4.4/missing -- run automake-1.9 -- GNU epan/dissectors/makefile
/Root/perforce/wireshark-1.4.4/missing: Line 52: automake-1.9: Command not found
Warning: 'automake-1.9 'is missing on your system. You shoshould only need it if
You modified 'makefile. am', 'acinclude. M4 'or 'configure. in '.
You might want to install the 'automake' and 'perl 'packages.
Grab them from any GNU archive site.
CD ../.. &/bin/bash./config. Status epan/dissectors/makefile depfiles
Config. Status: Creating epan/dissectors/makefile
Config. Status: executing depfiles commands
Make [3]: Leaving directory '/root/perforce/wireshark-1.4.4/epan/dissectors'
Make [3]: Entering directory '/root/perforce/wireshark-1.4.4/epan/dissectors'
Making register. C with Python
That is to say, automake is not executed. This causes makefile. Common to be changed and makefile. In is not updated. Opening makefile. In did not find the newly added packet-xx.c file.
So reinstall automake and execute automake in the wireshark-1.4.4 directory to solve the problem.