[alsa-devel] aplay: can't resolve symbol 'snd_dlsym_start
Pharaoh .
pharaoh137 at gmail.com
Tue Mar 11 22:36:22 CET 2008
On Tue, Mar 11, 2008 at 2:31 PM, John Utz <john.utz at dmx.com> wrote:
> 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!
>
>
I am compiling on my x86 machine for an arm based board, using appropriate
toolchain. Thanks John.
More information about the Alsa-devel
mailing list