Guys thank you for your patience. I realize the problem is my MIG was not up to date. A few days ago I compiled an old version MIG from source and used it. So I removed the old one and installed the latest MIG from apt.
The following instructions suggested by jbranso works fine: $ apt get build-dep gnumach hurd $ apt source gnumach $ apt source hurd $ cd hurd directory; autoreconf --install; ./configure; make --- When I tried to compile hurd repo from the latest tree by using the following commands, it failed: $ git clone git://git.savannah.gnu.org/hurd/hurd.git $ autoreconf --install $ ./configure && make Additional information: ``` $ sudo apt build-dep hurd Reading package lists... Done Reading package lists... Done Building dependency tree... Done Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. $ mig --version i686-gnu-mig (GNU MIG) 1.8+git20230520 ``` Errors: ``` start-translator-long.c:42:3: error: unknown type name 'mach_port_name_inlined_t' 42 | mach_port_name_inlined_t control_port; | ^~~~~~~~~~~~~~~~~~~~~~~~ start-translator-long.c:51:3: error: unknown type name 'mach_port_name_inlined_t' 51 | mach_port_name_inlined_t realnode; | ^~~~~~~~~~~~~~~~~~~~~~~~ start-translator-long.c: In function 'service_fsys_startup': start-translator-long.c:79:31: error: 'mach_port_name_inlined_t' undeclared (first use in this function); did you mean 'mach_port_name_array_t'? 79 | .msgt_size = 8 * sizeof(mach_port_name_inlined_t), | ^~~~~~~~~~~~~~~~~~~~~~~~ | mach_port_name_array_t start-translator-long.c:79:31: note: each undeclared identifier is reported only once for each function it appears in start-translator-long.c:160:46: error: request for member 'name' in something not a structure or union 160 | *control = request.startup.control_port.name; | ^ start-translator-long.c:164:47: error: request for member 'name' in something not a structure or union 164 | &reply.realnode.name, &realnode_type, task, | ^ start-translator-long.c:170:43: error: request for member 'name' in something not a structure or union 170 | if (!reply.RetCode && reply.realnode.name != MACH_PORT_NULL) | ^ start-translator-long.c:183:60: error: request for member 'name' in something not a structure or union 183 | mach_port_deallocate (mach_task_self (), reply.realnode.name); | ^ ``` -- Zhaoming Luo<zhaoming1...@qq.com>