Opened 14 years ago

Closed 14 years ago

#2283 closed Bugs (fixed)

building boost fails with intel compiler 10.1 on 64bit ubuntu

Reported by: Gunter Owned by: Peter Dimov
Milestone: To Be Determined Component: Building Boost
Version: Boost 1.36.0 Severity: Problem
Keywords: Cc: rrossi@…

Description

I have got the following problem description:

I am trying to compile boost_1_36_0 under ubuntu linux 8.04 64bit using intel compiler 10.1.

i can compile correctly using gcc but when i choose the intel compiler (bjam intel) i get the error

error: identifier "sync_lock_test_and_set ia undefined

inr e = sync_lock_release( &v_, 1 );

there exist some patches to correct this behaviour but they do not seem to work under ubuntu (nor under fedora)...

a similar problem was reported on ticket #1938. However it does not solve this problem.

The problem can be reproduced by simply adding

using intel

to the user-config.jam in the base boost directory and repeating the make (so to use the intel compiler)

The compilation with gcc of the 1.36.0 works perfectly. The "old" version 1.34 can be compiled and used correctly using both intel compiler and gcc

Attachments (1)

0001-boost-compile-fix-for-boost-s-spinlock-for-intel-c.patch (1.0 KB ) - added by tim@… 14 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 by anonymous, 14 years ago

The same problem is reproduced on 32-bit Fedora 9 (gcc 4.3.0). Using the command bjam --toolset=intel link=static threading=single release stage

produces

./boost/detail/spinlock_sync.hpp(44): error: identifier "sync_lock_test_and_set" is undefined

int r = sync_lock_test_and_set( &v_, 1 );

comment:2 by tim@…, 14 years ago

the intel compiler doesn't support the sync intrinsics for i386/x86_64 ... only for ia64 ... attached is a patch, that uses the fallback pthread code

comment:3 by tim@…, 14 years ago

seems to be a duplicate of #2000

comment:4 by Marshall Clow, 14 years ago

Owner: set to Peter Dimov

comment:5 by Peter Dimov, 14 years ago

Resolution: fixed
Status: newclosed

Duplicate of #2000.

Note: See TracTickets for help on using tickets.