Realm-cocoa: Linker Warning in File "shared_realm"

Created on 13 Dec 2016  路  10Comments  路  Source: realm/realm-cocoa

Goals

Warning free build.

Expected Results

No warning when building the project.

Actual Results

When building the project, Xcode emits warning:
ld: warning: direct access in function 'realm::util::InterprocessMutex::InterprocessMutex()' from file '/Users/Colin/Library/Developer/Xcode/DerivedData/learner-ios-giqlfaiknnmullaerceehgdnrxro/Build/Intermediates/Pods.build/Debug-iphonesimulator/Realm.build/Objects-normal/x86_64/shared_realm.o' to global weak symbol 'realm::util::InterprocessMutex::initialize_statics()' from file '/Users/Colin/Developer/learner-ios/Pods/Realm/core/librealm-ios.a(client_file_access_cache-iphonesimulator.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

Steps to Reproduce

Build the project.

Does not go away even when setting Symbols Hidden by Default = YES for both projects. Did not happen using Realm 2.1.0 but happens on 2.1.1. I am unsure if the problem lies in my project settings or Realm itself, so I am wondering if anyone else has run into the same warning.

Version of Realm and Tooling

Realm version: 2.1.1

Xcode version: 8.2

iOS/OSX version: macOS 10.12.2, iOS 10.2

CocoaPods version: 1.1.1

T-Bug

Most helpful comment

This is a duplicate of https://github.com/realm/realm-object-store/issues/281. A fix will soon be integrated into this project.

All 10 comments

This is a duplicate of https://github.com/realm/realm-object-store/issues/281. A fix will soon be integrated into this project.

Thanks for the quick response!

Any update on this issue?

It's been fixed upstream in all affected projects, but there are breaking changes that we need to accommodate internally before those upstream releases can be integrated (see #4478).

Fixed in master.

Yes! Thank you!

When will we see a new release?

Today.

I am getting this with the most recent version 2.2.0.

ld: warning: direct access in function 'realm::SharedGroup::SharedGroup(realm::Replication&, realm::SharedGroupOptions)' from file '/Users/tveloso/Developer/cashyt-ios-game/Pods/Realm/core/librealm-ios.a(client_file_access_cache-iphoneos.o)' to global weak symbol 'realm::util::InterprocessMutex::initialize_statics()' from file '/Users/tveloso/Library/Developer/Xcode/DerivedData/CashYT-dksjdjiesbrlwbgzaebjngykwwkg/Build/Products/Debug-iphoneos/Realm/libRealm.a(shared_realm.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'realm::SharedGroup::SharedGroup(realm::Replication&, realm::SharedGroupOptions)' from file '/Users/tveloso/Developer/cashyt-ios-game/Pods/Realm/core/librealm-ios.a(client_file_access_cache-iphoneos.o)' to global weak symbol 'realm::util::InterprocessMutex::initialize_statics()' from file '/Users/tveloso/Library/Developer/Xcode/DerivedData/CashYT-dksjdjiesbrlwbgzaebjngykwwkg/Build/Products/Debug-iphoneos/Realm/libRealm.a(shared_realm.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'realm::SharedGroup::SharedGroup(realm::Replication&, realm::SharedGroupOptions)' from file '/Users/tveloso/Developer/cashyt-ios-game/Pods/Realm/core/librealm-ios.a(client_file_access_cache-iphoneos.o)' to global weak symbol 'realm::util::InterprocessMutex::initialize_statics()' from file '/Users/tveloso/Library/Developer/Xcode/DerivedData/CashYT-dksjdjiesbrlwbgzaebjngykwwkg/Build/Products/Debug-iphoneos/Realm/libRealm.a(shared_realm.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'realm::SharedGroup::SharedGroup(realm::Replication&, realm::SharedGroupOptions)' from file '/Users/tveloso/Developer/cashyt-ios-game/Pods/Realm/core/librealm-ios.a(client_file_access_cache-iphoneos.o)' to global weak symbol 'realm::util::InterprocessMutex::initialize_statics()' from file '/Users/tveloso/Library/Developer/Xcode/DerivedData/CashYT-dksjdjiesbrlwbgzaebjngykwwkg/Build/Products/Debug-iphoneos/Realm/libRealm.a(shared_realm.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

Do I need to change anything?

@beloso seems like this wasn't actually fixed like we thought. Now tracking in #4567.

Was this page helpful?
0 / 5 - 0 ratings