I got the iSCSI target compiled, installed and loaded against the 2.6.12 kernel at home without any bother.
I hooked up to the servers in the server farm down south, and it would not compile against the SMP version of the 2.6.12 kernel ... and I could not work out why. So for a couple of days we've been running the iSCSI target on a uniprocessor kernel while we've been testing.
I fired up VMWare on the laptop, and set up a Debian install here. Although the virtual machine only has one processor, I've given it the SMP kernel ... and the iSCSI target has compiled straight away, and the modules load without complaint. I've copied iscsi_trgt.ko over to the server farm ... and it loads without complaint.
So now we've got our iSCSI target running with the SMP kernel on the server ... and I've got no idea why it wasn't doing so before.
On the farm: linux 2.6.12-10 iscsitarget 0.4.11 gcc 4.0.1-2 binutils 2.16.1-2 module-init-tools 3.2-pre-8-1 | In VMware: linux 2.6.12-10 iscsitarget 0.4.11 gcc 4.0.2-2 binutils 2.16.1-2 module-init-tools 3.2-pre-8-1 |
Can it have been a very recent change in GCC?