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

bugfix paho-mqtt-c: remove force dynamic linking since there is a check anyway #3382

Closed
wants to merge 2 commits into from

Conversation

a4z
Copy link
Contributor

@a4z a4z commented Nov 2, 2020

Specify library name and version: paho-mqtt-c/1.3.x

The removed lines caused a problem when using lock files

ERROR: paho-mqtt-c/1.3.1: paho-mqtt-cpp/1.1 tried to change paho-mqtt-c/1.3.1 option shared to False
but it was already defined as True

since there is a check later anyway, and forcing surprising options should not happen anyway, I think removing this is the best option.
Alternative, it could be intended, so setting shared happens only on Windows, but personally do not find that every exciting

  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@Croydon
Copy link
Contributor

Croydon commented Nov 2, 2020

For the sake of context: https://cpplang.slack.com/archives/C41CWV9HA/p1604327707394000

Probably a bug in Conan when using lockfiles and not a recipe problem. @solvingj is investigating this 😄

@a4z
Copy link
Contributor Author

a4z commented Nov 2, 2020

here the lock file ,

but , the default option to be shared on non Windows forms is wrong anyway ....

here the linke to the comment that mentions the problem, so the default should only be on Windows. Explicit!
#1888 (comment)

So I will update the PR to set this option only on Windows

