[haiku-bugs] Re: [Haiku] #5191: Haiku build failure on Suse 11.2 x86_64

  • From: "axeld" <trac@xxxxxxxxxxxx>
  • Date: Mon, 04 Jan 2010 15:40:53 -0000

#5191: Haiku build failure on Suse 11.2 x86_64
--------------------------+-------------------------------------------------
 Reporter:  Grey          |       Owner:  bonefish      
     Type:  bug           |      Status:  new           
 Priority:  normal        |   Milestone:  R1            
Component:  Build System  |     Version:  R1/Development
 Keywords:  Build Suse64  |   Blockedby:                
 Platform:  All           |    Blocking:                
--------------------------+-------------------------------------------------

Old description:

> Haiku build failure on Suse 11.2 x86_64, but all ok on Suse 11.1[[BR]]
> Log:[[BR]]
> # uname -a[[BR]]
> Linux linux-4vdj 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26[[BR]]
>  15:49:03 +0100 x86_64 x86_64 x86_64 GNU/Linux[[BR]]
> # gcc --version[[BR]]
> gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839][[BR]]
> # gcc -dumpmachine[[BR]]
> x86_64-suse-linux[[BR]]
> # gcc -dumpversion[[BR]]
> 4.4[[BR]]
> # jam -v[[BR]]
> Jam 2.5. OS=LINUX. Copyright 1993-2002 Christopher Seiwald.[[BR]]
> # ./configure --use-32bit --build-cross-tools-gcc4 x86
>  ../buildtools/[[BR]]
> ...<skip>[[BR]]
> binutils and gcc for cross compilation have been built
> successfully![[BR]]
> # jam -q haiku-image[[BR]]
> ...patience...[[BR]]
> ...<skip>[[BR]]
> ...patience...[[BR]]
> ...found 31623 target(s)...[[BR]]
> ...updating 12081 target(s)...[[BR]]
> InitScript1 generated/haiku.image-init-vars[[BR]]
> C++ generated/objects/linux/release/build/libroot/atomic.o[[BR]]
> In file included from headers/build/config_build/types.h:9,[[BR]]
>                  from headers/build/os/support/SupportDefs.h:12,[[BR]]
>                  from headers/build/os/kernel/OS.h:12,[[BR]]
>                  from src/build/libroot/atomic.cpp:5:[[BR]]
> headers/build/config_build/HaikuConfig.h:53:3: error: #error Unsupported
> architecture![[BR]]
> In file included from src/build/libroot/atomic.cpp:5:[[BR]]
> headers/build/os/kernel/OS.h:588: error: ‘B_MAX_CPU_COUNT’ was not
> declared in this scope[[BR]]
> ...<skip>[[BR]]
> ...failed C++ generated/objects/linux/release/build/libroot/atomic.o
> ...[[BR]]
> ...skipped libroot_build.so for lack of
> <src!build!libroot>atomic.o...[[BR]]
> ...skipped <build>addattr for lack of libroot_build.so...[[BR]]
> ...skipped <HaikuImage>haiku.image-init-vars for lack of
> <build>addattr...[[BR]]
> ...skipped haiku.image for lack of <HaikuImage>haiku.image-init-
> vars...[[BR]]
> ...failed updating 1 target(s)...[[BR]]
> ...skipped 4 target(s)...[[BR]]
> ...updated 1 target(s)...[[BR]]
> #[[BR]]
> [[BR]]
>
> IMHO, problems in build/jam/BuildSetup:[[BR]]
>  if $(HAIKU_HOST_USE_32BIT) = 1 {[[BR]]
>         # enable GCC -m32 option[[BR]]
>         HOST_GCC_BASE_FLAGS = -m32 ;[[BR]]
> } else {[[BR]]
>         switch $(HOST_GCC_MACHINE) {[[BR]]
>                 case x86_64-*   : HOST_PLATFORM_IS_64_BIT = 1 ;[[BR]]
>                 case i686-apple-darwin10        :[[BR]]
>                         HOST_PLATFORM_IS_64_BIT = 1 ;[[BR]]
>         }[[BR]]
>  }[[BR]]
> Why "else"?[[BR]]
> [[BR]]
> And in headers/build/config_build/HaikuConfig.h[[BR]]
> #ifdef __INTEL__[[BR]]
> #       ifdef HAIKU_HOST_PLATFORM_64_BIT[[BR]]
> ...[[BR]]
> It look like __INTEL__ undefined.[[BR]]

