Index: libparser/parser.c
===================================================================
RCS file: /sources/global/global/libparser/parser.c,v
retrieving revision 1.15
diff -c -r1.15 parser.c
*** libparser/parser.c	7 Sep 2015 23:18:10 -0000	1.15
--- libparser/parser.c	13 Oct 2015 02:08:45 -0000
***************
*** 214,221 ****
  		pent->entry.parser = (PVOID)GetProcAddress((HINSTANCE)pent->handle, parser_name);
  #else
  		pent->handle = lt_dlopen(lt_dl_name);
! 		if (pent->handle == NULL)
! 			die_with_code(2, "cannot open shared object '%s'.", lt_dl_name);
  		pent->entry.lt_dl_name = lt_dl_name;
  		pent->entry.parser = lt_dlsym(pent->handle, parser_name);
  #endif
--- 214,231 ----
  		pent->entry.parser = (PVOID)GetProcAddress((HINSTANCE)pent->handle, parser_name);
  #else
  		pent->handle = lt_dlopen(lt_dl_name);
! 		if (pent->handle == NULL) {
! 			/*
! 			 * Retry after removing the extension, because some packages
! 			 * don't have '.la' files.
! 			 */
! 			q = strrchr(lt_dl_name, '.');
! 			if (q)
! 				*q = '\0';
! 			pent->handle = lt_dlopenext(lt_dl_name);
! 			if (pent->handle == NULL)
! 				die_with_code(2, "cannot open shared object '%s'.", lt_dl_name);
! 		}
  		pent->entry.lt_dl_name = lt_dl_name;
  		pent->entry.parser = lt_dlsym(pent->handle, parser_name);
  #endif