{
 "graph_lock": {
  "nodes": {
   "0": {
    "ref": "EcpSdkNative/0.0.1",
    "options": "cpp-httplib:with_brotli=False\ncpp-httplib:with_openssl=False\ncpp-httplib:with_zlib=False\ndjinni-support-lib:shared=False\ndjinni-support-lib:target=Auto\nfmt:fPIC=True\nfmt:header_only=False\nfmt:shared=False\nfmt:with_fmt_alias=False\nlibcurl:fPIC=True\nlibcurl:shared=False\nlibcurl:with_brotli=False\nlibcurl:with_largemaxwritesize=False\nlibcurl:with_ldap=False\nlibcurl:with_libidn=False\nlibcurl:with_libmetalink=False\nlibcurl:with_libpsl=False\nlibcurl:with_librtmp=False\nlibcurl:with_libssh2=False\nlibcurl:with_nghttp2=False\nlibcurl:with_ssl=openssl\nlibcurl:with_zlib=True\nminiz:fPIC=True\nminiz:shared=False\nms-gsl:on_contract_violation=throw\nnlohmann_json:implicit_conversions=True\nnlohmann_json:multiple_headers=True\nopenssl:386=False\nopenssl:fPIC=True\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_cast=False\nopenssl:no_des=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_hmac=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_rc2=False\nopenssl:no_rsa=False\nopenssl:no_sha=False\nopenssl:no_sse2=False\nopenssl:no_threads=False\nopenssl:openssldir=None\nopenssl:shared=False\npaho-mqtt-c:asynchronous=True\npaho-mqtt-c:fPIC=True\npaho-mqtt-c:samples=False\npaho-mqtt-c:shared=False\npaho-mqtt-c:ssl=True\npaho-mqtt-cpp:fPIC=True\npaho-mqtt-cpp:shared=False\npaho-mqtt-cpp:ssl=True\nzlib:fPIC=True\nzlib:minizip=False\nzlib:shared=False",
    "requires": [
     "1",
     "2",
     "3",
     "5",
     "7",
     "8",
     "9",
     "11",
     "12",
     "13",
     "14",
     "15",
     "16",
     "17"
    ],
    "build_requires": [
     "18",
     "19",
     "20",
     "21",
     "23"
    ],
    "path": "../../../conanfile.py",
    "context": "host"
   },
   "1": {
    "ref": "alljoyn/0.16.10#8bdd14149d2092a1e9a02754abb57986",
    "options": "",
    "package_id": "0bbccafbbc9c80e7e3e64a8f394f964ccf6be101",
    "prev": "b5302a3d40291dafb90dfc693646d6a0",
    "context": "host"
   },
   "2": {
    "ref": "openssl/1.1.1h#6abee9fe6223ab7dfe9bc74d10ac3395",
    "options": "386=False\nfPIC=True\nno_asm=False\nno_async=False\nno_bf=False\nno_cast=False\nno_des=False\nno_dh=False\nno_dsa=False\nno_dso=False\nno_hmac=False\nno_md5=False\nno_mdc2=False\nno_rc2=False\nno_rsa=False\nno_sha=False\nno_sse2=False\nno_threads=False\nopenssldir=None\nshared=False",
    "package_id": "d90c6937a846904107bf4cebd7a8705bc34c61ab",
    "prev": "202051b159db0a2d433de72e63af951c",
    "context": "host"
   },
   "3": {
    "ref": "libcurl/7.71.1#d536282b9526c7f4a3eef1bc770e7e20",
    "options": "fPIC=True\nshared=False\nwith_brotli=False\nwith_largemaxwritesize=False\nwith_ldap=False\nwith_libidn=False\nwith_libmetalink=False\nwith_libpsl=False\nwith_librtmp=False\nwith_libssh2=False\nwith_nghttp2=False\nwith_ssl=openssl\nwith_zlib=True\nopenssl:386=False\nopenssl:fPIC=True\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_cast=False\nopenssl:no_des=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_hmac=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_rc2=False\nopenssl:no_rsa=False\nopenssl:no_sha=False\nopenssl:no_sse2=False\nopenssl:no_threads=False\nopenssl:openssldir=None\nopenssl:shared=False\nzlib:fPIC=True\nzlib:minizip=False\nzlib:shared=False",
    "package_id": "2cf31def7946f0f0e9bb3470af6914d793dc878b",
    "prev": "94c45cee63f9cc2babaee3a875a77087",
    "requires": [
     "2",
     "4"
    ],
    "context": "host"
   },
   "4": {
    "ref": "zlib/1.2.11#1579680eade7cc27626667ca4b143529",
    "options": "fPIC=True\nminizip=False\nshared=False",
    "package_id": "d90c6937a846904107bf4cebd7a8705bc34c61ab",
    "prev": "3b0b62768d59c73cea64ddfee67692ee",
    "context": "host"
   },
   "5": {
    "ref": "paho-mqtt-cpp/1.1#07584278ec5a629f5a6f25c11a287815",
    "options": "fPIC=True\nshared=False\nssl=True\nopenssl:386=False\nopenssl:fPIC=True\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_cast=False\nopenssl:no_des=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_hmac=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_rc2=False\nopenssl:no_rsa=False\nopenssl:no_sha=False\nopenssl:no_sse2=False\nopenssl:no_threads=False\nopenssl:openssldir=None\nopenssl:shared=False\npaho-mqtt-c:asynchronous=True\npaho-mqtt-c:fPIC=True\npaho-mqtt-c:samples=False\npaho-mqtt-c:shared=False\npaho-mqtt-c:ssl=True",
    "package_id": "e0ab0293c3f40669e653be6c5519219b5374cfa6",
    "prev": "1cc7b6667017174e0bd8d71ee20ec2ec",
    "requires": [
     "6"
    ],
    "context": "host"
   },
   "6": {
    "ref": "paho-mqtt-c/1.3.1#7047781988c21254a47ae54b9db2caa3",
    "options": "asynchronous=True\nfPIC=True\nsamples=False\nshared=False\nssl=True\nopenssl:386=False\nopenssl:fPIC=True\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_cast=False\nopenssl:no_des=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_hmac=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_rc2=False\nopenssl:no_rsa=False\nopenssl:no_sha=False\nopenssl:no_sse2=False\nopenssl:no_threads=False\nopenssl:openssldir=None\nopenssl:shared=False",
    "package_id": "3319a19cc1350a481525d35618d3a883763edca8",
    "prev": "eaa72cd58a8f071e8dcfcd73ff4413ba",
    "requires": [
     "2"
    ],
    "context": "host"
   },
   "7": {
    "ref": "fmt/7.0.3#2e4cfb84c7647e8c2b5fef1ebb527b7a",
    "options": "fPIC=True\nheader_only=False\nshared=False\nwith_fmt_alias=False",
    "package_id": "2fdea6ea2b74245960b940e1b1e3727157adc92c",
    "prev": "529980a0b847ea6278b7776b2e4e025e",
    "context": "host"
   },
   "8": {
    "ref": "miniz/2.1.0#b467a0f2d49b78bdb3750ecd2712b1ef",
    "options": "fPIC=True\nshared=False",
    "package_id": "d90c6937a846904107bf4cebd7a8705bc34c61ab",
    "prev": "e992313e82d62688868ca5644d7c9c07",
    "context": "host"
   },
   "9": {
    "ref": "sol2/3.2.1#5d4662a52f9c9f8339ac0c2e6b1aa792",
    "options": "lua:compile_as_cpp=True\nlua:fPIC=True\nlua:shared=False",
    "package_id": "5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9",
    "prev": "7959ce577995e68420cc1059b81dd17e",
    "requires": [
     "10"
    ],
    "context": "host"
   },
   "10": {
    "ref": "lua/5.3.5#094cabdb43b69633aa4d8c4341430664",
    "options": "compile_as_cpp=True\nfPIC=True\nshared=False",
    "package_id": "1981fe2728ee78a1f93d379336b6045a005fbc68",
    "prev": "a0558efc91b1efccde266b2de14c59bc",
    "context": "host"
   },
   "11": {
    "ref": "catch2/2.13.1#2ccfeddf538ad6280645dcb52eb6d8f2",
    "options": "",
    "package_id": "5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9",
    "prev": "9f0742e00458e53c65c5dbc65fd2d54b",
    "context": "host"
   },
   "12": {
    "ref": "doctest/2.4.0#d997aefe73f933959f77957a235cc1c0",
    "options": "",
    "package_id": "5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9",
    "prev": "c046465c3ca3c7bf99ddda209de47d05",
    "context": "host"
   },
   "13": {
    "ref": "magic_enum/0.6.6#70ca83c0716d0b967b934598c90b5cfe",
    "options": "",
    "package_id": "5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9",
    "prev": "53783a20fe989682ee550b011b8f3be8",
    "context": "host"
   },
   "14": {
    "ref": "ms-gsl/2.0.0#abb835f05e9749a8e3fb501aa630135a",
    "options": "on_contract_violation=throw",
    "package_id": "5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9",
    "prev": "429f6dd6d594aa3e2f1b2bdcd72d5def",
    "context": "host"
   },
   "15": {
    "ref": "nlohmann_json/3.9.1#be76490e5d707b1c96bd982c7e9aa969",
    "options": "implicit_conversions=True\nmultiple_headers=True",
    "package_id": "9c8f7bbf5ecfc34e9fa77921cffb72b1ad4f2325",
    "prev": "bab20c21c4d7c6ab6d63e5ccecd1991d",
    "context": "host"
   },
   "16": {
    "ref": "djinni-support-lib/pre0.2.0#5c67bbaaab8d12da0362cb389c289dc9",
    "options": "shared=False\ntarget=Auto",
    "package_id": "ba499cce4d6a256f248763e7373676147f2eaff6",
    "prev": "201150398980c1312671aee53c076c02",
    "context": "host"
   },
   "17": {
    "ref": "cpp-httplib/0.7.8#f7568fe0e88020dc4a9042569ba7a632",
    "options": "with_brotli=False\nwith_openssl=False\nwith_zlib=False",
    "package_id": "5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9",
    "prev": "fa0ed2c6415ee3b4c6bfcdee3d7fd2d0",
    "context": "host"
   },
   "18": {
    "ref": "zulu-openjdk/11.0.8#e4e7fa488365e4cc5fa401dff7e027b4",
    "options": "",
    "package_id": "46f53f156846659bf39ad6675fa0ee8156e859fe",
    "prev": "428a82370888a4b0e985d1b49562b38e",
    "context": "build"
   },
   "19": {
    "ref": "djinni-generator/pre0.2.0#912bf0a7679b0b8f5a88001400fb218b",
    "options": "",
    "package_id": "46f53f156846659bf39ad6675fa0ee8156e859fe",
    "prev": "06bb01930e9953eeeea07c47e97bd498",
    "context": "build"
   },
   "20": {
    "ref": "android-ndk/r21d#500d83d6389f47f44020d4229e90b368",
    "options": "",
    "package_id": "46f53f156846659bf39ad6675fa0ee8156e859fe",
    "prev": "a56f31f83ed77d8d98807e9c03824986",
    "context": "build"
   },
   "21": {
    "ref": "cmake/3.18.4#671f54e3149926364cce3ae312f20d82",
    "options": "with_openssl=auto\nopenssl:386=False\nopenssl:fPIC=True\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_cast=False\nopenssl:no_des=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_hmac=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_rc2=False\nopenssl:no_rsa=False\nopenssl:no_sha=False\nopenssl:no_sse2=False\nopenssl:no_threads=False\nopenssl:openssldir=None\nopenssl:shared=False",
    "package_id": "0354374a1f956bf4c1740f410b75585d76071846",
    "prev": "01cce4b9633cfdd304da854ba75d1c39",
    "requires": [
     "22"
    ],
    "context": "build"
   },
   "22": {
    "ref": "openssl/1.1.1h#6abee9fe6223ab7dfe9bc74d10ac3395",
    "options": "386=False\nfPIC=True\nno_asm=False\nno_async=False\nno_bf=False\nno_cast=False\nno_des=False\nno_dh=False\nno_dsa=False\nno_dso=False\nno_hmac=False\nno_md5=False\nno_mdc2=False\nno_rc2=False\nno_rsa=False\nno_sha=False\nno_sse2=False\nno_threads=False\nopenssldir=None\nshared=False",
    "package_id": "647afeb69d3b0a2d3d316e80b24d38c714cc6900",
    "prev": "49818e2a78622e2a4f56d09aff8e5baf",
    "context": "build"
   },
   "23": {
    "ref": "ninja/1.10.1#688e5aa853228d85efe1c43f629854a4",
    "options": "",
    "package_id": "f83037eff23ab3a94190d7f3f7b37a2d6d522241",
    "prev": "b2154dcf9cda27f5ceee25392fe75cb0",
    "context": "build"
   }
  },
  "revisions_enabled": true
 },
 "version": "0.4",
 "profile_host": "[settings]\narch=armv8\nbuild_type=Release\ncompiler=clang\ncompiler.libcxx=libc++\ncompiler.version=9\nos=Android\nos.api_level=21\n[options]\nlibcurl:with_ssl=openssl\nlua:compile_as_cpp=True\nms-gsl:on_contract_violation=throw\nnlohmann_json:multiple_headers=True\npaho-mqtt-c:asynchronous=True\npaho-mqtt-c:shared=False\npaho-mqtt-c:ssl=True\npaho-mqtt-cpp:ssl=True\n[build_requires]\n*: android-ndk/r21d, cmake/3.18.4, ninja/1.10.1\n[env]\n",
 "profile_build": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=apple-clang\ncompiler.libcxx=libc++\ncompiler.version=12.0\nos=Macos\nos_build=Macos\n[options]\n[build_requires]\n[env]\n"
}

