Many Dsmyutil warnings after updating to CBL 1.0.2

239 views
Skip to first unread message

Andrew Tetlaw

unread,
Aug 25, 2014, 5:23:49 AM8/25/14
to mobile-c...@googlegroups.com
Basically 1 'unable to open object file' warning for every file, every arch, during Build, Run, Test in DEBUG configuration

For example:
warning: (armv7) /Users/jenkins/jenkins/workspace/build_cblite_ios_102-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7/CBLChangeTracker_Tests.o unable to open object file
warning: (armv7) /Users/jenkins/jenkins/workspace/build_cblite_ios_102-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7/CBLDatabase+Internal.o unable to open object file
warning: (armv7) /Users/jenkins/jenkins/workspace/build_cblite_ios_102-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7/CBLModel+Properties.o unable to open object file
warning: (armv7) /Users/jenkins/jenkins/workspace/build_cblite_ios_102-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7/DDData.o unable to open object file
...

I've cleaned, deleted Build folder etc.. any way to avoid them?

Jens Alfke

unread,
Aug 25, 2014, 12:26:37 PM8/25/14
to mobile-c...@googlegroups.com
We did change the way the static library is linked, to avoid exposing internal symbols. But I haven't seen these warnings building our demo apps. Can you describe how your project is set up?

—Jens

Andrew Tetlaw

unread,
Aug 25, 2014, 7:03:00 PM8/25/14
to mobile-c...@googlegroups.com
CBL is compiled into a another static library that is then shared across all our apps.

Jens Alfke

unread,
Aug 25, 2014, 7:29:36 PM8/25/14
to mobile-c...@googlegroups.com

On Aug 25, 2014, at 4:02 PM, Andrew Tetlaw <andrew...@safetyculture.com.au> wrote:

CBL is compiled into a another static library that is then shared across all our apps.

I don't know why that would be a problem, but I'm not a major expert on the linker.

The relevant commit that changed the way the static library is linked is 49b384f. The build flag changes are:
GENERATE_MASTER_OBJECT_FILE = YES;
EXPORTED_SYMBOLS_FILE = Source/CouchbaseLite.exp;
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
PRELINK_FLAGS = "-objc_abi_version 2";
The first one merges all the .o files together into a single object file within the library; it's necessary for making the export changes work. It sounds like that's what's causing your problem, although I don't know why there are still references to .o files or why your build commands end up needing them...

—Jens

Andrew Tetlaw

unread,
Aug 25, 2014, 8:21:00 PM8/25/14
to mobile-c...@googlegroups.com
I'm no expert either, Stack Overflow  suggests the problem is the clang version: http://stackoverflow.com/a/25314044

?

Andrew Tetlaw

unread,
Aug 25, 2014, 8:30:41 PM8/25/14
to mobile-c...@googlegroups.com
I can hide the warnings by switching the Build Setting Debug Information Format from "DWARF with dSYM file" to "DWARF"

Jens Alfke

unread,
Sep 19, 2014, 1:52:08 PM9/19/14
to mobile-c...@googlegroups.com
Follow-up: This has been filed as issue #460. I've tried changing some library build settings (debug info format, stripping type) but no luck. Have posted a question to Apple's xcode-users mailing list.

--Jens

Andrew

unread,
Dec 18, 2014, 4:00:34 AM12/18/14
to mobile-c...@googlegroups.com
I have been experimenting with the latest CBL Cordova plugin. Also seeing similar errors. On top of that I am missing a arm64 library component which Apple is going to require with all apps starting Feb 1, 2015...

warning: (armv7s) /Users/jenkins/jenkins/workspace/build_cblite_ios_103-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7s/WebSocketHTTPLogic.o unable to open object file
warning: (armv7s) /Users/jenkins/jenkins/workspace/build_cblite_ios_103-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7s/WebSocketClient.o unable to open object file
warning: (armv7s) /Users/jenkins/jenkins/workspace/build_cblite_ios_103-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7s/WebSocket.o unable to open object file
warning: (armv7s) /Users/jenkins/jenkins/workspace/build_cblite_ios_103-enterprise/couchbase-lite-ios/build/CouchbaseLite.build/Release-iphoneos/CBL iOS library.build/Objects-normal/armv7s/GCDAsyncSocket.o unable to open object file

Jens Alfke

unread,
Dec 18, 2014, 11:38:12 AM12/18/14
to mobile-c...@googlegroups.com
On Dec 18, 2014, at 1:00 AM, Andrew <andrzej....@gmail.com> wrote:

I have been experimenting with the latest CBL Cordova plugin. Also seeing similar errors.

#460 (and they're warnings, not errors.)

On top of that I am missing a arm64 library component which Apple is going to require with all apps starting Feb 1, 2015...

The latest plugin (updated a week or two ago) should support 64-bit. Could you double-check that you've got the latest one? One way to tell is that the CBL library version is 1.0.3.

If you really have the latest, then file an issue and include the exact linker error text.

—Jens

Andrew

unread,
Dec 18, 2014, 12:20:56 PM12/18/14
to mobile-c...@googlegroups.com
Indeed - they are warnings not errors but ideally we strive for a clean build to be sure all is in order.

For the version - we downloaded the plugin on Dec 12 from your GIT. Not sure how to check the version number - perhaps you can help with some instr..

I did a lipo -info CouchbaseLite.a and see the following architecture slices:

armv7, i386 x86_64

Do not see arm64

Jens Alfke

unread,
Dec 18, 2014, 12:38:35 PM12/18/14
to mobile-c...@googlegroups.com

On Dec 18, 2014, at 9:20 AM, Andrew <andrzej....@gmail.com> wrote:

For the version - we downloaded the plugin on Dec 12 from your GIT. Not sure how to check the version number - perhaps you can help with some instr..

From Phonegap? Do a "GET /" and look at the version number in the response.

—Jens
Message has been deleted
Message has been deleted

Andrew

unread,
Dec 18, 2014, 1:53:20 PM12/18/14
to mobile-c...@googlegroups.com
The com.couchbase.lite.phonegap plugin version is 1.0.2 - I see there is 1.0.3 available on github but when we install the plugin into cordova via cordova plugin add github clone it seems to be installing plugin version 1.0.2 ...

What's going on ?

Andrew

unread,
Dec 18, 2014, 2:37:46 PM12/18/14
to mobile-c...@googlegroups.com
Jens - although the github says plugin is version 1.0.3 when installed into Cordova it reports version 1.0.2 and also the github shows the last update was done 2 months ago rather then in the most recent weeks.

Where can I find the latest version of the plugin then?

I am looking at the following link:

https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plugin
Reply all
Reply to author
Forward
0 new messages