Re: ["PATCH alsa-lib"] Change snd_dlopen() function to return the error string

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jaroslav,

On Nov 27 2017 17:50, Jaroslav Kysela wrote:
The dlopen() function might fail also for another reason than
a missing file, thus return the error string from dlerror().

Signed-off-by: Jaroslav Kysela <perex@xxxxxxxx>
---
  include/global.h        |  2 +-
  src/Versions.in         |  5 +++++
  src/conf.c              | 13 ++++++-----
  src/dlmisc.c            | 60 +++++++++++++++++++++++++++++++++++++++----------
  src/hwdep/hwdep.c       |  6 ++---
  src/mixer/simple_abst.c | 10 ++++-----
  src/pcm/pcm_hooks.c     |  8 +++----
  src/pcm/pcm_meter.c     |  6 ++---
  src/rawmidi/rawmidi.c   |  6 ++---
  src/seq/seq.c           |  6 ++---
  src/timer/timer.c       |  6 ++---
  src/timer/timer_query.c |  6 ++---
  12 files changed, 88 insertions(+), 46 deletions(-)

Unfortunately, this patch brings build error in my environment (Ubuntu 17.10 amd64, gcc7.2.0 from gcc-7 7.2.0-8ubuntu3).

$ ./gitcompile
$ make
make[2]: Entering directory '/tmp/alsa-lib/src'
  CCLD     libasound.la
/usr/bin/ld: unable to find version dependency `ALSA_1.1.6'
pcm/.libs/libpcm.a(pcm_generic.o): In function `snd1_pcm_generic_hwsync':
/tmp/alsa-lib/src/pcm/pcm_generic.c:142: warning:
collect2: error: ld returned 1 exit status
Makefile:491: recipe for target 'libasound.la' failed
make[2]: *** [libasound.la] Error 1

At present, I don't know exactly the reason, but I'll start investigating it in next morning (I'd like to have sleep...).

I found some nitpicking.

1. 'modules/mixer/simple/sbasedl.c' calls this function but missing changes in this patch.

(As I suggested to you in a previous Audiominiconf, it's good to us to investigate simplification of the unused abstraction of 'simple' mixer functionality.)

2. A line includes a tab only.

diff --git a/src/dlmisc.c b/src/dlmisc.c
index f154ebd0..fca843e1 100644
--- a/src/dlmisc.c
+++ b/src/dlmisc.c
@@ -73,24 +79,49 @@ void *snd_dlopen(const char *name, int mode)
...
+errpath:
+	if (errbuf)
+		snprintf(errbuf, errbuflen, "%s: %s", filename, dlerror());
+	return NULL;
+	
  #else
  	return NULL;
  #endif
  }


Regards

Takashi Sakamoto
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux