anyc / snd-bcd2000

Linux driver for the Behringer BCD2000 DJ controller
GNU General Public License v2.0
24 stars 5 forks source link

nothing to be done for 'all' #2

Closed teteric closed 10 years ago

teteric commented 10 years ago

Hi Anyc,

I can not make it work, $make: Nothing to be done for 'all' What have I have done sofar: sudo apt-get install build-essential linux-headers-3.11.0-20-generic sudo apt-get install linux-source make and gcc are installed.

Then I have a question as it is the first time for me to compile the kernel: you wrote 'assure that kernel sources are available under: /lib/modules/$(shell uname -r)/build', how can it be done?

An other question: you wrote: 'Dependencies: snd_usbmidi_lib snd_rawmidi' but what exactly should be done ?

Thanks in advance

anyc commented 10 years ago

Hi teteric,

you don't have to compile the whole kernel yourself. It is sufficient If the kernel headers for your current kernel are installed under the /lib/modules directory. With installing the linux-headers package that should be done. Did you issue "make" in the bcd2000 folder?

Those are other modules required by this module. If people compile the whole kernel themselves they have to ensure that these modules are built as well. Else you get an error as I described in the "If it doesn't work" section.

anyc commented 10 years ago

Almost forgot: if you're using Ubuntu (or Debian), using DKMS might be better as it rebuilds the module for you if you install a new kernel.

teteric commented 10 years ago

x@y:~/Desktop/snd-bcd2000$ ls bcd2000.c dkms.conf Makefile README.md

x@y:~/Desktop/snd-bcd2000$ cat Makefile obj-m := snd-bcd2000.o snd-bcd2000-objs := bcd2000.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

x@y:~/Desktop/snd-bcd2000$ make make: Nothing to be done for `all'. x@y:~/Desktop/snd-bcd2000$

teteric commented 10 years ago

1) I am using ubuntu.

2)I followed the link you v provided for DKMS, sounded interesting but their dkms.conf is more detailed compared to the one you provided, so I gave up because I don't know if and how I should modify it. MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build" CLEAN="make -C src/ clean" BUILT_MODULE_NAME=awesome BUILT_MODULE_LOCATION=src/ PACKAGE_NAME=awesome PACKAGE_VERSION=1.1 REMAKE_INITRD=yes

anyc commented 10 years ago

Hm, okay, I have no idea why it doesn't build. It works for me with the commands you listed.

It should work with the dkms.conf I included in the repository.

teteric commented 10 years ago

I have Just find out it should be a tab after all: in the makefile, now it is ok...

teteric commented 10 years ago

Success!

Sofar what I did is manage to make it work without dkms: x@y:~/Desktop/snd-bcd2000$ make x@y:~/Desktop/snd-bcd2000$ sudo insmod snd-usb-bcd2000.ko

x@y:~/Desktop/snd-bcd2000$ dmesg (last line) [ 7242.726532] usbcore: registered new interface driver snd-bcd2000

x@y:~/Desktop/snd-bcd2000$ lsmod Module Size Used by snd_bcd2000 13596 0

then I have pluged the controler and: x@y:~/Desktop/snd-bcd2000$ amidi -l Dir Device Name IO hw:1,0 BCD2000

thanks for your help