diff --git a/Makefile b/Makefile
index 6037dea8b2ec1461a6e219e900e5931a9907fcb6..0b3d88194b5a79d0d4934d0592240d5d2661748d 100644
--- a/Makefile
+++ b/Makefile
@@ -225,10 +225,12 @@ ifeq ($(OSARCH),Linux)
 endif
 
 GREP=grep
+ID=id
 
 ifeq ($(OSARCH),SunOS)
   GREP=/usr/xpg4/bin/grep
   M4=/usr/local/bin/m4
+  ID=/usr/xpg4/bin/id
 endif
 
 INCLUDE+=-Iinclude -I../include
@@ -554,7 +556,7 @@ clean: clean-depend
 	$(MAKE) -C stdtime clean
 
 datafiles: all
-	if [ x`id -un` = xroot ]; then sh build_tools/mkpkgconfig $(DESTDIR)/usr/lib/pkgconfig; fi
+	if [ x`$(ID) -un` = xroot ]; then sh build_tools/mkpkgconfig $(DESTDIR)/usr/lib/pkgconfig; fi
 	mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/digits
 	mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/priv-callerintros
 	for x in sounds/digits/*.gsm; do \
diff --git a/build_tools/make_build_h b/build_tools/make_build_h
index a9b04198564c9009d61ad5c8af2d88d42044cca9..167785340e9c8ac4b0e7b168356f8c127469a9e4 100755
--- a/build_tools/make_build_h
+++ b/build_tools/make_build_h
@@ -3,7 +3,11 @@ HOSTNAME=`uname -n`
 KERNEL=`uname -r`
 MACHINE=`uname -m`
 OS=`uname -s`
-USER=`id -un`
+if [ `uname -s` = "SunOS" ]; then
+  USER=`/usr/xpg4/bin/id -un`
+else
+  USER=`id -un`
+fi
 DATE=`date -u "+%Y-%m-%d %H:%M:%S"`
 cat << END
 /*