mapbox / mapbox/mason

Can't compile boost_libiostreams for iOS

Open
#400 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
258
Forks
68
PR merge metrics
No merged PRs in 30d

Description

Hi,
I'm discovering Mason usage, so maybe I'm wrong.
I made a simple Makefile for testing purpose.
I can get geojson 0.4.0 build for iOS and the static lib has the 4 slices arm i386 etc.
But when I try the same with boost iostreams lib, it fails by building all slices for x86_64

input file lib-ios-arm64/libboost_iostreams.a is not a fat file
Non-fat file: lib-ios-arm64/libboost_iostreams.a is architecture: x86_64
* Creating Universal Binary...
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: lib-isim-i386/libboost_iostreams.a and lib-isim-x86_64/libboost_iostreams.a have the same architectures (x86_64) and can't be in the same fat output file
make: *** [all] Error 1

Also I can't get the min ios version updated with MASON_PLATFORM_VERSION, it always stays at 8.0.

Here is my makefile

=============================
MASON_PLATFORM=ios
export MASON_PLATFORM
MASON_PLATFORM_VERSION=9.0
export MASON_PLATFORM_VERSION
MASON ?= .mason/mason

all:
#${MASON} install boost_libiostreams 1.63.0
${MASON} install geojson 0.4.0

============================

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the provided Makefile and the Mason install commands for boost_libiostreams and geojson. Inspect how the iOS architecture slices are produced and how MASON_PLATFORM_VERSION is handled, using the lipo errors as the initial failure case. Done means boost_libiostreams produces distinct expected slices and the requested minimum iOS version is honored.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, ios
Domain
build-system, mobile-dev, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.