Hi,
I decided to take a break from Fedora 7 and try building the CLFS components
on my Ubuntu 7.04 system. When I attempt to build the util-linux-ng source
package I get the following error (whereas on Fed-7 I do not):
cd util-linux-ng-2.13; make -C disk-utils mkfs.minix fsck.minix
make[1]: Entering directory
`/home/olymed/olymed/system2/olylinux/sources/build-tools/util-linux-ng/util-
linux-ng-2.13/disk-utils'
if i586-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -include ../config.h
-I../include -DLOCALEDIR=\"\" -fsigned-char -MT mkfs.minix.o -MD -MP -MF
".deps/mkfs.minix.Tpo" -c -o mkfs.minix.o mkfs.minix.c; \
then mv -f ".deps/mkfs.minix.Tpo" ".deps/mkfs.minix.Po"; else rm -f
".deps/mkfs.minix.Tpo"; exit 1; fi
mkfs.minix.c: In function 'main':
mkfs.minix.c:620: error: 'LC_ALL' undeclared (first use in this function)
mkfs.minix.c:620: error: (Each undeclared identifier is reported only once
mkfs.minix.c:620: error: for each function it appears in.)
make[1]: *** [mkfs.minix.o] Error 1
make[1]: Leaving directory
`/home/olymed/olymed/system2/olylinux/sources/build-tools/util-linux-ng/util-
linux-ng-2.13/disk-utils'
My environment is setup the same on both Fed-7 and Ubuntu. The error at
line 620 occurs when mkfs.minix.c is trying to call setlocale( LC_ALL, "").
I can only assume that locale.h (where LC_ALL is defined) is being included,
however I cannot be certain.
When I examine the output from the "configure" stage of the build, I
see "checking
whether NLS is requested... yes". Does this affect what is included in
util-linux-ng-*/include/nls.h:
#ifndef UTIL_LINUX_NLS_H
#define UTIL_LINUX_NLS_H
int main(int argc, char *argv[]);
#ifndef LOCALEDIR
#define LOCALEDIR "/usr/share/locale"
#endif
#ifdef ENABLE_NLS
# include <libintl.h>
# define _(Text) gettext (Text)
# ifdef gettext_noop
# define N_(String) gettext_noop (String)
# else
# define N_(String) (String)
# endif
#else
# include <locale.h>
# undef bindtextdomain
# define bindtextdomain(Domain, Directory) /* empty */
# undef textdomain
# define textdomain(Domain) /* empty */
# define _(Text) (Text)
# define N_(Text) (Text)
#endif
#endif /* UTIL_LINUX_NLS_H */
The header file /usr/include/libintl.h only includes <locale.h> when the
following conditions are met:
#if defined __OPTIMIZE__ && !defined __cplusplus
Anyhow, I am at a loss to understand this who thing. Nothing appears on the
compilation line to indicate that ENABLE_NLS is defined, but with that
message from the configuration output, I am not so sure. Any ideas?
Dave
P.S. Has anyone ever built CLFS under Ubuntu? I am new to Ubuntu and
personally I find it to be a challenging system for doing development work.
Fedora Core seems to be packaged better.
_______________________________________________
Clfs-support mailing list
[email protected]
http://lists.cross-lfs.org/cgi-bin/mailman/listinfo/clfs-support