Skip to content

Can't load dtracedrv.ko; unknown symbols: ctf_init and ctf_exit #16

@msabramo

Description

@msabramo

I finally was able to build from the head of the github repo, but now I can't load the kernel module, dtracedrv.ko:

marca@ubuntu:~/src/dtrace4linux/newlinux$ make all
...
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/vminfo.c:46: warning: 'sdt_add_locator' defined but not used
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/vminfo.c:66: warning: 'vminfo_instr_callback' defined but not used
  CC [M]  /home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/x_call.o
  CC [M]  /home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/divmod64.o
  LD [M]  /home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/dtracedrv.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "ctf_exit" [/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/dtracedrv.ko] undefined!
WARNING: "ctf_init" [/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/dtracedrv.ko] undefined!
  CC      /home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/dtracedrv.mod.o
  LD [M]  /home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/dtracedrv.ko
tools/mkctf.sh
-rw-r--r-- 1 marca marca 96284 Feb 29 14:45 build/linux-2.6.32-38-generic.ctf
sync
marca@ubuntu:~/src/dtrace4linux/newlinux$ sudo make load
tools/load.pl
14:47:50 Syncing...
14:47:50 Loading: build-2.6.32-38-generic/driver/dtracedrv.ko
insmod: error inserting 'build-2.6.32-38-generic/driver/dtracedrv.ko': -1 Unknown symbol in module

An error was detected loading the driver. Refer to
/var/log/messages or 'dmesg' to see what the issue
might be. For your convenience, here is the last few
lines from /var/log/messages:

===== tail -10 /var/log/messages
Feb 29 08:56:13 ubuntu kernel: [   99.802095] __ratelimit: 21 callbacks suppressed
Feb 29 08:56:13 ubuntu kernel: [   99.802098] type=1503 audit(1330534573.088:18):  operation="capable" pid=10204 parent=10200 profile="/usr/sbin/cupsd" name="sys_admin"
Feb 29 09:37:17 ubuntu kernel: [ 2560.567424] eth0: link down
Feb 29 09:37:28 ubuntu kernel: [ 2571.083710] eth0: link up
Feb 29 09:37:50 ubuntu kernel: [ 2593.050661] eth0: link down
Feb 29 09:38:00 ubuntu kernel: [ 2603.033176] eth0: link up
Feb 29 14:44:29 ubuntu kernel: [17366.909133] dtracedrv: module license 'CDDL' taints kernel.
Feb 29 14:44:29 ubuntu kernel: [17366.909153] Disabling lock debugging due to kernel taint
Feb 29 14:44:29 ubuntu kernel: [17366.909966] dtracedrv: Unknown symbol ctf_init
Feb 29 14:44:29 ubuntu kernel: [17366.910294] dtracedrv: Unknown symbol ctf_exit
make: *** [load] Error 1

I wonder is this is a side-effect of the change I made to replace the various .o files with libctf.a. Perhaps libctf.a doesn't have all of those object files...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions