EricWF added a comment.

In https://reviews.llvm.org/D31272#711876, @mehdi_amini wrote:

> Strange. So installing the command line tools is not enough. It has to be 
> that CMAKE_OSX_SYSROOT is only defined on Apple internal install maybe?


Are you sure you're starting with a clean CMake build directory?

> Anyway, if you're exporting through the ABI list and have 
> LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS I expect the link to fail. You're not 
> observing this?

I am not observing this, and LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS is ON. I also 
added `-DCMAKE_OSX_SYSROOT=""` but that had no effect as I would expect.

> I have this error:
> 
>   ld: requested re-export symbol operator new(unsigned long) is not from a 
> dylib, but from lib/CMakeFiles/cxx_objects.dir/__/src/new.cpp.o
>    file 'lib/CMakeFiles/cxx_objects.dir/__/src/new.cpp.o' for architecture 
> x86_64

Interesting. That seems to suggest that `libc++abi.dylib` doesn't provide the 
definition at all. Not necessarily that
the duplicate definitions are causing this.

> I can reproduce with: `cmake -GNinja -DCMAKE_OSX_SYSROOT="" path/to/libcxx`

Here is the script I use to build libc++ on 
https://gist.github.com/EricWF/0bc0ba09b8844d0201b18a01f8f7ffb9.


https://reviews.llvm.org/D31272



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to