Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 45740 - insmod failed for alsa-drivers because of unresolved symbol strlcpy
Summary: insmod failed for alsa-drivers because of unresolved symbol strlcpy
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High minor (vote)
Assignee: Jeremy Huddleston (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-25 13:28 UTC by fasa
Modified: 2004-03-27 00:16 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fasa 2004-03-25 13:28:02 UTC
hello there,

First I don't know if these is a bug or something with my configuration.

I upgrade my kernel to 2.4.25 lately and add to update alsa my alsa-driver.

When I build the alsa-driver (version0.9.8) I get the following warning :
- "implicit declaration of strlcpy"

but the alsa-drivers build correctly.

When I try to start alsasound i get the following :
siri init.d # ./alsasound start
 * Loading ALSA drivers...
 * Loading: snd-seq-oss
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/           kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-           gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-seq-oss failed
 * Loading: snd-pcm-oss
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/           kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-           gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-pcm-oss failed
 * Loading: snd-mixer-oss
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/           kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-           gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-mixer-oss failed
 * Loading: snd-cmipci
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/           kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-           gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-cmipci failed

After that I try to look on the warning problem (implicit declaration of strlcpy.) Actually there was no definition ins tring.h of strlcpy.

I thought that my headers where out of date so I update it to linux-headers-2.4.25 and rebuild glibc and restrat the whole process (
emerge alsa-driver
alsasound start ...)

But I still do have the same problem.

Where does that came from ?


Reproducible: Always
Steps to Reproduce:
1. su -
2. emerge alsa-driver-0.9.8
3. cd /etc/init.d/
3. ./alsasound start

Actual Results:  
* Loading ALSA drivers...
 * Loading: snd-seq-oss
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/
          kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-
          gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-seq-oss failed
 * Loading: snd-pcm-oss
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/
          kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-
          gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-pcm-oss failed
 * Loading: snd-mixer-oss
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/
          kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-
          gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-mixer-oss failed
 * Loading: snd-cmipci
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: /lib/modules/2.4.25-gentoo/
          kernel/sound/acore/snd.o: unresolved symbol strlcpy
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod /lib/modules/2.4.25-
          gentoo/kernel/sound/acore/snd.o failed
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o: insmod snd-cmipci failed



Expected Results:  
no insmod error.

siri init.d # emerge info
Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.25-gentoo)
=================================================================
System uname: 2.4.25-gentoo i686 AMD Athlon(TM) XP 2200+
Gentoo Base System version 1.4.3.13
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.7.7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer -w"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config
/usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer -w"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache sandbox"
GENTOO_MIRRORS="http://gentoo.inode.at/ ftp://gentoo.inode.at/source/
ftp://gentoo.linux.no/pub/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib acpi acpi4linux alsa avi berkdb bluetooth cdr crypt doc dvd emacs
encode esd foomaticdb gdbm gif gtk gtk2 imlib java jikes jpeg ldap libg++ libwww
mad mbox motif moznocompose moznoirc moznomail mpeg ncurses nls oggvorbis opengl
oss pam perl png python qt quicktime readline samba sdl slang spell ssl svga
tcltk tcpd tetex tiff truetype usb x86 xml2 xmms xv zlib"



depmod -a gives :
siri init.d # depmod -a
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/oss/snd-mixer-oss.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/oss/snd-seq-oss.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/snd-seq-device.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/snd-seq-instr.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/snd-seq.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-hwdep.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-pcm.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-rawmidi.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-timer.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/drivers/opl3/snd-opl3-synth.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/i2c/snd-i2c.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/isa/ad1848/snd-ad1848-lib.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/isa/sb/snd-sb-common.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/isa/sb/snd-sb16-csp.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/isa/snd-sscape.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/pci/emu10k1/snd-emu10k1.o
depmod: *** Unresolved symbols in
/lib/modules/2.4.25-gentoo/kernel/sound/usb/snd-usb-audio.o
Comment 1 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-26 09:18:52 UTC
I don't use 0.9.8, and we're going to be moving 1.0.3 into stable soon, so could you try installing alsa-driver-1.0.3 to see if that fixes the problem?

