Skip to content

Commit 7bf933d

Browse files
committed
Resolves #15: Add solution for Boost and Framework related warnings on Mac OS build
1 parent 86676b9 commit 7bf933d

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

README.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,40 @@ Document Layer build depends on the following projects. If you are building usin
2626

2727
We depend on Boost 1.67 for Boost.DLL. Even though the DLL is a header only library, it depends on the non-header only libraries - filesystem and system. You can setup Boost as below:
2828

29+
The flag `-fvisibility` is set to `hidden` to avoid boost library related warnings in Mac OS.
2930
```
3031
cd /tmp/ && \
3132
curl -L -J -O https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gz && \
3233
tar -xzf boost_1_67_0.tar.gz && \
3334
cd boost_1_67_0 && \
3435
./bootstrap.sh --prefix=./ && \
35-
./b2 install --with-filesystem --with-system
36+
./b2 cxxflags=-fvisibility=hidden install --with-filesystem --with-system
3637
```
3738

3839
and set the `BOOST_ROOT` environment variable to be `/tmp/boost_1_67_0/`. This is how CMake build picks the Boost packages. Since Boost is statically linked, it does not matter where you installed it.
3940

41+
#### Framework
42+
While building document layer in Mac platform, warnings might be thrown like 'library out of sync'. This can be avoided by doing either one of following methods,
43+
44+
##### Method-1
45+
This step will guide to remove existing xcode libraries and install latest xcode libraries. This is permanent fix for framework related warnings. Make sure backup the existing libraries and remove this backup only if latest installtion works.
46+
47+
```
48+
$ sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.old
49+
$ xcode-select --install
50+
$ sudo rm -rf /Library/Developer/CommandLineTools.old
51+
```
52+
53+
##### Method-2
54+
Without disturbing existing libraries and add proper SDK path for framework libraries. Make sure this path set whenever opening a new terminal.
55+
56+
```
57+
$ Xcrun –show-sdk-path
58+
--> The above command will show the sdk-path
59+
--> copy sdk-path and paste it below in double quotes
60+
$ export SDKROOT=<sdk-path>
61+
```
62+
4063
#### FoundationDB
4164

4265
We depend on FoundationDB for the flow, fdb_flow and fdb_c libraries. CMake should get and build FoundationDB libraries from GitHub automatically as part of the build.

0 commit comments

Comments
 (0)