GNOME Bugzilla – Bug 743480
networkmanager-1.0.0: configure fails if /bin/sh is not bash
Last modified: 2015-03-02 08:08:38 UTC
checking for QT... yes checking for moc-qt4... no checking for moc... moc configure: error: --with-udev-dir must be an absolute path or 'yes' or 'no'. Instead it is '/lib/udev' I have /bin/sh that points to dash and CONFIG_SHELL set to /bin/dash. configure.ac has an "echo -n" on line 305: if (test "$with_udev_dir" != 'yes' && echo -n "$with_udev_dir" | grep -v -q '^/'); then Replacing it with printf '%s' works Thanks a lot!
Can you elaborate on the error you see? (ln -snf /bin/dash ./sh; export PATH=".:$PATH"; export CONFIG_SHELL=/bin/dash; ./configure --with-udev-dir=/x) fails for me with: checking for gobject-introspection... yes checking for QT... yes checking for moc-qt4... moc-qt4 checking for SYSTEMD_200... yes checking for SYSTEMD_LOGIN... yes ./configure: 21343: ./configure: Bad substitution What is wrong with "echo -n" -- except being unsafe if $with_udev_dir starts with a '-'?
changed echo to printf: http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=a6aacde469605ed7485ea096dd78b53dded583ab still wondering why this caused problems... and there is still the failure: checking for SYSTEMD_LOGIN... yes ./configure: 21343: ./configure: Bad substitution
Thomas, sorry for the wait. Unfortunately, I can't reproduce your failure. NM now correctly works with dash here. Maybe it's due to some confiure option we (gentoo) aren't setting? Time will tell, I guess. Thanks
master branch had another failure: http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=2c96ac73be253f251a0dd48db66d30cb6bb69e8a AFAIS, configure works now with dash. I close this issue, let's open a new bz for further issues. Thanks Rémi