Giter VIP home page Giter VIP logo

Comments (24)

incanus avatar incanus commented on July 23, 2024 1

Confirmed that pod spec lint passes if both the standalone and standalone-fts subspecs are commented out.

Looking a bit closer at these subspecs, both use the sqlite3 pod as a dependency, vs. the other subspecs which use the system-provided sqlite3 as a library.

And the sqlite3 pod seems to have an old deployment target set, which causes the problems with libarclite

e.g.

    - NOTE  | [iOS] [FMDB/standalone] xcodebuild:  clang: error: SDK does not contain 'libarclite' at the path '/Applications/Xcode-15.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a'; try increasing the minimum deployment target
    - NOTE  | [iOS] [FMDB/standalone] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target 'sqlite3' from project 'Pods')

So the next step would be to try building against a local checkout of the upstream sqlite3 pod with these settings adjusted. If that works, maybe we can convince upstream to bump up the deployment target.

from fmdb.

incanus avatar incanus commented on July 23, 2024

Per discussion with @ccgus we're going to go with 2.7.9 and beyond on CocoaPods. He made the tag and I'm going to push. Currently I'm getting linter errors despite the Pod working in Mac/iOS sample projects, so I'll keep at that.

linter output
$ pod trunk push --allow-warnings

[!] Found podspec `FMDB.podspec`
Updating spec repo `trunk`
Validating podspec
 -> FMDB (2.7.9)
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild:  note: Using codesigning identity override: -
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild:  note: Building targets in dependency order
    - NOTE  | [FMDB/standalone, FMDB/standalone-fts, FMDB/SQLCipher, and more...] xcodebuild:  note: Target dependency graph (4 targets)
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/SQLCipher, and more...] xcodebuild:  note: Signing static framework with --generate-pre-encrypt-hashes (in target 'Pods-App' from project 'Pods')
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild:  /var/folders/4_/5s0y5tg88xj76q001s7946d00000gn/T/CocoaPods-Lint-20240208-5713-8oilen-FMDB/App.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target 'App' from project 'App')
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [iOS] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target 'FMDB-FMDB' from project 'Pods')
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target 'FMDB' from project 'Pods')
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild:  note: Using codesigning identity override: 
    - ERROR | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - NOTE  | [FMDB/standard, FMDB/FTS, FMDB/standalone, and more...] xcodebuild:  xcodebuild: error: Found no destinations for the scheme 'App' and action clean.
    - NOTE  | [FMDB/standard,FMDB/FTS] xcodebuild:  note: Target dependency graph (3 targets)
    - NOTE  | [FMDB/standalone,FMDB/standalone-fts] xcodebuild:  clang: error: SDK does not contain 'libarclite' at the path '/Applications/Xcode-15.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a'; try increasing the minimum deployment target
    - NOTE  | [FMDB/standalone,FMDB/standalone-fts] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target 'sqlite3' from project 'Pods')
    - NOTE  | [FMDB/standalone,FMDB/standalone-fts] xcodebuild:  clang: error: SDK does not contain 'libarclite' at the path '/Applications/Xcode-15.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a'; try increasing the minimum deployment target
    - NOTE  | [FMDB/standalone,FMDB/standalone-fts] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.6, but the range of supported deployment target versions is 10.13 to 14.2.99. (in target 'sqlite3' from project 'Pods')
    - NOTE  | [iOS] [FMDB/SQLCipher] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target 'SQLCipher' from project 'Pods')

[!] The spec did not pass validation, due to 1 error.

from fmdb.

incanus avatar incanus commented on July 23, 2024

My hunch here is that there are problems in the project that linting exposes. At first I thought maybe they were only x86_64, but there are also arm64 issues.

Full verbose linter log (~12k lines):

https://gist.github.com/incanus/9c957f803931534d6207499de1635f45

Pulling out the relevant lines, the problems seem to be related to compiling the sqlite3 binary.

e.g.

Ld /Users/incanus/Library/Developer/Xcode/DerivedData/App-ayhqlhdpentoorfyiubetjbkpbaq/Build/Intermediates.noindex/Pods.build/Release-iphonesimulator/sqlite3.build/Objects-normal/arm64/Binary/sqlite3 normal arm64 (in target 'sqlite3' from project 'Pods')

and

Ld /Users/incanus/Library/Developer/Xcode/DerivedData/App-ayhqlhdpentoorfyiubetjbkpbaq/Build/Intermediates.noindex/Pods.build/Release/sqlite3.build/Objects-normal/x86_64/Binary/sqlite3 normal x86_64 (in target 'sqlite3' from project 'Pods')

both fail.

from fmdb.

incanus avatar incanus commented on July 23, 2024

I've at least now figured out that only the standalone and standalone-fts subspecs are failing. The other three succeed.

from fmdb.

incanus avatar incanus commented on July 23, 2024

It looks like we are blocked on pushing a release to CocoaPods until the upstream clemensg/sqlite3pod#22 is solved, potentially with the pull request clemensg/sqlite3pod#23. This will fix the deployment targets issue for the sqlite3 pod that we are using in those subspecs, allowing our Podspec to lint, which is required for pod trunk push to work.

I looked into testing this theory by cloning the upstream sqlite3 repo and pointing to it locally, but that's not allowed in library Podspecs, only in project Podfiles which use the library.

So I can't actually successfully lint the FMDB Podspec if it includes the standalone or standalone-fts subspecs as a result, blocking publish (AFAICT).

from fmdb.

incanus avatar incanus commented on July 23, 2024

I should add that with this as with any use of FMDB via CocoaPods, you could always clone this repo locally and point to it with:

pod 'FMDB', :path => '/path/to/fmdb'

Of course, the standalone and standalone-fts subspecs won't work this way either.

@ccgus Should we consider removing those subspecs for now so that we can publish until the upstream issue is solved?

from fmdb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.