/lib/modules/2.4.25-gentoo/kernel/sound/acore $ readelf -s snd.o | grep strlcpy
   391: 000060c0    99 FUNC    GLOBAL DEFAULT    1 snd_compat_strlcpy_Rb4409
Comment 2 fasa 2004-03-26 10:15:19 UTC
No this doesn't solve the problem

I keep geeting the strlcpy warning for example:
In file included from seq_instr.c:1:
../../alsa-kernel/core/seq/seq_instr.c: In function `instr_put':
../../alsa-kernel/core/seq/seq_instr.c:481: warning: implicit declaration of function `strlcpy'

depmod gives :
siri alsa-driver # depmod -a
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/oss/snd-mixer-oss.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/oss/snd-seq-oss.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/snd-seq-device.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/snd-seq-instr.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/seq/snd-seq.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-hwdep.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-pcm.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-rawmidi.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/snd-timer.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/acore/snd.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/drivers/opl3/snd-opl3-synth.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/i2c/other/snd-ak4117.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/i2c/snd-i2c.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/isa/ad1848/snd-ad1848-lib.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/isa/sb/snd-sb-common.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/isa/sb/snd-sb16-csp.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/isa/snd-sscape.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/pci/emu10k1/snd-emu10k1.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/usb/snd-usb-audio.o
depmod: *** Unresolved symbols in /lib/modules/2.4.25-gentoo/kernel/sound/usb/us428/snd-usb-us428.


I alsao checked my kernel config. In the sound section I only have the "sound card support" in module that's all ...

readelf give's :
siri acore # readelf -s snd.o | grep strlcpy
   306: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND strlcpy
Comment 3 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-26 12:20:21 UTC
Do you have CONFIG_HAVE_STRLCPY in config.h?

/var/tmp/portage/alsa-driver-1.0.3/work/alsa-driver-1.0.3/include $ grep -C 5 strlcpy *
adriver.h-#ifndef MODULE_LICENSE
adriver.h-#define MODULE_LICENSE(license)
adriver.h-#endif
adriver.h-
adriver.h-#ifndef CONFIG_HAVE_STRLCPY
adriver.h:size_t snd_compat_strlcpy(char *dest, const char *src, size_t size);
adriver.h:#define strlcpy(dest, src, size) snd_compat_strlcpy(dest, src, size)
adriver.h-size_t snd_compat_strlcat(char *dest, const char *src, size_t size);
adriver.h-#define strlcat(dest, src, size) snd_compat_strlcat(dest, src, size)
adriver.h-#endif
adriver.h-
adriver.h-#ifndef CONFIG_HAVE_SNPRINTF
Comment 4 fasa 2004-03-27 00:15:28 UTC
In config.h I have:
#define CONFIG_HAVE_STRLCPY 1



my config log show the following:

configure:5187: checking for strlcpy
configure:5216: gcc -c -Wall -Werror -march=i686 -O3 -pipe -fomit-frame-pointer 
-w -I/usr/src/linux/include   conftest.c >&5
configure:5219: $? = 0
configure:5222: test -s conftest.o
configure:5225: $? = 0
configure:5227: result: "yes"




But I have found where the bug does come from. This so dumb that I should thought of it...

When I compile i use the flag "-w". According to gcc :
"-w Inhibit all warning messages."

I did tehc ommand line manually "configure:5216: gcc -c -Wall -Werror -march=i686 -O3 -pipe -fomit-frame-pointer 
-w -I/usr/src/linux/include   conftest.c "

effectively -w inhibit all warnings but it also change the return value !!!!

If i remove the -w switch everething works correctly.
Sorry for wasting your time :(

Comment 5 fasa 2004-03-27 00:16:25 UTC
It's fixed now has told above ... Because og the -w flag of gcc