@a4z
Copy link
Contributor Author

a4z commented Nov 2, 2020

just to extract the info from the previous post, so it does not get lost:

here the linke to the comment that mentions the problem, the default for shared is required on Windows. Explicit!
#1888 (comment)

so imho still a something that should be fixed in the recipe, because on non Windows platforms, static should still be the default

@solvingj
Copy link
Contributor

solvingj commented Nov 2, 2020

The current PR appears to me to be the right thing to do. Just move the windows-default inside the windows condition. I am still trying to understand how a lockfile was created successfully with a list of settings and options, but throws an exception when trying to use that lockfile. In theory, the lockfile creation process has to execute the config_options() and configure() methods and validate everything.

@a4z
Copy link
Contributor Author

a4z commented Nov 2, 2020

just by running conan install with profiles that set the option, @solvingj

conan version is 1.31.0

this is the install , then using the lockfile from the install generates the problem
hope that helps you

conan install . --install-folder build/android3/debug --profile:build native --profile:host nsdk-android-armv8 -g=virtualenv                                   

Configuration (profile_host):
[settings]
arch=armv8
build_type=Release
compiler=clang
compiler.libcxx=libc++
compiler.version=9
os=Android
os.api_level=21
[options]
libcurl:with_ssl=openssl
lua:compile_as_cpp=True
ms-gsl:on_contract_violation=throw
nlohmann_json:multiple_headers=True
paho-mqtt-c:asynchronous=True
paho-mqtt-c:shared=False
paho-mqtt-c:ssl=True
paho-mqtt-cpp:ssl=True
[build_requires]
*: android-ndk/r21d, cmake/3.18.4, ninja/1.10.1
[env]

