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