cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Tremblay (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CB-4635) Binary source frameworks import with errors when they start with a lowercase letter
Date Tue, 20 Aug 2013 22:19:52 GMT

     [ https://issues.apache.org/jira/browse/CB-4635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andrew Tremblay updated CB-4635:
--------------------------------

    Description: 
The [AppBlade SDK Phonegap Plugin|https://github.com/AppBlade/SDK-PhoneGap-Plugin/tree/phonegap_v3.0]
uses libAppBladeUniversal.a as a binary file, which can be added to the Libraries of a native
iOS target with no problems. From the plugin documentation, following the example, the proper
way to declare the plugin in the plugin.xml would be  
 {code:xml} 
    <source-file src="src/ios/libAppBladeUniversal.a" framework="true"/>
 {code} 

and the proper way to import the plugin would be 

plugman install --platform ios --plugin AppBlade-PhoneGap-Plugin-Directory/ --project Project-Directory/platforms/ios/

However, doing so caused the following linker errors when building in Xcode:

    ld: warning: directory not found for option '-L/Users/andrewtremblay/Development/Local
Tests/PhoneGap Plugin Tests/Hello-AppBlade/platforms/ios/Hello-AppBlade/Plugins/com.appblade.cordova.plugin'
    *ld: library not found for -lAppBladeUniversal*

The "lib" was getting dropped somewhere and the framework flag was being pseudo-ignored (it
was being added as both a compile source and a linked library in the build target). 

 I reverted the plugin, capitalized the library (both the file and the declaration in the
xml), and reran the command. It fixed the error.

 {code:xml} 
<source-file src="src/ios/LibAppBladeUniversal.a" framework="true"/>
 {code} 

I'm fine with that fix for now, but given that it's legal for an iOS developer to name their
own binaries in lowercase (and case sensitivity in filesystems is a whole other can of worms),
this should probably be considered a bug and investigated further.

 

  was:
The [AppBlade SDK Phonegap Plugin|https://github.com/AppBlade/SDK-PhoneGap-Plugin/tree/phonegap_v3.0]
uses libAppBladeUniversal.a as a binary file, which can be added to the Libraries of a native
iOS target with no problems. From the plugin documentation, following the example, the proper
way to declare the plugin in the plugin.xml would be  
 {code:xml} 
    <source-file src="src/ios/libAppBladeUniversal.a" framework="true"/>
 {code} 
However, doing so caused the following linker errors when building in Xcode:

    ld: warning: directory not found for option '-L/Users/andrewtremblay/Development/Local
Tests/PhoneGap Plugin Tests/Hello-AppBlade/platforms/ios/Hello-AppBlade/Plugins/com.appblade.cordova.plugin'
    *ld: library not found for -lAppBladeUniversal*

The "lib" was getting dropped somewhere and the framework flag was being pseudo-ignored (it
was being added as both a compile source and a linked library in the build target). 

 I reverted the plugin, capitalized the library (both the file and the declaration in the
xml), and reran the command. It fixed the error.

 {code:xml} 
<source-file src="src/ios/LibAppBladeUniversal.a" framework="true"/>
 {code} 

I'm fine with that fix for now, but given that it's legal for an iOS developer to name their
own binaries in lowercase (and case sensitivity in filesystems is a whole other can of worms),
this should probably be considered a bug and investigated further.

 

    
> Binary source frameworks import with errors when they start with a lowercase letter 
> ------------------------------------------------------------------------------------
>
>                 Key: CB-4635
>                 URL: https://issues.apache.org/jira/browse/CB-4635
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS, Plugman
>    Affects Versions: 3.0.0
>         Environment: Mac OS 10.7.5, Xcode Version 4.6.3 (4H1503), plugman version 0.10.0,
phonegap version 3.0.0-0.14.0. 
>            Reporter: Andrew Tremblay
>            Assignee: Shazron Abdullah
>            Priority: Minor
>
> The [AppBlade SDK Phonegap Plugin|https://github.com/AppBlade/SDK-PhoneGap-Plugin/tree/phonegap_v3.0]
uses libAppBladeUniversal.a as a binary file, which can be added to the Libraries of a native
iOS target with no problems. From the plugin documentation, following the example, the proper
way to declare the plugin in the plugin.xml would be  
>  {code:xml} 
>     <source-file src="src/ios/libAppBladeUniversal.a" framework="true"/>
>  {code} 
> and the proper way to import the plugin would be 
> plugman install --platform ios --plugin AppBlade-PhoneGap-Plugin-Directory/ --project
Project-Directory/platforms/ios/
> However, doing so caused the following linker errors when building in Xcode:
>     ld: warning: directory not found for option '-L/Users/andrewtremblay/Development/Local
Tests/PhoneGap Plugin Tests/Hello-AppBlade/platforms/ios/Hello-AppBlade/Plugins/com.appblade.cordova.plugin'
>     *ld: library not found for -lAppBladeUniversal*
> The "lib" was getting dropped somewhere and the framework flag was being pseudo-ignored
(it was being added as both a compile source and a linked library in the build target). 
>  I reverted the plugin, capitalized the library (both the file and the declaration in
the xml), and reran the command. It fixed the error.
>  {code:xml} 
> <source-file src="src/ios/LibAppBladeUniversal.a" framework="true"/>
>  {code} 
> I'm fine with that fix for now, but given that it's legal for an iOS developer to name
their own binaries in lowercase (and case sensitivity in filesystems is a whole other can
of worms), this should probably be considered a bug and investigated further.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message