Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 61017 - linux26-headers breaks compilation of cppvm programs using cppvmBarrier::barrier()
Summary: linux26-headers breaks compilation of cppvm programs using cppvmBarrier::barr...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Tim Yamin (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-20 05:05 UTC by Ed Hein
Modified: 2005-03-13 08:53 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Hein 2004-08-20 05:05:05 UTC
When I try to compile sources using the cppvm library and e.g. signal.h, the macros in linux26-headers interfere with internal functions.

Reproducible: Always
Steps to Reproduce:
1. compile any source using cppvmBarrier::barrier() while including e.g. csignal or signal.h

#include <cppvm.h>
#include <csignal>

int main() {
  cppvmBarrier tSyncPoint();
  tSyncPoint.barrier();
}
Actual Results:  
error: `__memory_barrier' undeclared 
 
the macro barrier() substitutes the method barrier() by __memory_barrier 
(see /usr/include/linux/compiler.h of linux26-headers) 

Expected Results:  
the macros should not interfere with external sources 
 

This bug is related to bug #56885. While the latter is solved and cdrdao-1.1.8 
compiles fine on my system, the macros defined in linux26-headers still 
interfere with other sources.
Comment 1 Donnie Berkholz (RETIRED) gentoo-dev 2005-02-21 01:10:41 UTC
Is this still a problem? If so, do you have a suggested fix for it?
Comment 2 Ed Hein 2005-02-21 03:58:29 UTC
Actually, there is a new bug introduced by http://bugs.gentoo.org/show_bug.cgi?id=82614 . The standard PVM_ARCH=LINUX was changed to PVM_ARCH=LINUXI386 by the s390-Patch. The bugfix corrects this by creating appropriate config files for this ARCH, but cppvm still relies on PVM_ARCH=LINUX.

After installing cppvm by manually symlinking LINUXI386 with LINUX at a few spots, I was able to test the original bug.

The bug still exists, but with a different error message:
cppvm.c:6: error: expected unqualified-id before "asm"
cppvm.c:6: error: expected `;' before "asm"

I'm using linux26-headers-2.6.8.1-r2

Workaround: Don't use csignal/signal.h in your cppvm-Programs!
Possible fix: don't include compiler*.h in dependency tree of signal.h. Maybe this is an upstream 'feature' in kernel sources.

Cya, Ed
Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2005-02-21 16:24:52 UTC
I'm working on an update to pvm 3.4.5, hopefully that'll resolve a couple of issues.
Comment 4 Donnie Berkholz (RETIRED) gentoo-dev 2005-02-21 22:52:08 UTC
OK, check out 3.4.5
Comment 5 Tim Yamin (RETIRED) gentoo-dev 2005-03-13 08:53:58 UTC
Please try 3.4.5.