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>

Reply via email to