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<[email protected]>