| Anonymous | Login | Signup for a new account | 11-10-2008 12:09 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0003254 | [uClibc] Shared Library Support | major | always | 05-06-08 12:29 | 06-02-08 16:47 | ||||
| Reporter | frabar666 | View Status | public | ||||||
| Assigned To | uClibc | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | |||||||
| Summary | 0003254: Build: dlfcn.h removed when it shouldn't be | ||||||||
| Description |
Product version: svn-HEAD svn-r20475 added logic to rm <dlfcn.h> during build (in "Makefile.in") and remove its inclusion (in "include/link.h") when "not supporting" shared libraries. However the two conditionals are not the same: the first one tests "!HAVE_SHARED", while the second one tests "HAVE_NO_SHARED". The problem is that "HAVE_NO_SHARED" is not always "!HAVE_SHARED" (AFAIK first one is auto-detected from ARCH, whereas second one is a user config choice if "!HAVE_NO_SHARED"). In this case: - HAVE_NO_SHARED is not defined (ARCH supports shared libs), - HAVE_SHARED is not defined (user doesn't want shared lib support), <dlfcn.h> is rm'd by "Makefile.in", yet is still included by "include/link.h", which obviously doesn't compile. (problem seen when using buildroot with uClibc-snapshot, during compilation of gcc's crtbegin*.o and crtend*.o -- I can provide more info (arch, versions, config, ...) if needed) I'm not sure which one of the two conditions is the right one, but I'd go with "HAVE_NO_SHARED"? That's what the attached patch does, it fixed the problem in my case. |
||||||||
| Additional Information | |||||||||
| Attached Files |
|
||||||||
|
|
|||||||||
| Copyright © 2000 - 2006 Mantis Group |