You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Meson with ninja >= 1.12 failed to archive shared libraries in AIX.
To Reproduce
Build any library like glib2 which creates shared libraries that share symbols amongst themselves.
Expected behavior
A clean build
system parameters
Is this a cross build or just a plain native build (for the same computer)? No
what operating system (e.g. MacOS Catalina, Windows 10, CentOS 8.0, Ubuntu 18.04, etc.) AIX
what Python version are you using e.g. 3.8.0 Python3.9
what meson --version Master branch
what ninja --version if it's a Ninja build - 1.12 and higher
So as reported here by an AIX user, meson does not archive with ninja >= 1.12.
The reason being I missed out marking SHSYM here target file to be the archive during the shared library archive feature development for AIX.
What this does is tell Ninja that "you need to build the archive first and then depend on that to build the next shared library archive.".
If we do not do that, then though Ninja wants to link the archive, it will skip creating the archive since in SHSYM it sees just a ".so" and not the archive. Hence, when multiple threads execute, we do not have the archive, and we get the build error like how the user got here.
One sample example for a wrong build.ninja file is this,
Describe the bug
Meson with ninja >= 1.12 failed to archive shared libraries in AIX.
To Reproduce
Build any library like glib2 which creates shared libraries that share symbols amongst themselves.
Expected behavior
A clean build
system parameters
meson --version
Master branchninja --version
if it's a Ninja build - 1.12 and higherSo as reported here by an AIX user, meson does not archive with ninja >= 1.12.
The reason being I missed out marking SHSYM here target file to be the archive during the shared library archive feature development for AIX.
What this does is tell Ninja that "you need to build the archive first and then depend on that to build the next shared library archive.".
If we do not do that, then though Ninja wants to link the archive, it will skip creating the archive since in SHSYM it sees just a ".so" and not the archive. Hence, when multiple threads execute, we do not have the archive, and we get the build error like how the user got here.
One sample example for a wrong build.ninja file is this,
The
SHSYM glib/libglib-2.0.so.0
part is the problem. I want to change this to an archive, and this will fix the issue.cc @eli-schwartz
Kindly let me know what you think.
The text was updated successfully, but these errors were encountered: