Problem with $(NM)
Gu, Yang
yang.gu at intel.com
Thu Aug 27 19:10:09 PDT 2009
Hi all,
If you used the latest code, and met the problem that $(NM) couldn't be substituted correctly, here is the phenomenon, reason and solution.
Phenomenon: There is a build error till almost the end of whole build, and the error message looks like:
gdbus/mainloop.o gdbus/object.o gdbus/watch.o gisi/netlink.o gisi/socket.o gisi/client.o gisi/pep.o gisi/pipe.o drivers/isimodem/isimodem.o drivers/isimodem/phonebook.o drivers/isimodem/devinfo.o drivers/isimodem/network-registration.o drivers/isimodem/voicecall.o drivers/isimodem/sms.o drivers/isimodem/sim.o drivers/isimodem/ssn.o drivers/isimodem/ussd.o drivers/isimodem/call-forwarding.o drivers/isimodem/call-settings.o drivers/isimodem/call-barring.o drivers/isimodem/call-meter.o gatchat/gatchat.o gatchat/gatresult.o gatchat/gatsyntax.o gatchat/ringbuffer.o drivers/atmodem/atmodem.o drivers/atmodem/call-settings.o drivers/atmodem/sms.o drivers/atmodem/call-forwarding.o drivers/atmodem/call-meter.o drivers/atmodem/network-registration.o drivers/atmodem/sim.o drivers/atmodem/ussd.o drivers/atmodem/voicecall.o drivers/atmodem/call-barring.o drivers/atmodem/phonebook.o drivers/atmodem/ssn.o drivers/atmodem/devinfo.o plugins/generic_at.o plugins/example_history.o src/main.o src/log.o src/plugin.o src/modem.o src/common.o src/manager.o src/dbus.o src/util.o src/network.o src/voicecall.o src/ussd.o src/sms.o src/call-settings.o src/call-forwarding.o src/call-meter.o src/smsutil.o src/ssn.o src/call-barring.o src/sim.o src/phonebook.o src/history.o src/message-waiting.o src/simutil.o | gawk '{ print $3 }' | sort -u | \
/bin/grep -E -e '^ofono_' -e '^g_dbus_' > src/ofono.exp
/bin/sh: gdbus/mainloop.o: Permission denied
Reason:
In latest Makefile.am, $(NM) is used as below:
src/ofono.exp: $(src_ofonod_OBJECTS)
$(AM_V_GEN)$(NM) $^ | $(AWK) '{ print $$3 }' | sort -u | \
$(EGREP) -e '^ofono_' -e '^g_dbus_' > $@
The error shows that $(NM) wasn't substituted with correct value. $(NM) should be substituted by libtool, and my libtool is somewhat buggy to substitute it correctly. By the way, I'm using Fedora 10, and the libtool in it is version 1.5.26.
Solution (either one is OK):
1. Add "AC_SUBST(NM) " in configure.ac
2. Change your libtool. In file /usr/share/aclocal/libtool.m4, in section AC_PROG_NM, Add one line as below:
NM="$lt_cv_path_NM"
AC_SUBST([NM]) #This line is added
])# AC_PROG_NM
Regards,
-Yang
More information about the ofono
mailing list