Configuration (profile_build):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=12.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

libcurl/7.71.1: WARN: with_openssl, with_winssl, darwin_ssl and with_wolfssl options are deprecated. Use with_ssl option instead.
Configuring package: objc: False jni: True
conanfile.py (EcpSdkNative/0.0.1): Installing package
Requirements
    alljoyn/0.16.10 from 'myproject' - Cache
    catch2/2.13.1 from 'myproject' - Cache
    cpp-httplib/0.7.8 from 'myproject' - Cache
    djinni-support-lib/pre0.2.0 from 'myproject' - Cache
    doctest/2.4.0 from 'myproject' - Cache
    fmt/7.0.3 from 'myproject' - Cache
    libcurl/7.71.1 from 'myproject' - Cache
    lua/5.3.5 from 'myproject' - Cache
    magic_enum/0.6.6 from 'myproject' - Cache
    miniz/2.1.0 from 'myproject' - Cache
    ms-gsl/2.0.0 from 'myproject' - Cache
    nlohmann_json/3.9.1 from 'myproject' - Cache
    openssl/1.1.1h from 'myproject' - Cache
    paho-mqtt-c/1.3.1 from 'myproject' - Cache
    paho-mqtt-cpp/1.1 from 'myproject' - Cache
    sol2/3.2.1 from 'myproject' - Cache
    zlib/1.2.11 from 'myproject' - Cache
Packages
    alljoyn/0.16.10:0bbccafbbc9c80e7e3e64a8f394f964ccf6be101 - Cache
    catch2/2.13.1:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    cpp-httplib/0.7.8:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    djinni-support-lib/pre0.2.0:ba499cce4d6a256f248763e7373676147f2eaff6 - Cache
    doctest/2.4.0:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    fmt/7.0.3:2fdea6ea2b74245960b940e1b1e3727157adc92c - Cache
    libcurl/7.71.1:2cf31def7946f0f0e9bb3470af6914d793dc878b - Cache
    lua/5.3.5:1981fe2728ee78a1f93d379336b6045a005fbc68 - Cache
    magic_enum/0.6.6:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    miniz/2.1.0:d90c6937a846904107bf4cebd7a8705bc34c61ab - Cache
    ms-gsl/2.0.0:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    nlohmann_json/3.9.1:9c8f7bbf5ecfc34e9fa77921cffb72b1ad4f2325 - Cache
    openssl/1.1.1h:d90c6937a846904107bf4cebd7a8705bc34c61ab - Cache
    paho-mqtt-c/1.3.1:3319a19cc1350a481525d35618d3a883763edca8 - Cache
    paho-mqtt-cpp/1.1:e0ab0293c3f40669e653be6c5519219b5374cfa6 - Cache
    sol2/3.2.1:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    zlib/1.2.11:d90c6937a846904107bf4cebd7a8705bc34c61ab - Cache
Build requirements
    android-ndk/r21d from 'myproject' - Cache
    cmake/3.18.4 from 'myproject' - Cache
    djinni-generator/pre0.2.0 from 'myproject' - Cache
    ninja/1.10.1 from 'myproject' - Cache
    openssl/1.1.1h from 'myproject' - Cache
    zulu-openjdk/11.0.8 from 'myproject' - Cache
Build requirements packages
    android-ndk/r21d:46f53f156846659bf39ad6675fa0ee8156e859fe - Cache
    cmake/3.18.4:0354374a1f956bf4c1740f410b75585d76071846 - Cache
    djinni-generator/pre0.2.0:46f53f156846659bf39ad6675fa0ee8156e859fe - Cache
    ninja/1.10.1:f83037eff23ab3a94190d7f3f7b37a2d6d522241 - Cache
    openssl/1.1.1h:647afeb69d3b0a2d3d316e80b24d38c714cc6900 - Cache
    zulu-openjdk/11.0.8:46f53f156846659bf39ad6675fa0ee8156e859fe - Cache

