Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARROW-233: Add visibility macros, add static build option #100

Closed
wants to merge 2 commits into from

Conversation

wesm
Copy link
Member

@wesm wesm commented Jul 8, 2016

This also resolves ARROW-213. Builds off work done in PARQUET-489.

I inserted a hack to deal with the fast the boost libs in apt won't statically link properly. We'll deal with that some other time.

@wesm
Copy link
Member Author

wesm commented Jul 9, 2016

This must wait on apache/parquet-cpp#134

@xhochy
Copy link
Member

xhochy commented Jul 9, 2016

Looks ok, 👍 for the Code changes, waiting for Travis to be happy.

@wesm wesm force-pushed the ARROW-233 branch 2 times, most recently from 56bd50b to 3027692 Compare July 9, 2016 20:05
// valgrind to report a (spurious?) memory leak when needed in other shared
// libraries. The problem came up while adding explicit visibility to libarrow
// and libarrow_parquet
static TypePtr kBinaryValueType = TypePtr(new UInt8Type());
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@emkornfield this was a pretty thorny issue that took me a while to figure out (beyond my C++ DSO knowledge). The issue was that the static value_type_ was being used at compile time in translation units in libarrow_parquet, so something about the order of static initialization was causing a memory leak, or at least something valgrind thought was a memory leak. The problem didn't appear until symbol visibility became explicit

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:( I think I might have used this pattern a few other places. i'll do a scan and see if anything else pops up, submit the necessary PR

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So far so good; let's await the visibility patch to get green (still wrestling with builds, if you wouldn't mind a quick review of apache/parquet-cpp#135 it would help me)

@wesm
Copy link
Member Author

wesm commented Jul 9, 2016

Shoot, I think I accidentally clobbered -undefined dynamic_lookup in the Parquet OS X shared lib. I will debug and put up another patch

@wesm
Copy link
Member Author

wesm commented Jul 9, 2016

If anything, it's pretty clear from this experience that we need to move the library artifact builds off the ASF repos, either to conda-forge or to an auxiliary repo where we can use docker + CircleCI. This might also help with setting up some more ad hoc integration testing that might not make sense in this repo

- Hack around Travis CI inability to use its boost static libraries
- Use parquet_shared name
- More informative verbose test logs
- Fix some gtest-1.7.0 crankiness
- Fix a valgrind shared_ptr possible memory leak stemming from static variable
  referenced at compile-time in libarrow_parquet
- Fix a bunch of compiler warnings in release builds

Change-Id: I4f519751becaf6fbdbc0e2fe79938dec13876b30
@wesm
Copy link
Member Author

wesm commented Jul 10, 2016

Rebased after PARQUET-659...fingers crossed.

@wesm
Copy link
Member Author

wesm commented Jul 10, 2016

Phew! @xhochy let me know when this one meets your approval

@xhochy
Copy link
Member

xhochy commented Jul 10, 2016

+1, LGTM

@wesm
Copy link
Member Author

wesm commented Jul 10, 2016

+1 🎉

@asfgit asfgit closed this in 77598fa Jul 10, 2016
@wesm wesm deleted the ARROW-233 branch July 10, 2016 20:18
wesm pushed a commit to wesm/arrow that referenced this pull request Sep 2, 2018
Author: Uwe L. Korn <uwelk@xhochy.com>

Closes apache#100 from xhochy/parquet-607 and squashes the following commits:

88fbfb5 [Uwe L. Korn] PARQUET-607: Public writer header
wesm pushed a commit to wesm/arrow that referenced this pull request Sep 4, 2018
Author: Uwe L. Korn <uwelk@xhochy.com>

Closes apache#100 from xhochy/parquet-607 and squashes the following commits:

88fbfb5 [Uwe L. Korn] PARQUET-607: Public writer header

Change-Id: Iee0998f05d5a9625e17c3e9ae4b94a07ac5376a4
wesm pushed a commit to wesm/arrow that referenced this pull request Sep 6, 2018
Author: Uwe L. Korn <uwelk@xhochy.com>

Closes apache#100 from xhochy/parquet-607 and squashes the following commits:

88fbfb5 [Uwe L. Korn] PARQUET-607: Public writer header

Change-Id: Iee0998f05d5a9625e17c3e9ae4b94a07ac5376a4
wesm pushed a commit to wesm/arrow that referenced this pull request Sep 7, 2018
Author: Uwe L. Korn <uwelk@xhochy.com>

Closes apache#100 from xhochy/parquet-607 and squashes the following commits:

88fbfb5 [Uwe L. Korn] PARQUET-607: Public writer header

Change-Id: Iee0998f05d5a9625e17c3e9ae4b94a07ac5376a4
wesm pushed a commit to wesm/arrow that referenced this pull request Sep 8, 2018
Author: Uwe L. Korn <uwelk@xhochy.com>

Closes apache#100 from xhochy/parquet-607 and squashes the following commits:

88fbfb5 [Uwe L. Korn] PARQUET-607: Public writer header

Change-Id: Iee0998f05d5a9625e17c3e9ae4b94a07ac5376a4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants