Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

Use libstdc++.so.6.0.9 to workaround static init problems #1110

Merged
merged 4 commits into from
Aug 28, 2015

Conversation

saper
Copy link
Member

@saper saper commented Aug 27, 2015

libsass needs to be linked against libc++ from clang
on MacOSX to use advanced C++11 functions.

The binding code is not that picky and we can try
to link against whatever is the default.
Mixing C++ runtime libraries is still very bad, but
we should be able to avoid crash when being
used with another node module using nan.h
and its GetWrapper() static cache:

fsevents/fsevents#82

Allow to link the binding against
oldish libstdc++.6.0.9 installed on MacOSX
(from gcc 4.2.1)
@saper saper changed the title Use libstdc++.so.6.0.9 to workardound static init problems Use libstdc++.so.6.0.9 to workaround static init problems Aug 27, 2015
@xzyfer
Copy link
Contributor

xzyfer commented Aug 27, 2015

IIRC this would ideally be superseded by nodejs/nan#431?

Remove C++11 feature in order to be
able to compile against libstdc++.so.6.0.9
on MacOSX.
@saper
Copy link
Member Author

saper commented Aug 27, 2015

@xzyfer can you check if this compiles, and if it does, does it crash with stock nan 2.0.7 (without nodejs/nan#431 applied)

@xzyfer
Copy link
Contributor

xzyfer commented Aug 27, 2015

This appears to work @saper

@saper
Copy link
Member Author

saper commented Aug 27, 2015

Yay! :happy:

@xzyfer
Copy link
Contributor

xzyfer commented Aug 28, 2015

Do you have objections to the nan patch? Doesn't look like we can avoid it
On 28 Aug 2015 09:54, "Marcin Cieślak" notifications@github.com wrote:

Yay! :happy:


Reply to this email directly or view it on GitHub
#1110 (comment).

@saper saper force-pushed the libcxx609 branch 3 times, most recently from f67b8aa to 44ebb6a Compare August 28, 2015 08:43
@saper
Copy link
Member Author

saper commented Aug 28, 2015

As to relation to nodejs/nan#431: nan use of static revealed an incompatibility between C++ libraries or a linker/compiler bug. This can be to a large extent avoided by this patch here. There is a possibility that some other binary component (not necessarily nan) introduces a feature that breaks again, so we should stay on a safe side.

@xzyfer
Copy link
Contributor

xzyfer commented Aug 28, 2015

I'm happy for you to ship this. I'm for about 16hrs. Feel free to merge and
start building freebsd binaries.
On 28 Aug 2015 18:49, "Marcin Cieślak" notifications@github.com wrote:

As to relation to nodejs/nan#431 nodejs/nan#431:
nan use of static revealed an incompatibility between C++ libraries or a
linker/compiler bug. This can be to a large extent avoided by this patch
here. There is a possibility that some other binary component (not
necessarily nan) introduces a feature that breaks again, so we should stay
on a safe side.


Reply to this email directly or view it on GitHub
#1110 (comment).

@saper
Copy link
Member Author

saper commented Aug 28, 2015

So we are about to get 3.3.2 soon :)

@saper
Copy link
Member Author

saper commented Aug 28, 2015

@xzyfer would be cool if you were able to check 60e0b25, er saper@d178927 (without nan patch) if it fixes the issue. We should probably get MacOSX CI :)

@saper saper merged commit d178927 into sass:master Aug 28, 2015
@xzyfer
Copy link
Contributor

xzyfer commented Aug 29, 2015

We've tried to get OSX CI but we were denied by the Travis team. I'll chase them up again.

@saper saper added this to the v3.3.2 milestone Aug 29, 2015
jiongle1 pushed a commit to scantist-ossops-m2/node-sass that referenced this pull request Apr 7, 2024
Add a join us in slack button to the readme
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants