[alsa-devel] aplay: can't resolve symbol 'snd_dlsym_start
John Utz
john.utz at dmx.com
Tue Mar 11 22:31:40 CET 2008
On Tue, 11 Mar 2008 13:43:35 -0700
"Pharaoh ." <pharaoh137 at gmail.com> wrote:
> On Tue, Mar 11, 2008 at 10:32 AM, John Utz <john.utz at dmx.com> wrote:
>
> > On Mon, 10 Mar 2008 16:41:03 -0700
> > "Pharaoh ." <pharaoh137 at gmail.com> wrote:
> >
> > > On Mon, Mar 10, 2008 at 3:03 PM, Pharaoh . <pharaoh137 at gmail.com>
> > > wrote:
> > > >
> > > > On Mon, Mar 10, 2008 at 1:58 PM, John Utz <john.utz at dmx.com>
> > > > wrote:
> > > > > here's some places to start:
> > > > >
> > > > > did you compile the lib as static but the app as shared or
> > > > > vice versa?
> > > > >
> > > > > also, do an ldd on our libasound.so and see if it wants
> > > > > libdl:
> > > > >
> > > > > utz-gnto64 NewProD # ldd /usr/lib/libasound.so
> > > > > libm.so.6 => /lib/libm.so.6 (0x00002acc4444d000)
> > > > > libdl.so.2 => /lib/libdl.so.2 (0x00002acc446ce000)
> > > > > libpthread.so.0 => /lib/libpthread.so.0
> > > > > (0x00002acc448d2000) libc.so.6 => /lib/libc.so.6
> > > > > (0x00002acc44aee000) /lib64/ld-linux-x86-64.so.2
> > > > > (0x0000555555554000) jutz-gnto64 NewProD #
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Mon, 10 Mar 2008 13:41:10 -0700
> > > > > "Pharaoh ." <pharaoh137 at gmail.com> wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I have written an user space plugin and the plugin shared
> > > > > > library is copied on board
> > > > > > appropriately, libasound.so is also copied.
> > > > > >
> > > > > >
> > > > > > When I try:
> > > > > >
> > > > > > #aplay -D omx test.wav //omx is my plugin
> > > > > >
> > > > > > I get following error:
> > > > > >
> > > > > > aplay: can't resolve symbol 'snd_dlsym_start
> > > > > >
> > > > > >
> > > > > > Any idea what is the problem?
> > > > > >
> > > > > > -pharaoh
> > > > > > _______________________________________________
> > > > > > Alsa-devel mailing list
> > > > > > Alsa-devel at alsa-project.org
> > > > > > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> > > > > >
> > > > >
> > > > >
> > > >
> > > > I have compiled both alsa-lib and alsa-utils as shared
> > > > libraries. After doing ldd, I can see that it needs libdl.so
> > > > and it is present on the board. Let me try with a clean build
> > > > again.
> > > >
> > >
> > > Still no luck, I get the same error. Is there any way by which I
> > > can find out list of unresolved sumbols in a shared library?
> > >
> >
> > nm -D /usr/lib/libasound.so | grep U
> >
> >
> I get this, when I run nm on my alsa-lib which is used on board.
> U __addsf3
> U __assert
> U __ctype_b
> U __ctype_tolower
> U __eqsf2
> U __errno_location
> U __fgetc_unlocked
> U __fixdfsi
> U __fixsfsi
> U __floatsisf
> U __fputc_unlocked
> U __gesf2
> U __gtsf2
> U __lesf2
> U __ltsf2
> U __nesf2
> U _exit
> U accept
> U access
> U atof
> U atoi
> U atol
> U bind
> U bsearch
> U calloc
> U ceil
> U chmod
> U chown
> U close
> U closedir
> U connect
> U dladdr
> U dlclose
> U dlopen
> U dlsym
> U exit
> U exp
> U fclose
> U fcntl
> U fflush
> U ffs
> U fgetc
> U fgets
> U floor
> U fmod
> U fopen
> U fork
> U fprintf
> U fputc
> U fputs
> U free
> U fwrite
> U getenv
> U getgrnam
> U gethostbyname
> U getpid
> U gettimeofday
> U getuid
> U ioctl
> U listen
> U localeconv
> U log
> U log10
> U lseek
> U malloc
> U memcmp
> U memcpy
> U memmove
> U memset
> U mlock
> U mmap
> U munmap
> U nanosleep
> U open
> U opendir
> U pipe
> U poll
> U pow
> U pthread_cond_destroy
> U pthread_cond_init
> U pthread_cond_signal
> U pthread_cond_wait
> U pthread_create
> U pthread_join
> U pthread_mutex_destroy
> U pthread_mutex_init
> U pthread_mutex_lock
> U pthread_mutex_trylock
> U pthread_mutex_unlock
> U qsort
> U raise
> U read
> U readdir
> U realloc
> U recvmsg
> U rintf
> U sched_yield
> U semctl
> U semget
> U semop
> U sendmsg
> U setlocale
> U setsid
> U setsockopt
> U shmat
> U shmctl
> U shmdt
> U shmget
> U sigaction
> U sigemptyset
> U signal
> U snprintf
> U socket
> U socketpair
> U sprintf
> U sqrt
> U sqrtf
> U sscanf
> U stat
> U stderr
> U stdout
> U strcasecmp
> U strcat
> U strchr
> U strcmp
> U strcpy
> U strcspn
> U strdup
> U strerror
> U strlen
> U strncmp
> U strncpy
> U strpbrk
> U strrchr
> U strtod
> U strtol
> U sysconf
> U ungetc
> U unlink
> U usleep
> U vfprintf
> U vfscanf
> U vsnprintf
> U vsscanf
> U waitpid
> U wordexp
> U wordfree
> U write
>
>
> But, I get almost same thing when I do nm on my laptop's alsa-lib,
> this alsa-lib works.
>
> U _IO_getc
> U _IO_putc
> U __assert_fail
> U __ctype_b_loc
> U __ctype_tolower_loc
> U __errno_location
> U __stack_chk_fail
> U __strdup
> U __strtod_internal
> U __strtol_internal
> U __xstat
> U _exit
> U accept
> U access
> U bind
> U bsearch
> U calloc
> U chmod
> U chown
> U close
> U closedir
> U connect
> U dladdr
> U dlclose
> U dlopen
> U dlsym
> U exit
> U exp
> U fclose
> U fcntl
> U feof
> U fflush
> U fgets
> U floor
> U fmod
> U fopen
> U fork
> U fprintf
> U fputs
> U free
> U fwrite
> U getenv
> U getgrnam
> U gethostbyname
> U getpid
> U gettimeofday
> U getuid
> U ioctl
> U listen
> U localeconv
> U log
> U log10
> U lseek
> U malloc
> U memcpy
> U memmove
> U memset
> U mlock
> U mmap
> U munmap
> U nanosleep
> U open
> U opendir
> U pipe
> U poll
> U pow
> U pthread_cond_destroy
> U pthread_cond_init
> U pthread_cond_signal
> U pthread_cond_wait
> U pthread_create
> U pthread_join
> U pthread_mutex_destroy
> U pthread_mutex_init
> U pthread_mutex_lock
> U pthread_mutex_trylock
> U pthread_mutex_unlock
> U qsort
> U read
> U readdir
> U realloc
> U recvmsg
> U rintf
> U sched_yield
> U semctl
> U semget
> U semop
> U sendmsg
> U setlocale
> U setsid
> U setsockopt
> U shmat
> U shmctl
> U shmdt
> U shmget
> U sigaction
> U sigemptyset
> U signal
> U snprintf
> U socket
> U socketpair
> U sprintf
> U sqrtf
> U sscanf
> U stderr
> U stdout
> U strcasecmp
> U strcat
> U strchr
> U strcmp
> U strcpy
> U strcspn
> U strerror
> U strlen
> U strncmp
> U strncpy
> U strpbrk
> U strrchr
> U strstr
> U sysconf
> U ungetc
> U unlink
> U usleep
> U vfprintf
> U vfscanf
> U vsnprintf
> U waitpid
> U wordexp
> U wordfree
> U write
hmm, i am out of ideas then. other than one more, are you compiling on
one platform and then running on another platform that isnt quite the
same, ie compiling on x86_64 then running on i586?
these things can cause strange non-obvious errors.
other than that, i am out of ideas. sorry!
More information about the Alsa-devel
mailing list