Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Okay, this is progress. I've seen this ___emutls_get_address problem myself before. It's picking up a library that it shouldn't, namely /usr/local/lib/libstdc++.6.dylib: I don't have any such library there, and I compile in both C and C++ all the time: those libraries live in /usr/lib. It's quite likely it's picking up an incompatible version and not finding the functions, because of a library path ordering issue so that /usr/local/lib is dominating /usr/lib (which is often what you want).

First, for information purposes: could you confirm that you have libstdc++ in /usr/lib via ls -la /usr/lib/libstdc*? You should have the library itself (6.0.9, I think) and an unversioned symbolic link pointing to it. Then use "file /usr/local/lib/libstdc++.6.dylib" (or whatever the name is: I don't have the file so it's easy for me to have typos!) to look at the architecture for that one.

Second, for an attempt at an actual solution: try moving /usr/local to /usr/local_tmp and recompiling. There's nothing in /usr/local that you should need to compile Sage -- and I think the existence of this alternate library from one of the SDK packages is causing the problems.

(BTW, I don't think there's anyone here called Miles. There's Niles, and there's me, who wrote the reply, but that's it. :^)

Okay, this is progress. I've seen this ___emutls_get_address problem myself before. It's picking up a library that it shouldn't, namely /usr/local/lib/libstdc++.6.dylib: I don't have any such library there, and I compile in both C and C++ all the time: time; those libraries live in /usr/lib. It's quite likely it's picking up an incompatible version and not finding the functions, because of a library path ordering issue so that /usr/local/lib is dominating /usr/lib (which is often what you want).

First, for information purposes: could you confirm that you have libstdc++ in /usr/lib via ls -la /usr/lib/libstdc*? You should have the library itself (6.0.9, I think) and an unversioned symbolic link pointing to it. Then use "file /usr/local/lib/libstdc++.6.dylib" (or whatever the name is: I don't have the file so it's easy for me to have typos!) to look at the architecture for that one.

Second, for an attempt at an actual solution: try moving /usr/local to /usr/local_tmp and recompiling. There's nothing in /usr/local that you should need to compile Sage -- and I think the existence of this alternate library from one of the SDK packages is causing the problems.

(BTW, I don't think there's anyone here called Miles. There's Niles, and there's me, who wrote the reply, but that's it. :^)