conan icon indicating copy to clipboard operation
conan copied to clipboard

[bug] libiconv with bazel; Windows needs a .lib for link-time and .dll for runtime

Open peakschris opened this issue 1 year ago • 1 comments

Describe the bug

When using conan to install libiconv with bazel on windows, there is an error. perhaps because the lib and dll files do not have corresponding names. iconv.lib vs iconv-2.dll

windows 10 conan 1.8.0 doxygen create/upload uploads libiconv as dependency to private repo

conan.exe install src\repo\bazel\cpp\conanfile.py --profile:all=src/repo/bazel/cpp/conanprofile.txt -vnotice -r conan-local -g MakeDeps ======== Input profiles ========

======== Computing dependency graph ========

======== Computing necessary packages ======== flatbuffers/24.3.25: Found compatible package '8675ffc0d2e928d2fee1b0f42d1cbf048cf47f15': compiler.cppstd=17

======== Installing packages ========

-------- Downloading 1 package -------- doxygen/1.9.4: Package installed 2896bc7337c6b829c75eb37932fe317038378aaa bzip2/1.0.8: Already installed! (1 of 12) flatbuffers/24.3.25.lcs2: Already installed! (2 of 12) fmt/8.0.1: Already installed! (3 of 12) gtest/1.15.0: Already installed! (4 of 12) rapidjson/cci.20170805: Already installed! (5 of 12) robin-hood-hashing/3.11.5: Already installed! (6 of 12) zlib/1.3.1: Already installed! (7 of 12) libiconv/1.17: Already installed! (8 of 12) z3/4.12.4: Already installed! (9 of 12) cppunit/1.15.1: Already installed! (10 of 12) boost/1.85.0: Already installed! (11 of 12) WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X: WARN: deprecated: 'cpp_info.names' used in: z3/4.12.4, boost/1.85.0, robin-hood-hashing/3.11.5, rapidjson/cci.20170805, fmt/8.0.1, libiconv/1.17, gtest/1.15.0, zlib/1.3.1, bzip2/1.0.8 WARN: deprecated: 'cpp_info.build_modules' used in: bzip2/1.0.8 WARN: deprecated: 'env_info' used in: boost/1.85.0, bzip2/1.0.8, libiconv/1.17, doxygen/1.9.4 WARN: deprecated: 'user_info' used in: boost/1.85.0, flatbuffers/24.3.25.lcs2 WARN: deprecated: 'cpp_info.filenames' used in: boost/1.85.0, z3/4.12.4

======== Finalizing install (deploy, generators) ======== conanfile.py: Writing generators to d:\src\repo\bazel\cpp\conan conanfile.py: Calling generate() ERROR: conanfile.py: Error in generate() method, line 23 bz.generate() ConanException: Windows needs a .lib for link-time and .dll for runtime. Only found d:/workdir/conan/p/libic2f6afebe397b4/p/lib/charset.lib Failed running conan

d:\udu\units\cb_1003_bazel>ls d:/workdir/conan/p/libic2f6afebe397b4/p/lib charset.lib iconv.lib

d:\udu\units\cb_1003_bazel>ls d:/workdir/conan/p/libic2f6afebe397b4/p/bin charset-1.dll iconv-2.dll iconv.exe

How to reproduce it

No response

peakschris avatar Oct 04 '24 22:10 peakschris

Hi @peakschris

We are doing progress to try to support these cases, like https://github.com/conan-io/conan/pull/17045

You reported conan 1.8.0, but I guess that you meant 2.8, that included that PR, so it seems not enough.

We are evolving the core "cpp_info" model to converge to the CPS one, see https://github.com/conan-io/conan/pull/17105, that will allow to fully specify the different names of the files, and that will solve this issue.

memsharded avatar Oct 07 '24 09:10 memsharded