[cl-debian] Bug#358070: FTBFS/please support mips64: includes mips(32) file

Package: clisp Version: 1:2.38-2 Severity: wishlist Your packages fails to build on mips64. It detects the system correctly but then tries t include the mips (rather than mip64) file and fails. (mips64 is not an architecture for Debian so this is wishlist) Here's a diff between a mips and mips64 build to show the problem: --- mips 2006-03-21 02:14:00.000000000 +0000 +++ mips64 2006-03-21 02:13:57.000000000 +0000 @@ -259,8 +227,8 @@ Setting up libxpm-dev (6.9.0.dfsg.1-4) ... Setting up libxt-dev (6.9.0.dfsg.1-4) ... Checking correctness of source dependencies... -Kernel: Linux 2.6.16-rc6 mips (mips) -Toolchain package versions: libc6-dev_2.3.6-3 linux-kernel-headers_2.6.13+0rc3-2 gcc-4.1_4.1-0exp9 g++-4.1_4.1-0exp9 binutils_2.16.1cvs20060117-1 libstdc++6-4.1-dev_4.1-0exp9 libstdc++6_4.1-0exp9 +Kernel: Linux 2.6.16-rc6 mips (mips64) +Toolchain package versions: libc6-dev_2.3.6-3 linux-kernel-headers_2.6.13+0rc3-2.1 gcc-4.1_4.1-0exp9 g++-4.1_4.1-0exp9 binutils_2.16.1cvs20060117-1 libstdc++6-4.1-dev_4.1-0exp9 libstdc++6_4.1-0exp9 ------------------------------------------------------------------------------ gpg: Signature made Wed Mar 15 20:44:09 2006 UTC using DSA key ID 4B729625 gpg: Can't check signature: public key not found @@ -346,9 +314,8 @@ checking whether setsockopt requires -lsocket... no checking whether CC works at all... yes configure: * check for host type -checking build system type... mips-unknown-linux-gnu -checking host system type... mips-unknown-linux-gnu -checking for 64-bit MIPS... no +checking build system type... mips64-unknown-linux-gnu +checking host system type... mips64-unknown-linux-gnu configure: * check for add-ons checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes @@ -667,8 +634,8 @@ checking for egrep... (cached) grep -E checking whether gcc needs -traditional... no checking for a BSD-compatible install... /usr/bin/install -c -checking build system type... (cached) mips-unknown-linux-gnu -checking host system type... (cached) mips-unknown-linux-gnu +checking build system type... (cached) mips64-unknown-linux-gnu +checking host system type... (cached) mips64-unknown-linux-gnu checking whether to activate relocatable installation... no checking for AIX... no checking for ANSI C header files... (cached) yes @@ -1026,8 +993,8 @@ ln -s /build/tbm/clisp-2.38/src/modules.d modules.d rm -f noreadline.d ln -s /build/tbm/clisp-2.38/src/noreadline.d noreadline.d -rm -f arimips.d -ln -s /build/tbm/clisp-2.38/src/arimips.d arimips.d +rm -f arimips64.d +ln -s /build/tbm/clisp-2.38/src/arimips64.d arimips64.d rm -f modules.h ln -s /build/tbm/clisp-2.38/src/modules.h modules.h rm -f uni_upcase.c @@ -1297,7 +1264,7 @@ ./comment5 genclisph.d | ./gctrigger | ./varbrace > genclisph.c ./comment5 modules.d | ./gctrigger | ./varbrace > modules.c ./comment5 noreadline.d | ./gctrigger | ./varbrace > noreadline.c -./comment5 arimips.d > arimips.c +./comment5 arimips64.d > arimips64.c ./comment5 lispbibl.d | sed -e '/^%% /{s///p;d;}' -e '/^#line /!s/.*//' > gen.lispbibl.c rm -f spvw_calendar.c ln -s /build/tbm/clisp-2.38/src/spvw_calendar.c spvw_calendar.c @@ -1320,7 +1287,7 @@ ranlib .libs/libcharset.a creating libcharset.la (cd .libs && rm -f libcharset.la && ln -s ../libcharset.la libcharset.la) -/bin/sh /build/tbm/clisp-2.38/libcharset/lib/config.charset 'mips-unknown-linux-gnu' > t-charset.alias +/bin/sh /build/tbm/clisp-2.38/libcharset/lib/config.charset 'mips64-unknown-linux-gnu' > t-charset.alias mv t-charset.alias charset.alias sed -e '/^#/d' -e 's/@''PACKAGE''@//g' /build/tbm/clisp-2.38/libcharset/lib/ref-add.sin > t-ref-add.sed mv t-ref-add.sed ref-add.sed @@ -1453,6 +1420,8 @@ gcc -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -DUNICODE -I. -c predtype.c gcc -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -DUNICODE -I. -c symbol.c gcc -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -DUNICODE -I. -c lisparit.c +In file included from lisparit.d:28: +arilev1.d:263:29: error: arimips.c: No such file or directory In file included from lisparit.d:50: flo_konv.d: In function 'SF_to_LF': flo_konv.d:67: warning: value computed is not used -- Martin Michlmayr http://www.cyrius.com/

On Tuesday 21 March 2006 03:17, Martin Michlmayr wrote:
Your packages fails to build on mips64. It detects the system correctly but then tries t include the mips (rather than mip64) file and fails.
From the log it seems it detected the MIPS64, but fails to define MIPS64. The relevant file is src/lispbibl.d: ... #if defined(mips) || defined(__mips) || defined(__mips__) #define MIPS #if defined(_MIPS_SZLONG) #if (_MIPS_SZLONG == 64) # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this at 32. #define MIPS64 #endif #endif #endif ... This is then used in src/arilev1.d to load the 'correct file': ... #if defined(MIPS) #if defined(MIPS64) #include "arimips64.c" #else #include "arimips.c" #endif #endif ... What is the value of _MIPS_SZLONG? Groetjes, Peter -- signature -at- pvaneynd.mailworks.org http://www.livejournal.com/users/pvaneynd/ "God, root, what is difference?" Pitr | "God is more forgiving." Dave Aronson|

* Peter Van Eynde <pvaneynd@debian.org> [2006-03-28 09:45]:
From the log it seems it detected the MIPS64, but fails to define MIPS64.
That's fine. MIPS has 3 different ABIs and you can run a 64-bit kernel with 32-bit userland - which is what I did, so I had: #define _MIPS_SZLONG 32 So that's probably wht MIPS4 didn't get defined.
This is then used in src/arilev1.d to load the 'correct file': ... #if defined(MIPS) #if defined(MIPS64) #include "arimips64.c" #else #include "arimips.c" #endif #endif
Again, that look okay. However, that doesn't explain why I get a: | arilev1.d:263:29: error: arimips.c: No such file or directory It *should* include that file. Where's the code generating the .c file from the .d file? It seems this one doesn't work properly on a 64-bit kernel with 32-bit userland and uses the 64-bit version. -- Martin Michlmayr http://www.cyrius.com/
participants (2)
-
Martin Michlmayr
-
Peter Van Eynde