New description:

 Haiku build failure on Suse 11.2 x86_64, but all ok on Suse 11.1[[BR]]
 Log:[[BR]]
 # uname -a[[BR]]
 Linux linux-4vdj 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26[[BR]]
  15:49:03 +0100 x86_64 x86_64 x86_64 GNU/Linux[[BR]]
 # gcc --version[[BR]]
 gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839][[BR]]
 # gcc -dumpmachine[[BR]]
 x86_64-suse-linux[[BR]]
 # gcc -dumpversion[[BR]]
 4.4[[BR]]
 # jam -v[[BR]]
 Jam 2.5. OS=LINUX. Copyright 1993-2002 Christopher Seiwald.[[BR]]
 # ./configure --use-32bit --build-cross-tools-gcc4 x86
  ../buildtools/[[BR]]
 ...<skip>[[BR]]
 binutils and gcc for cross compilation have been built successfully![[BR]]
 # jam -q haiku-image[[BR]]
 ...patience...[[BR]]
 ...<skip>[[BR]]
 ...patience...[[BR]]
 ...found 31623 target(s)...[[BR]]
 ...updating 12081 target(s)...[[BR]]
 InitScript1 generated/haiku.image-init-vars[[BR]]
 C++ generated/objects/linux/release/build/libroot/atomic.o[[BR]]
 In file included from headers/build/config_build/types.h:9,[[BR]]
                  from headers/build/os/support/SupportDefs.h:12,[[BR]]
                  from headers/build/os/kernel/OS.h:12,[[BR]]
                  from src/build/libroot/atomic.cpp:5:[[BR]]
 headers/build/config_build/HaikuConfig.h:53:3: error: #error Unsupported
 architecture![[BR]]
 In file included from src/build/libroot/atomic.cpp:5:[[BR]]
 headers/build/os/kernel/OS.h:588: error: ‘B_MAX_CPU_COUNT’ was not
 declared in this scope[[BR]]
 ...<skip>[[BR]]
 ...failed C++ generated/objects/linux/release/build/libroot/atomic.o
 ...[[BR]]
 ...skipped libroot_build.so for lack of
 <src!build!libroot>atomic.o...[[BR]]
 ...skipped <build>addattr for lack of libroot_build.so...[[BR]]
 ...skipped <HaikuImage>haiku.image-init-vars for lack of
 <build>addattr...[[BR]]
 ...skipped haiku.image for lack of <HaikuImage>haiku.image-init-
 vars...[[BR]]
 ...failed updating 1 target(s)...[[BR]]
 ...skipped 4 target(s)...[[BR]]
 ...updated 1 target(s)...[[BR]]
 #[[BR]]
 [[BR]]

 IMHO, problems in build/jam/BuildSetup:[[BR]]
 {{{
 if $(HAIKU_HOST_USE_32BIT) = 1 {
         # enable GCC -m32 option
         HOST_GCC_BASE_FLAGS = -m32 ;
 } else {
         switch $(HOST_GCC_MACHINE) {
                 case x86_64-*   : HOST_PLATFORM_IS_64_BIT = 1 ;
                 case i686-apple-darwin10        :
                         HOST_PLATFORM_IS_64_BIT = 1 ;
         }
  }
 }}}
 Why "else"?[[BR]]
 [[BR]]
 And in headers/build/config_build/HaikuConfig.h[[BR]]
 #ifdef __INTEL__[[BR]]
 #       ifdef HAIKU_HOST_PLATFORM_64_BIT[[BR]]
 ...[[BR]]
 It look like __INTEL__ undefined.[[BR]]

--

Comment(by axeld):

 First of all, you should use Haiku's version of "jam". Does that already
 help?

 BTW, please use !{{{ and }}} to indicate preformatted text (the Jamfile
 quotes). I've updated the description to use it already.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5191#comment:1>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: