1

I have been trying (unsuccessfully) to compile a Broadcom driver for use on my CentOS laptop. Previously, I had used the instructions located here to compile and it worked flawlessly.

Now, I cannot get the driver to compile. Admittedly the errors look like something I should be able to simply fix, however, I have not found a way to get it to work for me yet. Here is what I get when I run the rpmbuild on my laptop:

$rpmbuild --rebuild --target=`uname -m` wl-kmod-5_100_82_112-3.el6.elrepo.nosrc.rpm 
Installing wl-kmod-5_100_82_112-3.el6.elrepo.nosrc.rpm
warning: InstallSourcePackage at: psm.c:244: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY
warning: user ajb does not exist - using root
warning: group ajb does not exist - using root
warning: user ajb does not exist - using root
warning: group ajb does not exist - using root
warning: user ajb does not exist - using root
warning: group ajb does not exist - using root
Building target platforms: i686
Building for target i686
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.BX2aRY
+ umask 022
+ cd /home/jblair/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/jblair/rpmbuild/BUILD
+ rm -rf wl-kmod-5_100_82_112
+ /bin/mkdir -p wl-kmod-5_100_82_112
+ cd wl-kmod-5_100_82_112
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ cd /home/jblair/rpmbuild/BUILD
+ cd wl-kmod-5_100_82_112
+ /usr/bin/gzip -dc /home/jblair/rpmbuild/SOURCES/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /bin/sed -i 's/\/lib\/modules\/`uname -r`\/build/\"\${KSRC}\"/' Makefile
+ echo 'override wl * weak-updates/wl'
+ /bin/cat
+ /bin/cat
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.T8r6eV
+ umask 022
+ cd /home/jblair/rpmbuild/BUILD
+ cd wl-kmod-5_100_82_112
+ LANG=C
+ export LANG
+ unset DISPLAY
++ uname -r
+ /usr/bin/make KSRC=/usr/src/kernels/2.6.32-279.1.1.el6.i686
KBUILD_NOPEDANTIC=1 make -C "/usr/src/kernels/2.6.32-279.1.1.el6.i686" M=`pwd`
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.1.1.el6.i686'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  LD      /home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/built-in.o
  CC [M]  /home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/shared/linux_osl.o
  CC [M]  /home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_linux.o
  CC [M]  /home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_iw.o
  CC [M]  /home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.o
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:64: warning: 'enum tx_power_setting' declared inside parameter list
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1110: warning: 'enum tx_power_setting' declared inside parameter list
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1110: error: parameter 2 ('type') has incomplete type
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c: In function 'wl_cfg80211_set_tx_power':
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1123: error: 'TX_POWER_AUTOMATIC' undeclared (first use in this function)
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1123: error: (Each undeclared identifier is reported only once
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1123: error: for each function it appears in.)
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1125: error: 'TX_POWER_LIMITED' undeclared (first use in this function)
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1131: error: 'TX_POWER_FIXED' undeclared (first use in this function)
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c: At top level:
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1649: warning: initialization from incompatible pointer type
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1651: warning: initialization from incompatible pointer type
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1652: warning: initialization from incompatible pointer type
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1653: warning: initialization from incompatible pointer type
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1654: warning: initialization from incompatible pointer type
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1658: warning: initialization from incompatible pointer type
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c: In function 'wl_inform_single_bss':
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:1817: error: too few arguments to function 'ieee80211_channel_to_frequency'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c: In function 'wl_bss_roaming_done':
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 2 of 'cfg80211_roamed' from incompatible pointer type
include/net/cfg80211.h:3035: note: expected 'struct ieee80211_channel *' but argument is of type 'u8 *'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 4 of 'cfg80211_roamed' makes pointer from integer without a cast
include/net/cfg80211.h:3035: note: expected 'const u8 *' but argument is of type 's32'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 5 of 'cfg80211_roamed' makes integer from pointer without a cast
include/net/cfg80211.h:3035: note: expected 'size_t' but argument is of type 'u8 *'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 6 of 'cfg80211_roamed' makes pointer from integer without a cast
include/net/cfg80211.h:3035: note: expected 'const u8 *' but argument is of type 's32'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2117: error: too few arguments to function 'cfg80211_roamed'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c: In function 'wl_bss_connect_done':
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 2 of 'cfg80211_roamed' from incompatible pointer type
include/net/cfg80211.h:3035: note: expected 'struct ieee80211_channel *' but argument is of type 'u8 *'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 4 of 'cfg80211_roamed' makes pointer from integer without a cast
include/net/cfg80211.h:3035: note: expected 'const u8 *' but argument is of type 's32'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 5 of 'cfg80211_roamed' makes integer from pointer without a cast
include/net/cfg80211.h:3035: note: expected 'size_t' but argument is of type 'u8 *'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 6 of 'cfg80211_roamed' makes pointer from integer without a cast
include/net/cfg80211.h:3035: note: expected 'const u8 *' but argument is of type 's32'
/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.c:2149: error: too few arguments to function 'cfg80211_roamed'
make[2]: *** [/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112/src/wl/sys/wl_cfg80211.o] Error 1
make[1]: *** [_module_/home/jblair/rpmbuild/BUILD/wl-kmod-5_100_82_112] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.1.1.el6.i686'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.T8r6eV (%build)


RPM build errors:
    InstallSourcePackage at: psm.c:244: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY
    user ajb does not exist - using root
    group ajb does not exist - using root
    user ajb does not exist - using root
    group ajb does not exist - using root
    user ajb does not exist - using root
    group ajb does not exist - using root
    Bad exit status from /var/tmp/rpm-tmp.T8r6eV (%build)

Any help you can provide would be most appreciated. I will not have access to the box in question until this evening, but I should be able to answer most questions and will try any suggestions I receive as soon as I return from work tonight.

1

From what you've posted, it looks like there's a problem linking the wl_cfg80211.o file, possibly a library missing. Some of the other errors seem to imply you're missing a header/include file to define things to match the library.

2
  • Ah, well, that does not sound in my area of expertise. I was hoping that there would be something that would be mentioned and I can go, "Duh, I should have known that," and fixed it. Thanks for the info about the header/include file! Jul 13 '12 at 13:35
  • You might try finding the source code in a more conventional format, allowing the './configure; make; make install' compilation sequence. If nothing else, you'll at least get better error messages if something IS missing.
    – lornix
    Jul 13 '12 at 20:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.