Opened 12 years ago
Closed 12 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: | ||
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)
Change History (7)
comment:1 by , 12 years ago
Component: | File Systems/BFS → Build System |
---|---|
Type: | enhancement → bug |
by , 12 years ago
Attachment: | bfs_fuse_commands.log added |
---|
Output of 'jam clean ; jam -dx \<build\>bfs_fuse > bfs_fuse_commands.log'
comment:2 by , 12 years ago
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?
follow-up: 4 comment:3 by , 12 years ago
I wonder why it builds the host tools in 32 bit, anyway. Shouldn't it always just use the host compiler?
comment:4 by , 12 years ago
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 by , 12 years ago
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 by , 12 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
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.