Cross-build from 'Macos:x86_64' to 'Android:armv8'
Installing (downloading, building) binaries...
alljoyn/0.16.10: Already installed!
android-ndk/r21d: Already installed!
android-ndk/r21d: Creating NDK_ROOT environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64
android-ndk/r21d: Creating ANDROID_NDK_HOME environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe
android-ndk/r21d: Creating CHOST environment variable: aarch64-linux-android
android-ndk/r21d: Creating CONAN_CMAKE_FIND_ROOT_PATH environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/sysroot
android-ndk/r21d: Creating SYSROOT environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/sysroot
android-ndk/r21d: Creating self.cpp_info.sysroot: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/sysroot
android-ndk/r21d: Creating ANDROID_NATIVE_API_LEVEL environment variable: 21
android-ndk/r21d: Creating CONAN_CMAKE_PROGRAM environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/cmake-wrapper
android-ndk/r21d: Creating CONAN_CMAKE_TOOLCHAIN_FILE environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/build/cmake/android.toolchain.cmake
android-ndk/r21d: Creating CC environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang
android-ndk/r21d: Creating CXX environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang++
android-ndk/r21d: Creating LD environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ld
android-ndk/r21d: Creating AR environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ar
android-ndk/r21d: Creating AS environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-as
android-ndk/r21d: Creating RANLIB environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ranlib
android-ndk/r21d: Creating STRIP environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-strip
android-ndk/r21d: Creating ADDR2LINE environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-addr2line
android-ndk/r21d: Creating NM environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-nm
android-ndk/r21d: Creating OBJCOPY environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-objcopy
android-ndk/r21d: Creating OBJDUMP environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-objdump
android-ndk/r21d: Creating READELF environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-readelf
android-ndk/r21d: Creating ELFEDIT environment variable: /Users/a4z/myproject/nsdk/.conan/data/android-ndk/r21d/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-elfedit
catch2/2.13.1: Already installed!
cpp-httplib/0.7.8: Already installed!
djinni-generator/pre0.2.0: Already installed!
djinni-support-lib/pre0.2.0: Already installed!
doctest/2.4.0: Already installed!
fmt/7.0.3: Already installed!
lua/5.3.5: Already installed!
magic_enum/0.6.6: Already installed!
miniz/2.1.0: Already installed!
ms-gsl/2.0.0: Already installed!
ninja/1.10.1: Already installed!
nlohmann_json/3.9.1: Already installed!
openssl/1.1.1h: Already installed!
openssl/1.1.1h: Already installed!
zlib/1.2.11: Already installed!
zulu-openjdk/11.0.8: Already installed!
zulu-openjdk/11.0.8: Creating JAVA_HOME environment variable with : /Users/a4z/myproject/nsdk/.conan/data/zulu-openjdk/11.0.8/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe
zulu-openjdk/11.0.8: Appending PATH environment variable with : /Users/a4z/myproject/nsdk/.conan/data/zulu-openjdk/11.0.8/_/_/package/46f53f156846659bf39ad6675fa0ee8156e859fe/bin
cmake/3.18.4: Already installed!
cmake/3.18.4: Appending PATH environment variable: /Users/a4z/myproject/nsdk/.conan/data/cmake/3.18.4/_/_/package/0354374a1f956bf4c1740f410b75585d76071846/bin
libcurl/7.71.1: Already installed!
paho-mqtt-c/1.3.1: Already installed!
sol2/3.2.1: Already installed!
paho-mqtt-cpp/1.1: Already installed!
conanfile.py (EcpSdkNative/0.0.1): Applying build-requirement: android-ndk/r21d
conanfile.py (EcpSdkNative/0.0.1): Applying build-requirement: cmake/3.18.4
conanfile.py (EcpSdkNative/0.0.1): Applying build-requirement: ninja/1.10.1
conanfile.py (EcpSdkNative/0.0.1): Applying build-requirement: zulu-openjdk/11.0.8
conanfile.py (EcpSdkNative/0.0.1): Applying build-requirement: djinni-generator/pre0.2.0
conanfile.py (EcpSdkNative/0.0.1): Applying build-requirement: openssl/1.1.1h
conanfile.py (EcpSdkNative/0.0.1): Generator virtualenv created activate.ps1
conanfile.py (EcpSdkNative/0.0.1): Generator virtualenv created deactivate.ps1
conanfile.py (EcpSdkNative/0.0.1): Generator virtualenv created environment.ps1.env
conanfile.py (EcpSdkNative/0.0.1): Generator virtualenv created activate.sh
conanfile.py (EcpSdkNative/0.0.1): Generator virtualenv created deactivate.sh
conanfile.py (EcpSdkNative/0.0.1): Generator virtualenv created environment.sh.env
conanfile.py (EcpSdkNative/0.0.1): Generator cmake created conanbuildinfo.cmake
conanfile.py (EcpSdkNative/0.0.1): Generator txt created conanbuildinfo.txt
conanfile.py (EcpSdkNative/0.0.1): Generated conaninfo.txt
conanfile.py (EcpSdkNative/0.0.1): Generated graphinfo

