1 2 Previous Next 20 Replies Latest reply on Feb 6, 2013 7:15 AM by AK_____28

    GPL Components - Build ESX Drivers?

    nick.couchman Champion

       

      I recently downloaded the GPL components from the VMware VI3 download site.  One of the tarballs in that file is the Open Source pieces of the ESX drivers.  Along with this is a script called build-vmkdrivers.sh.  I've tried running this script, and it results in many, many errors and absolutely no correct builds.  I'm running it on a CentOS 3.9 system, similar to the RHEL3 base that is used for the Service Console, and I've tried using GCC 3.2.3 (included in CentOS3) and GCC 3.3.6, to no avail.  Here's a very small sample of the types of errors I get:

       

       

       

        •   Compiling        drivers/block/cciss/cciss.c

      In file included from src/include/linux/module.h:11,

                       from src/drivers/block/cciss/cciss.c:24:

      src/include/linux/spinlock.h:124: error: syntax error before '*' token

      src/include/linux/spinlock.h: In function `vmk_spin_is_locked_by_my_cpu':

      src/include/linux/spinlock.h:126: error: `lock' undeclared (first use in this function)

      src/include/linux/spinlock.h:126: error: (Each undeclared identifier is reported only once

      src/include/linux/spinlock.h:126: error: for each function it appears in.)

      In file included from src/include/linux/module.h:11,

                       from src/drivers/block/cciss/cciss.c:24:

      src/include/linux/spinlock.h: At top level:

      src/include/linux/spinlock.h:230: error: syntax error before "spinlock_t"

      In file included from src/include/linux/module.h:11,

                       from src/drivers/block/cciss/cciss.c:24:

      src/include/linux/spinlock.h:237: error: syntax error before "spinlock_t"

      src/include/linux/spinlock.h:239: error: syntax error before '}' token

      In file included from src/include/linux/fs.h:12,

                       from src/include/linux/capability.h:17,

                       from src/include/linux/binfmts.h:4,

                       from src/include/linux/sched.h:10,

                       from src/include/linux/mm.h:22,

                       from src/include/linux/slab.h:14,

                       from src/drivers/block/cciss/cciss.c:29:

      src/include/linux/wait.h:90: error: syntax error before "spinlock_t"

      src/include/linux/wait.h:102: error: syntax error before '}' token

      src/include/linux/wait.h: In function `init_waitqueue_head':

      src/include/linux/wait.h:194: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h:205: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h: In function `waitqueue_active':

      src/include/linux/wait.h:253: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h: In function `__add_wait_queue':

      src/include/linux/wait.h:266: error: dereferencing pointer to incomplete type

      src/include/linux/wait.h: In function `__add_wait_queue_tail':

      src/include/linux/wait.h:283: error: dereferencing pointer to incomplete type

       

       

      I've also tried building these in the service console on one of my ESX hosts, but I get similar errors:

       

       

       

        •   Compiling        drivers/block/cciss/cciss.c

      In file included from src/include/linux/module.h:11,

                       from src/drivers/block/cciss/cciss.c:24:

      src/include/linux/spinlock.h:124: syntax error before '*' token

      src/include/linux/spinlock.h: In function `vmk_spin_is_locked_by_my_cpu':

      src/include/linux/spinlock.h:126: `lock' undeclared (first use in this function)

      src/include/linux/spinlock.h:126: (Each undeclared identifier is reported only once

      src/include/linux/spinlock.h:126: for each function it appears in.)

      In file included from src/include/linux/module.h:11,

                       from src/drivers/block/cciss/cciss.c:24:

      src/include/linux/spinlock.h: At top level:

      src/include/linux/spinlock.h:230: syntax error before "spinlock_t"

      In file included from src/include/linux/module.h:11,

                       from src/drivers/block/cciss/cciss.c:24:

      src/include/linux/spinlock.h:237: syntax error before "spinlock_t"

      src/include/linux/spinlock.h:239: syntax error before '}' token

      In file included from src/include/linux/fs.h:12,

                       from src/include/linux/capability.h:17,

                       from src/include/linux/binfmts.h:4,

                       from src/include/linux/sched.h:10,

                       from src/include/linux/mm.h:22,

                       from src/include/linux/slab.h:14,

                       from src/drivers/block/cciss/cciss.c:29:

      src/include/linux/wait.h:90: syntax error before "spinlock_t"

      src/include/linux/wait.h:102: syntax error before '}' token

      src/include/linux/wait.h: In function `init_waitqueue_head':

      src/include/linux/wait.h:194: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: dereferencing pointer to incomplete type

      src/include/linux/wait.h:199: dereferencing pointer to incomplete type

      src/include/linux/wait.h:205: dereferencing pointer to incomplete type

      src/include/linux/wait.h: In function `waitqueue_active':

      src/include/linux/wait.h:253: dereferencing pointer to incomplete type

      src/include/linux/wait.h: In function `__add_wait_queue':

      src/include/linux/wait.h:266: dereferencing pointer to incomplete type

      src/include/linux/wait.h: In function `__add_wait_queue_tail':

      src/include/linux/wait.h:283: dereferencing pointer to incomplete type

       

       

       

       

       

      I was wondering if anyone has successfully built these drivers from the provided source, or if you're even supposed to be able to build from these sources, and how, or if providing this is just VMware complying with a formality and you're not really supposed to be able to do anything with those sources?

       

       

      Thanks - Nick

       

       

        1 2 Previous Next