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

Change of libcxx linkage #77

Closed
jjerphan opened this issue Sep 9, 2024 · 9 comments
Closed

Change of libcxx linkage #77

jjerphan opened this issue Sep 9, 2024 · 9 comments

Comments

@jjerphan
Copy link
Member

jjerphan commented Sep 9, 2024

#70 changed the linkage of libcxx which is now linked dynamically by default.

This has been observed for mamba with mamba-org/mamba#3434 (see those logs).

@h-vetinari
Copy link
Member

If it's "just" the default, then prioritizing the shared library is actually in the interest of conda-forge's general preference for shared libraries. In that case micromamba should still be able to specify that it wants to link to libc++.a specifically?

If static linkage is not possible anymore then that would obviously be a bigger problem

@jjerphan
Copy link
Member Author

jjerphan commented Sep 9, 2024

OK, probably this should be advertised. What do you think?

@h-vetinari
Copy link
Member

Most packages should be completely fine with shared linkage, as we ship libcxx basically in every environment. Cases like micromamba (everything statically linked) are very rare to my knowledge, so I doubt a conda-forge-wide announce is useful. But I don't mind in principle... 🤷‍♂️

@jjerphan
Copy link
Member Author

jjerphan commented Sep 9, 2024

OK let's close it then.

@jjerphan jjerphan closed this as not planned Won't fix, can't repro, duplicate, stale Sep 9, 2024
@isuruf
Copy link
Member

isuruf commented Sep 9, 2024

#70 changed the linkage of libcxx which is now linked dynamically by default.

Why do you think #70 is the culprit?

@jjerphan
Copy link
Member Author

jjerphan commented Sep 9, 2024

The build logs on micromamba passed with the previous build but do not with the new one, here is the environment change in between the two:

@@ -424,10 +425,10 @@ List of packages in environment: "/Users/runner/micromamba/envs/mambabuild"
   bzip2                      1.0.8         h99b78c6_7          conda-forge
   c-ares                     1.33.1        hd74edd7_0          conda-forge
   ca-certificates            2024.8.30     hf0a4a13_0          conda-forge
-  cctools                    986           h4c9edd9_3          conda-forge
-  cctools_osx-arm64          986           hf2da8af_3          conda-forge
+  cctools                    1009.2        h4c9edd9_0          conda-forge
+  cctools_osx-arm64          1009.2        hfaac078_0          conda-forge
   certifi                    2024.8.30     pyhd8ed1ab_0        conda-forge
-  cffi                       1.17.0        py312h0fad829_1     conda-forge
+  cffi                       1.17.1        py312h0fad829_0     conda-forge
   chardet                    5.2.0         py312h81bd7bf_2     conda-forge
   charset-normalizer         3.3.2         pyhd8ed1ab_0        conda-forge
   click                      8.1.7         unix_pyh707e725_0   conda-forge
@@ -457,14 +458,14 @@ List of packages in environment: "/Users/runner/micromamba/envs/mambabuild"
   jsonschema                 4.23.0        pyhd8ed1ab_0        conda-forge
   jsonschema-specifications  2023.12.1     pyhd8ed1ab_0        conda-forge
   krb5                       1.21.3        h237132a_0          conda-forge
-  ld64                       711           h4c6efb1_3          conda-forge
-  ld64_osx-arm64             711           h5ecc89c_3          conda-forge
+  ld64                       907           h4c6efb1_0          conda-forge
+  ld64_osx-arm64             907           hdd277f2_0          conda-forge
   libarchive                 3.7.4         h83d404f_0          conda-forge
   libcurl                    8.9.1         hfd8ffcc_0          conda-forge
   libcxx                     18.1.8        h3ed4263_7          conda-forge
   libedit                    3.1.20191231  hc8eb9b7_2          conda-forge
   libev                      4.33          h93a5062_2          conda-forge
-  libexpat                   2.6.2         hebf3989_0          conda-forge
+  libexpat                   2.6.3         hf9b8971_0          conda-forge
   libffi                     3.4.2         h3422bc3_5          conda-forge
   libiconv                   1.17          h0d3ecfb_2          conda-forge
   liblief                    0.14.1        h3f3aa29_1          conda-forge
@@ -477,13 +478,15 @@ List of packages in environment: "/Users/runner/micromamba/envs/mambabuild"
   libssh2                    1.11.0        h7a5bd25_0          conda-forge
   libxml2                    2.12.7        h01dff8b_4          conda-forge
   libzlib                    1.3.1         hfb2fe0b_1          conda-forge
+  llvm-tools                 18.1.8        h5090b49_2          conda-forge
+  llvm-tools-18              18.1.8        h5090b49_2          conda-forge

@isuruf
Copy link
Member

isuruf commented Sep 9, 2024

I would need to see the full compiler and linker commands to help with debugging.

@jjerphan
Copy link
Member Author

jjerphan commented Sep 9, 2024

I am not using a machine on macOS so I cannot really tell the different commands used. I recommend that you can browse those logs. Note that this was fixed for micromamba with mamba-org/mamba#3436.

@isuruf
Copy link
Member

isuruf commented Sep 12, 2024

-static-libstdc++ was a deprecated option and I guess they removed it.

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

No branches or pull requests

3 participants