Public bug reported:

There seems to be an issue with linking applications built with clang
against ACE.

I do use ace/Atomic_Op.h and have a private variable in a class like

ACE_Atomic_Op <ACE_Thread_Mutex, long> m_refs;

This will throw an error like

../../lib/libmangos-shared.a(Threading.cpp.o): In function 
`ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator=(long)':
/usr/include/ace/Atomic_Op.inl:168: undefined reference to 
`ACE_Atomic_Op<ACE_Thread_Mutex, long>::exchange_fn_'

In Ubuntu 12.04 LTS using ACE 6.0.1 this was working fine. I could not
find any entries in the ACE Changelogs for version 6.0.3 relating to
this.

Description:    Ubuntu 13.10
Release:        13.10

libace-6.0.3:
  Installed: 6.0.3+dfsg-0.1
  Candidate: 6.0.3+dfsg-0.1
  Version table:
 *** 6.0.3+dfsg-0.1 0
        500 http://de.archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
        100 /var/lib/dpkg/status

libace-dev:
  Installed: 6.0.3+dfsg-0.1
  Candidate: 6.0.3+dfsg-0.1
  Version table:
 *** 6.0.3+dfsg-0.1 0
        500 http://de.archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
        100 /var/lib/dpkg/status

** Affects: ace (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  There seems to be an issue with linking applications built with clang
  against ACE.
  
  I do use ace/Atomic_Op.h and have a private variable in a class like
  
  ACE_Atomic_Op <ACE_Thread_Mutex, long> m_refs;
  
  This will throw an error like
  
  ../../lib/libmangos-shared.a(Threading.cpp.o): In function 
`ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator=(long)':
  /usr/include/ace/Atomic_Op.inl:168: undefined reference to 
`ACE_Atomic_Op<ACE_Thread_Mutex, long>::exchange_fn_'
  
  In Ubuntu 12.04 LTS using ACE 6.0.1 this was working fine. I could not
  find any entries in the ACE Changelogs for version 6.0.3 relating to
  this.
+ 
+ This was tested on Ubuntu 13.10 x64 desktop edition.

** Description changed:

  There seems to be an issue with linking applications built with clang
  against ACE.
  
  I do use ace/Atomic_Op.h and have a private variable in a class like
  
  ACE_Atomic_Op <ACE_Thread_Mutex, long> m_refs;
  
  This will throw an error like
  
  ../../lib/libmangos-shared.a(Threading.cpp.o): In function 
`ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator=(long)':
  /usr/include/ace/Atomic_Op.inl:168: undefined reference to 
`ACE_Atomic_Op<ACE_Thread_Mutex, long>::exchange_fn_'
  
  In Ubuntu 12.04 LTS using ACE 6.0.1 this was working fine. I could not
  find any entries in the ACE Changelogs for version 6.0.3 relating to
  this.
  
- This was tested on Ubuntu 13.10 x64 desktop edition.
+ Description:  Ubuntu 13.10
+ Release:      13.10
+ 
+ libace-6.0.3:
+   Installed: 6.0.3+dfsg-0.1
+   Candidate: 6.0.3+dfsg-0.1
+   Version table:
+  *** 6.0.3+dfsg-0.1 0
+         500 http://de.archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
+         100 /var/lib/dpkg/status
+ 
+ libace-dev:
+   Installed: 6.0.3+dfsg-0.1
+   Candidate: 6.0.3+dfsg-0.1
+   Version table:
+  *** 6.0.3+dfsg-0.1 0
+         500 http://de.archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
+         100 /var/lib/dpkg/status

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1249669

Title:
  ACE_Atomic_OP export issue

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ace/+bug/1249669/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to