@conan-center-bot
Copy link
Collaborator

All green in build 2 (431a686634994d3a612731f05bbb072aa278b1cd)! 😊

@solvingj
Copy link
Contributor

solvingj commented Nov 2, 2020

Ok, I THINK I get it now. I will report a new bug based on this.

Copy link
Contributor

@Croydon Croydon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this should get merged. Having different default options based on the OS is even more confusing. And again, if I recall correctly and understood @icraggs correctly, then paho-mqtt-c did not official support static linking before 1.3.4

@a4z
Copy link
Contributor Author

a4z commented Nov 3, 2020

I don't think this should get merged. Having different default options based on the OS is even more confusing. And again, if I recall correctly and understood @icraggs correctly, then paho-mqtt-c did not official support static linking before 1.3.4

I provided a link, static linking was not working for Windows for one person, and this was not by the author. Read it @Croydon

If Windows needs special handing, why infecting the working and sane solutions and OSes?
Not to forget, static linking was the default for a long time before, so this change should have never been accepted this way since it broke existing solution.
see also conan-io/conan#7991 (comment)

I seriously do not think blocking this PR and preventing a general well working solution is productive and helpful.

@Croydon
Copy link
Contributor

Croydon commented Nov 3, 2020

I provided a link, static linking was not tested for Windows and it was not by the author. Read it @Croydon

I did read it several times and even participated in the review back then.

@icraggs said that static linking wasn't tested and wasn't intended to be used in older versions. He didn't limit this statement to Windows-only. See e.g. #1888 (comment)

And to repeat this argument, I think from a consumer perspective it is much more surprising that by default Windows builds shared libraries and other operating systems build static. Having this uniform might prevent unpleasant surprises or even more conditional handling on the consumer side.

I seriously do not think blocking this PR

I can't block pull requests. If other reviewers think the benefits of this change are bigger than the disadvantages and you get two more approvals it will get merged.

and preventing a general well working solution is productive and helpful.

The current state should work just fine. The problem you run into is a Conan client bug and I'm somewhat wondering if you would have wanted to change the recipe if you wouldn't have encountered the client bug.

@danimtb
Copy link
Member

danimtb commented Nov 3, 2020

I agree that this PR solves the issue but I also believe this PR was encouraged due to the Conan issue, so let's wait for the ongoing investigation of this issue at conan-io/conan#7991. Thank you

@prince-chrismc
Copy link
Contributor

The aforementioned bug has been resolved, could this be retested to see if the issue is solved without this PR?

@ghost
Copy link

ghost commented Dec 9, 2020

I detected other pull requests that are modifying paho-mqtt-c recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@a4z
Copy link
Contributor Author

a4z commented Dec 9, 2020

I think this is not required anymore with conan 1.32,
at least, I just run the installation using a lockfile like before and no problems
so I close that

@a4z a4z closed this Dec 9, 2020
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

Successfully merging this pull request may close these issues.

7 participants