Hi,
I'm porting some Linux application to L4Env using your ulibc port. The application uses fnmatch() function from libc. For some reason this function is absent in BUILD-DIR/lib/x86_586/libuc_c.a file, but at the same time BUILD-DIR/include/uclibc/fnmatch.h is present. So compilation completes without error, but linkage fails.
Was it done intentionally?
./l4/pkg/uclibc/lib/uclibc/Makefile does not even try to compile ./l4/pkg/uclibc/lib/contrib/uclibc/libc/misc/fnmatch/fnmatch.c. See DIRS variable definition.
If it was done intentionally. Why the header is in the way?
Best Regards, Alexander Valitov
Hi,
On Wed Mar 25, 2009 at 07:10:12 -0700, Alexander Valitov wrote:
I'm porting some Linux application to L4Env using your ulibc port. The application uses fnmatch() function from libc. For some reason this function is absent in BUILD-DIR/lib/x86_586/libuc_c.a file, but at the same time BUILD-DIR/include/uclibc/fnmatch.h is present. So compilation completes without error, but linkage fails.
Was it done intentionally?
./l4/pkg/uclibc/lib/uclibc/Makefile does not even try to compile ./l4/pkg/uclibc/lib/contrib/uclibc/libc/misc/fnmatch/fnmatch.c. See DIRS variable definition.
If it was done intentionally. Why the header is in the way?
There's no reason why it's not there except it hasn't been needed yet and the file are only added as needed. I've added it now and should be available tomorrow morning.
Adam
Hi,
There's no reason why it's not there except it hasn't been needed yet and the file are only added as needed. I've added it now and should be available tomorrow morning.
OK. Unfortunately changes that you've done are not enough. I tried to link with newly built uclib and get following error:
/home/alex/TUDOS/buildu/pkg/uclibc/lib/uclibc/ARCH-all/libc/misc/fnmatch/fnmatch_loop.c:283: undefined reference to `wctype' /home/alex/TUDOS/buildu/pkg/uclibc/lib/uclibc/ARCH-all/libc/misc/fnmatch/fnmatch_loop.c:295: undefined reference to `btowc' /home/alex/TUDOS/buildu/pkg/uclibc/lib/uclibc/ARCH-all/libc/misc/fnmatch/fnmatch_loop.c:295: undefined reference to `iswctype'
Additional changes are required. See then above:
Index: contrib_files_all.lst =================================================================== --- contrib_files_all.lst (revision 443) +++ contrib_files_all.lst (working copy) @@ -410,6 +410,7 @@ libc/misc/time/_time_mktime_tzi.c libc/misc/time/_time_localtime_tzi.c libc/misc/time/difftime.c +libc/misc/wchar/btowc.c libc/misc/wchar/mbrlen.c libc/misc/wchar/mbrtowc.c libc/misc/wchar/mbsnrtowcs.c @@ -418,6 +419,9 @@ libc/misc/wchar/wcrtomb.c libc/misc/wchar/wcsnrtombs.c libc/misc/wchar/wcsrtombs.c +libc/misc/wctype/_wctype.c +libc/misc/wctype/iswctype.c +libc/misc/wctype/wctype.c libc/sysdeps/linux/common/longjmp.c libc/sysdeps/linux/common/getcwd.c libc/sysdeps/linux/common/bits/cmathcalls.h Index: Makefile =================================================================== --- Makefile (revision 443) +++ Makefile (working copy) @@ -36,6 +36,7 @@ # fnmatch_loop cannot be compiled alone but is included by fnmatch.c and # thus needs to be linked SRC_C := $(filter-out ARCH-all/libc/misc/fnmatch/fnmatch_loop.c,$(SRC_C)) +SRC_C := $(filter-out ARCH-all/libc/misc/wctype/_wctype.c,$(SRC_C))
Best Regards, Alexander Valitov
Hi,
On Thu Mar 26, 2009 at 06:40:00 -0700, Alexander Valitov wrote:
There's no reason why it's not there except it hasn't been needed yet and the file are only added as needed. I've added it now and should be available tomorrow morning.
OK. Unfortunately changes that you've done are not enough. I tried to link with newly built uclib and get following error:
Yep, sorry. I did not try to link anything :) Fixed.
Thanks, Adam
l4-hackers@os.inf.tu-dresden.de