I'm not sure you haven't vmidbg.o or I lost file vmidbg.o when I would like to compile your project by ubuntu 16.04.4 XEN 4.6.5 kernel 4.4.0-127-generic libVMI 0.12.0-rc3 GDB 7.11.1
root@server:/home/server/Downloads/vmidbg-master/src# ls
Makefile Makefile.am Makefile.in vmidbg.c vmidbg.h
root@server:/home/server/Downloads/vmidbg-master/src# make
gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -ggdb -g -O0 -MT vmidbg.o -MD -MP -MF .deps/vmidbg.Tpo -c -o vmidbg.o vmidbg.c
In file included from vmidbg.c:18:0:
/usr/local/include/libvmi/events.h:456:9: error: unknown type name ‘x86_registers_t’
x86_registers_t *x86_regs;
^
vmidbg.c: In function ‘get_executing_task’:
vmidbg.c:95:9: error: too many arguments to function ‘vmi_translate_ksym2v’
vmi_translate_ksym2v(vmi, "per_cpu__current_task", &per_cpu_current_tas
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:561:8: note: declared here
addr_t vmi_translate_ksym2v(
^
vmidbg.c:99:9: error: too many arguments to function ‘vmi_translate_ksym2v’
vmi_translate_ksym2v(vmi, "current_task", &per_cpu_current_task_offset)
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:561:8: note: declared here
addr_t vmi_translate_ksym2v(
^
vmidbg.c: In function ‘gdb_step_notify’:
vmidbg.c:399:9: warning: ‘return’ with no value, in function returning non-void
return;
^
vmidbg.c:405:9: warning: ‘return’ with no value, in function returning non-void
return;
^
vmidbg.c: In function ‘gdb_bp_notify’:
vmidbg.c:435:9: warning: ‘return’ with no value, in function returning non-void
return;
^
vmidbg.c:441:9: warning: ‘return’ with no value, in function returning non-void
return;
^
vmidbg.c:460:9: warning: ‘return’ with no value, in function returning non-void
return;
^
vmidbg.c: In function ‘vmi_regs_to_gdb’:
vmidbg.c:505:2: warning: #warning libvmi needs 32bit registers defined [-Wcpp]
warning libvmi needs 32bit registers defined
^
vmidbg.c: In function ‘gdb_rsp_interrupt_sequence’:
vmidbg.c:608:9: error: too many arguments to function ‘vmi_get_offset’
vmi_get_offset(ctx->vmi, "linux_pid", &pid_offset);
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:1609:10: note: declared here
uint64_t vmi_get_offset(
^
vmidbg.c:609:9: error: too many arguments to function ‘vmi_get_offset’
vmi_get_offset(ctx->vmi, "linux_tasks", &tasks_offset);
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:1609:10: note: declared here
uint64_t vmi_get_offset(
^
vmidbg.c:611:9: error: too many arguments to function ‘vmi_translate_ksym2v’
vmi_translate_ksym2v(ctx->vmi, "init_task", &list_head);
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:561:8: note: declared here
addr_t vmi_translate_ksym2v(
^
vmidbg.c: In function ‘gdb_rsp_read_mem’:
vmidbg.c:732:40: warning: passing argument 4 of ‘vmi_read_va’ makes pointer from integer without a cast [-Wint-conversion]
vmi_read_va(ctx->vmi, mem_addr, 0, mem_size, vmibuf, &bytes_read);
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:783:8: note: expected ‘void ’ but argument is of type ‘size_t {aka long unsigned int}’
size_t vmi_read_va(
^
vmidbg.c:732:50: warning: passing argument 5 of ‘vmi_read_va’ makes integer from pointer without a cast [-Wint-conversion]
vmi_read_va(ctx->vmi, mem_addr, 0, mem_size, vmibuf, &bytes_read);
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:783:8: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘uint8_t {aka unsigned char *}’
size_t vmi_read_va(
^
vmidbg.c:732:5: error: too many arguments to function ‘vmi_read_va’
vmi_read_va(ctx->vmi, mem_addr, 0, mem_size, vmibuf, &bytes_read);
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:783:8: note: declared here
size_t vmi_read_va(
^
vmidbg.c: In function ‘gdb_rsp_get_query’:
vmidbg.c:837:43: error: too many arguments to function ‘vmi_get_page_mode’
vmi_get_ostype(ctx->vmi), vmi_get_page_mode(ctx->vmi, 0));
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:1540:13: note: declared here
page_mode_t vmi_get_page_mode(
^
vmidbg.c: In function ‘main’:
vmidbg.c:1631:39: error: ‘VMI_INIT_DOMAINNAME’ undeclared (first use in this function)
if (vmi_init_complete(&vmi, name, VMI_INIT_DOMAINNAME | VMI_INIT_EVENTS,
^
vmidbg.c:1631:39: note: each undeclared identifier is reported only once for each function it appears in
vmidbg.c:1631:9: error: too many arguments to function ‘vmi_init_complete’
if (vmi_init_complete(&vmi, name, VMI_INIT_DOMAINNAME | VMI_INIT_EVENTS,
^
In file included from vmidbg.c:17:0:
/usr/local/include/libvmi/libvmi.h:477:10: note: declared here
status_t vmi_init_complete(
^
Makefile:351: recipe for target 'vmidbg.o' failed
make: *** [vmidbg.o] Error 1
root@server:/home/server/Downloads/vmidbg-master/src# ls
Makefile Makefile.am Makefile.in vmidbg.c vmidbg.h
Please upgrade and reinstall LibVMI, because vmidbg will not work with older versions of it. Use the latest version from https://github.com/libvmi/libvmi, install it, and then vmidbg will build for you.
I'm not sure you haven't vmidbg.o or I lost file vmidbg.o when I would like to compile your project by ubuntu 16.04.4 XEN 4.6.5 kernel 4.4.0-127-generic libVMI 0.12.0-rc3 GDB 7.11.1
root@server:/home/server/Downloads/vmidbg-master/src# ls Makefile Makefile.am Makefile.in vmidbg.c vmidbg.h root@server:/home/server/Downloads/vmidbg-master/src# make gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -ggdb -g -O0 -MT vmidbg.o -MD -MP -MF .deps/vmidbg.Tpo -c -o vmidbg.o vmidbg.c In file included from vmidbg.c:18:0: /usr/local/include/libvmi/events.h:456:9: error: unknown type name ‘x86_registers_t’ x86_registers_t *x86_regs; ^ vmidbg.c: In function ‘get_executing_task’: vmidbg.c:95:9: error: too many arguments to function ‘vmi_translate_ksym2v’ vmi_translate_ksym2v(vmi, "per_cpu__current_task", &per_cpu_current_tas ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:561:8: note: declared here addr_t vmi_translate_ksym2v( ^ vmidbg.c:99:9: error: too many arguments to function ‘vmi_translate_ksym2v’ vmi_translate_ksym2v(vmi, "current_task", &per_cpu_current_task_offset) ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:561:8: note: declared here addr_t vmi_translate_ksym2v( ^ vmidbg.c: In function ‘gdb_step_notify’: vmidbg.c:399:9: warning: ‘return’ with no value, in function returning non-void return; ^ vmidbg.c:405:9: warning: ‘return’ with no value, in function returning non-void return; ^ vmidbg.c: In function ‘gdb_bp_notify’: vmidbg.c:435:9: warning: ‘return’ with no value, in function returning non-void return; ^ vmidbg.c:441:9: warning: ‘return’ with no value, in function returning non-void return; ^ vmidbg.c:460:9: warning: ‘return’ with no value, in function returning non-void return; ^ vmidbg.c: In function ‘vmi_regs_to_gdb’: vmidbg.c:505:2: warning: #warning libvmi needs 32bit registers defined [-Wcpp]
warning libvmi needs 32bit registers defined
^ vmidbg.c: In function ‘gdb_rsp_interrupt_sequence’: vmidbg.c:608:9: error: too many arguments to function ‘vmi_get_offset’ vmi_get_offset(ctx->vmi, "linux_pid", &pid_offset); ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:1609:10: note: declared here uint64_t vmi_get_offset( ^ vmidbg.c:609:9: error: too many arguments to function ‘vmi_get_offset’ vmi_get_offset(ctx->vmi, "linux_tasks", &tasks_offset); ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:1609:10: note: declared here uint64_t vmi_get_offset( ^ vmidbg.c:611:9: error: too many arguments to function ‘vmi_translate_ksym2v’ vmi_translate_ksym2v(ctx->vmi, "init_task", &list_head); ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:561:8: note: declared here addr_t vmi_translate_ksym2v( ^ vmidbg.c: In function ‘gdb_rsp_read_mem’: vmidbg.c:732:40: warning: passing argument 4 of ‘vmi_read_va’ makes pointer from integer without a cast [-Wint-conversion] vmi_read_va(ctx->vmi, mem_addr, 0, mem_size, vmibuf, &bytes_read); ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:783:8: note: expected ‘void ’ but argument is of type ‘size_t {aka long unsigned int}’ size_t vmi_read_va( ^ vmidbg.c:732:50: warning: passing argument 5 of ‘vmi_read_va’ makes integer from pointer without a cast [-Wint-conversion] vmi_read_va(ctx->vmi, mem_addr, 0, mem_size, vmibuf, &bytes_read); ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:783:8: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘uint8_t {aka unsigned char *}’ size_t vmi_read_va( ^ vmidbg.c:732:5: error: too many arguments to function ‘vmi_read_va’ vmi_read_va(ctx->vmi, mem_addr, 0, mem_size, vmibuf, &bytes_read); ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:783:8: note: declared here size_t vmi_read_va( ^ vmidbg.c: In function ‘gdb_rsp_get_query’: vmidbg.c:837:43: error: too many arguments to function ‘vmi_get_page_mode’ vmi_get_ostype(ctx->vmi), vmi_get_page_mode(ctx->vmi, 0)); ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:1540:13: note: declared here page_mode_t vmi_get_page_mode( ^ vmidbg.c: In function ‘main’: vmidbg.c:1631:39: error: ‘VMI_INIT_DOMAINNAME’ undeclared (first use in this function) if (vmi_init_complete(&vmi, name, VMI_INIT_DOMAINNAME | VMI_INIT_EVENTS, ^ vmidbg.c:1631:39: note: each undeclared identifier is reported only once for each function it appears in vmidbg.c:1631:9: error: too many arguments to function ‘vmi_init_complete’ if (vmi_init_complete(&vmi, name, VMI_INIT_DOMAINNAME | VMI_INIT_EVENTS, ^ In file included from vmidbg.c:17:0: /usr/local/include/libvmi/libvmi.h:477:10: note: declared here status_t vmi_init_complete( ^ Makefile:351: recipe for target 'vmidbg.o' failed make: *** [vmidbg.o] Error 1 root@server:/home/server/Downloads/vmidbg-master/src# ls Makefile Makefile.am Makefile.in vmidbg.c vmidbg.h