Strange behavior in mc-light
Vitaly Magerya
vmagerya at gmail.com
Wed Sep 5 20:52:38 UTC 2012
Alexander Yerenkow <yerenkow at gmail.com> wrote:
> # env TARGET=arm TARGET_ARCH=armv6 TARGET_CPUARCH=armv6
> CONFIGURE_HOST=arm-portbld-freebsd10.0
> PATH=/usr/obj/arm.armv6/usr/src/tmp/usr/bin:${PATH}
> STRIP_CMD=/usr/obj/arm.armv6/usr/src/tmp/usr/bin/strip gmake man2hlp
> cc -O2 -pipe -fno-strict-aliasing -I..
> -I/wrkdirs/usr/ports/misc/mc-light/work/mc-4.1.40-pre9/intl -I./../vfs
> -I./.. -I./../slang -I.. -DBINDIR=\""/usr/local/bin/"\"
> -DLIBDIR=\""/usr/local/share/mc/"\"
> -DLOCALEDIR=\""/usr/local/share/locale/"\" -DWANT_PARSE -DREGEX_MALLOC
> armv6 man2hlp.c -o man2hlp
> cc: armv6: No such file or directory
> gmake: *** [man2hlp] Error 1
>
> Seems that somehow after -DREGEX_MALLOC there for some reason inserted
> $TARGET_ARCH (rechecked with different values, like arm67 )
> Is there any sense in this?
It appears that man2hlp above is built using an implicit builtin
rule, which for GNU make involves TARGET_ARCH for some reason.
I don't know where this is documented, but take a look:
$ strings /usr/local/bin/gmake | grep TARGET_ARCH | grep CC
$(CC) $(LDFLAGS) $(TARGET_ARCH)
$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
So your best bet is to add a rule for man2hlp to src/Makefile.in;
I'm attaching a patch agains the port to this effect; it seems
to work for me.
-------------- next part --------------
diff -ruN mc-light.orig/files/patch-src_Makefile.in mc-light/files/patch-src_Makefile.in
--- mc-light.orig/files/patch-src_Makefile.in 2012-09-05 23:40:25.000000000 +0300
+++ mc-light/files/patch-src_Makefile.in 2012-09-05 23:47:01.000000000 +0300
@@ -3,7 +3,17 @@
--- src/Makefile.in.orig Wed Aug 18 23:32:30 2004
+++ src/Makefile.in Fri Sep 3 14:47:25 2004
-@@ -135,7 +135,7 @@
+@@ -76,6 +76,9 @@
+ mc: $(OBJS) @LIBVFS@ @LIBSLANG@ @LIBEDIT_A@
+ $(CC) $(LDFLAGS) -o $@ $(OBJS) -L../vfs -L../slang -L../edit $(OURLIBS) $(LIBS)
+
++man2hlp: man2hlp.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ man2hlp.c
++
+ mfmt: mfmt.o
+ $(CC) $(LDFLAGS) mfmt.o -o mfmt
+
+@@ -135,7 +138,7 @@
install: mc mfmt @saver@
$(INSTALL_PROGRAM) mc $(DESTDIR)$(bindir)/$(binprefix)mc
$(INSTALL_PROGRAM) mcmfmt $(DESTDIR)$(bindir)/$(binprefix)mcmfmt
More information about the freebsd-ports
mailing list