Opened 7 years ago

Closed 7 years ago

#8715 closed bug (invalid)

bfs_fuse for 64-bit systems

Reported by: luroh Owned by: nobody
Priority: normal Milestone: R1
Component: Build System Version: R1/Development
Keywords: Cc: idefix
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

hrev44304. Currently, it seems bfs_fuse will only build on a 32-bit host. 64-bit Xubuntu 12.04 spits out the following:

$ jam \<build\>bfs_fuse
WebKit support not available on gcc 2 
...patience...
...found 738 target(s)...
...updating 1 target(s)...
Link generated/objects/linux/x86/release/tools/bfs_shell/bfs_fuse 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../libfuse.so when searching for -lfuse
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../libfuse.a when searching for -lfuse
/usr/bin/ld: skipping incompatible /usr/lib/libfuse.so when searching for -lfuse
/usr/bin/ld: skipping incompatible /usr/lib/libfuse.a when searching for -lfuse
/usr/bin/ld: cannot find -lfuse
collect2: ld returned 1 exit status

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:generated/objects/linux/lib ; build/scripts/rm_attrs generated/objects/linux/x86/release/tools/rm_attrs -f "generated/objects/linux/x86/release/tools/bfs_shell/bfs_fuse"
cc -m32 -Xlinker --no-as-needed -lm -o "generated/objects/linux/x86/release/tools/bfs_shell/bfs_fuse"    \
"generated/objects/linux/x86/release/tools/bfs_shell/bfs.o" "generated/objects/linux/x86/release/tools/fs_shell/fuse_module.a" "generated/objects/linux/x86/release/build/libroot/libroot_build_function_remapper.a" "generated/objects/linux/x86/release/build/libroot/libroot_build.a" -lsupc++ -lstdc++ -lfuse  \


...failed Link generated/objects/linux/x86/release/tools/bfs_shell/bfs_fuse ...

BUILD FAILURE:
...failed updating 1 target(s)...

Attachments (1)

bfs_fuse_commands.log (72.2 KB) - added by luroh 7 years ago.
Output of 'jam clean ; jam -dx \<build\>bfs_fuse > bfs_fuse_commands.log'

Download all attachments as: .zip

Change History (7)

comment:1 Changed 7 years ago by anevilyak

Component: File Systems/BFSBuild System
Type: enhancementbug

The build is telling the compiler to use 32-bit mode (-m32). This won't work if the system only has 64-bit versions of libfuse present.

Changed 7 years ago by luroh

Attachment: bfs_fuse_commands.log added

Output of 'jam clean ; jam -dx \<build\>bfs_fuse > bfs_fuse_commands.log'

comment:2 Changed 7 years ago by luroh

Indeed, the reason for the build failure was me having buildtools configured for gcc2 (linux32 ./configure --use-32bit --build-cross-tools ../buildtools/ --use-gcc-pipe --distro-compatibility official). Once configured for gcc4, things started working as expected.

Perhaps the jam files involved can be modified to detect the problematic "64-bit + gcc2" situation?

comment:3 Changed 7 years ago by axeld

I wonder why it builds the host tools in 32 bit, anyway. Shouldn't it always just use the host compiler?

comment:4 in reply to:  3 Changed 7 years ago by anevilyak

Replying to axeld:

I wonder why it builds the host tools in 32 bit, anyway. Shouldn't it always just use the host compiler?

He explicitly specified --use-32bit because we thought that was still necessary. Apparently, we simply had it confused with the need to use linux32 to build the gcc2 cross compiler.

comment:5 Changed 7 years ago by luroh

Invalid: the build guide has now been updated and no longer mentions using --use-32bit when building gcc2 cross-tools from 64-bit Linux. Building bfs_fuse from 64-bit Linux works fine. Thanks everyone!

comment:6 Changed 7 years ago by luroh

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.