conan-io / conan

Conan - The open-source C and C++ package manager
https://conan.io
MIT License
8k stars 954 forks source link

[question] is it possible to generate macOs binaries and upload through a remote using GH workflows? #15669

Closed manuelpagliuca closed 5 months ago

manuelpagliuca commented 5 months ago

Hello, I have a question regarding conan and macOs binaries, I need to generate binaries package and upload them to a remote, they are for boost/1.78.0, the issue is that I don't have an intel chipset (I have Apple Silicon).

For this reason I would like to use the GH runner (macos-12) for generating the binaries and upload them on JFrog artifactory.

The action :

- name: uploading to artifactory (to remove)
  run: |
    echo "Installing Conan configuration..."
    conan config install ./code/conan/config
    echo "Configuring Conan user..."
    conan user -c
    echo "Setting GitHub user for remote repository 'jfrog'..."
    conan user github --remote jfrog --password "${{ secrets.CONAN_TOKEN_BIMPLUGIN_GITHUB }}"
    echo "Installing Boost dependencies with Conan..."
    conan install boost/1.78.0@ --profile macos --build=missing --remote conancenter
    echo "Uploading generated packages to Artifactory..."
    conan upload * -r jfrog --all

Is this possible and a good idea? I don't know where I could virtualize this kind of environment. I get a weird error from the output, I attached to the message. output_logs_0.txt

memsharded commented 5 months ago

Hi @manuelpagliuca

yes, it is possible to create Mac binaries for armv8 in an x86_64 machine and viceversa.

The key is that this is a cross-build scenario, and it is solved with the 2 profiles approach. Please read: https://docs.conan.io/2/tutorial/consuming_packages/cross_building_with_conan.html (the concept is the same in Conan 1, but it is better explained in the Conan 2.0 docs)

A completely different issue is that you have some error in your upload command:

usage: conan upload [-h] [-p PACKAGE] [-q QUERY] [-r REMOTE] [--all]
                    [--skip-upload] [--force] [--check] [-c] [--retry RETRY]
                    [--retry-wait RETRY_WAIT] [-no [{all,recipe}]] [-j JSON]
                    [--parallel]
                    pattern_or_reference
conan upload: error: unrecognized arguments: translations

Mostly because you are not quoting the * Use:

conan upload "*" -r=jfrog --all
manuelpagliuca commented 5 months ago

Thanks for the comprensive answer, now I'm going to read the article and let you know if I solved and how. Thanks a lot @memsharded :)

manuelpagliuca commented 5 months ago

I run the following command conan install boost/1.78.0@ --build=missing --profile:host=macos --remote=conancenter.

Everything get downloaded correctly until I reach this point, and I get this error:

boost/1.78.0: 
boost/1.78.0: ERROR: Package 'cee4397e7ca7990a3e02337e3fe31839e6dee76c' build failed
boost/1.78.0: WARN: Build folder /Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel
ERROR: boost/1.78.0: Error in build() method, line 942
    self.run(full_command)
    ConanException: Error 1 while executing b2 -q numa=on target-os=darwin architecture=x86 address-model=64 binary-format=mach-o abi=sysv --layout=system --user-config=/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=clang-darwin cxxstd=17 pch=on -sLIBBACKTRACE_PATH=/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 -sICONV_PATH=/Users/manuel/.conan/data/libiconv/1.17/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 linkflags="-stdlib=libc++ -mmacosx-version-min=10.13" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=10.13 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/manuel/.conan/data/boost/1.78.0/_/_/package/cee4397e7ca7990a3e02337e3fe31839e6dee76c -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel"
memsharded commented 5 months ago

--profile:host=macos

Is this a cross-build attempt? If it is, you need to pass --profile:build=macos_build with macos_build different to macos

manuelpagliuca commented 5 months ago

Shouldn't it use the default profile automatically?

memsharded commented 5 months ago

Not in Conan 1.X. It is mandatory in Conan 1.X to opt-in the cross-build flow

manuelpagliuca commented 5 months ago

Can the default profile use a different compiler version respect to the host?

manuelpagliuca commented 5 months ago

default profile:

[settings]
os=Macos
os_build=Macos
arch=armv8
arch_build=armv8
compiler=apple-clang
compiler.version=15.0
compiler.libcxx=libc++
build_type=MinSizeRel
[options]
[conf]
[build_requires]
[env]

macos profile:

[settings]
os=Macos
os.version=10.13
os_build=Macos
arch=x86_64
arch_build=x86_64
compiler=apple-clang
compiler.version=14.0
compiler.libcxx=libc++
compiler.cppstd=17
build_type=MinSizeRel
[options]
[conf]
[build_requires]
[env]
MACOSX_DEPLOYMENT_TARGET=10.13
memsharded commented 5 months ago

Of course, not only a different compiler version, but a different compiler. Most cross-compile scenarios do that, eg. cross compiling from Windows to Linux, you will have compiler=msvc in the "build" profile (Windows current build machine) and compiler=gcc in the "host" profile (Linux host machine running the final app)

manuelpagliuca commented 5 months ago

This is a great feature to have.

manuelpagliuca commented 5 months ago

I thought that the issue was given by the setting settings.build_type=Release on the host profile, so I changed it to MinSizeRel for align it with the macos profile. But this doesn't solves the problem.

Same output error:

(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan install boost/1.78.0@ --build=missing --profile:host=macos --remote=conancenter
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=MinSizeRel
compiler=apple-clang
compiler.cppstd=17
compiler.libcxx=libc++
compiler.version=14.0
os=Macos
os.version=10.13
os_build=Macos
archicad_adk:os.version=None
cmake:build_type=Release
ninja:build_type=Release
openssl:build_type=Release
[options]
[build_requires]
[env]
MACOSX_DEPLOYMENT_TARGET=10.13
boost/1.78.0: WARN: Package binary is corrupted, removing: cee4397e7ca7990a3e02337e3fe31839e6dee76c
Version ranges solved
    Version range '>=1.2.11 <2' required by 'boost/1.78.0' resolved to 'zlib/1.3.1' in local cache

Installing package: boost/1.78.0
Requirements
    boost/1.78.0 from 'conancenter' - Cache
    bzip2/1.0.8 from 'conancenter' - Cache
    libbacktrace/cci.20210118 from 'conancenter' - Cache
    libiconv/1.17 from 'conancenter' - Cache
    zlib/1.3.1 from 'conancenter' - Cache
Packages
    boost/1.78.0:cee4397e7ca7990a3e02337e3fe31839e6dee76c - Build
    bzip2/1.0.8:4dc82e4eb4df7e160d626d5cdd57f1018086c231 - Cache
    libbacktrace/cci.20210118:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Cache
    libiconv/1.17:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Cache
    zlib/1.3.1:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Cache
Build requirements
    b2/4.10.1 from 'conancenter' - Cache
Build requirements packages
    b2/4.10.1:8816c9dec6ae4156f714917a6cc95b8f0fd0bdba - Cache

Installing (downloading, building) binaries...
b2/4.10.1: Already installed!
bzip2/1.0.8: Already installed!
libbacktrace/cci.20210118: Already installed!
libiconv/1.17: Already installed!
zlib/1.3.1: Already installed!
boost/1.78.0: Applying build-requirement: b2/4.10.1
boost/1.78.0: WARN: Build folder is dirty, removing it: /Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c
boost/1.78.0: Building your package in /Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c
boost/1.78.0: Generator txt created conanbuildinfo.txt
boost/1.78.0: Calling generate()
boost/1.78.0: Aggregating env generators
boost/1.78.0: Calling build()
boost/1.78.0: WARN: replace_in_file didn't find pattern '$(>) > $(<)' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/libs/stacktrace/build/Jamfile.v2' file.
boost/1.78.0: WARN: replace_in_file didn't find pattern 'local generic-os = [ set.difference $(all-os) : aix darwin vxworks solaris osf hpux ] ;' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/src/tools/gcc.jam' file.
boost/1.78.0: WARN: replace_in_file didn't find pattern 'local no-threading = android beos haiku sgi darwin vxworks ;' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/src/tools/gcc.jam' file.
boost/1.78.0: WARN: replace_in_file didn't find pattern '    <conditional>@numa' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/libs/fiber/build/Jamfile.v2' file.
boost/1.78.0: WARN: Patching user-config.jam
boost/1.78.0: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
boost/1.78.0: WARN: 
using zlib : 1.3.1 : <include>"/Users/manuel/.conan/data/zlib/1.3.1/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/include" <search>"/Users/manuel/.conan/data/zlib/1.3.1/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/lib" <name>z ;
using bzip2 : 1.0.8 : <include>"/Users/manuel/.conan/data/bzip2/1.0.8/_/_/package/4dc82e4eb4df7e160d626d5cdd57f1018086c231/include" <search>"/Users/manuel/.conan/data/bzip2/1.0.8/_/_/package/4dc82e4eb4df7e160d626d5cdd57f1018086c231/lib" <name>bz2 ;
using "clang-darwin" :  :  "/Library/Developer/CommandLineTools/usr/bin/clang++" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -arch x86_64 : 
<archiver>"/Library/Developer/CommandLineTools/usr/bin/ar" <ranlib>"/Library/Developer/CommandLineTools/usr/bin/ranlib" <compileflags>"-I/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/include" <linkflags>"-L/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/lib"  ;
boost/1.78.0: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
boost/1.78.0: WARN: b2 -q numa=on target-os=darwin architecture=x86 address-model=64 binary-format=mach-o abi=sysv --layout=system --user-config=/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=clang-darwin cxxstd=17 pch=on -sLIBBACKTRACE_PATH=/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 -sICONV_PATH=/Users/manuel/.conan/data/libiconv/1.17/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 linkflags="-stdlib=libc++ -mmacosx-version-min=10.13" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=10.13 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/manuel/.conan/data/boost/1.78.0/_/_/package/cee4397e7ca7990a3e02337e3fe31839e6dee76c -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel"
notice: found boost-build.jam at /Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/boost-build.jam
notice: loading B2 from /Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/kernel/bootstrap.jam
notice: Searching '/etc' '/Users/manuel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/kernel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/util' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/build' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/tools' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/contrib' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/.' for site-config configuration file 'site-config.jam'.
notice: Configuration file 'site-config.jam' not found in '/etc' '/Users/manuel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/kernel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/util' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/build' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/tools' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/contrib' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/8816c9dec6ae4156f714917a6cc95b8f0fd0bdba/bin/.b2/.'.
notice: Loading explicitly specified user configuration file:
    /Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/user-config.jam
notice: Searching '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build' for user-config configuration file 'user-config.jam'.
notice: Loading user-config configuration file 'user-config.jam' from '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build'.
notice: [zlib] Using pre-installed library
notice: [zlib] Condition
notice: [bzip2] Using pre-installed library
notice: [bzip2] Condition
notice: will use '/Library/Developer/CommandLineTools/usr/bin/clang++' '-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk' '-arch' 'x86_64' for clang-darwin, condition <toolset>clang-15
notice: [zlib] zlib is already configured
notice: [bzip2] bzip is already configured
notice: iostreams: not using lzma compression 
notice: iostreams: not using zstd compression 
notice: [python-cfg] Configuring python...
notice: [python-cfg] Checking interpreter command "python"...
notice: [python-cfg] running command 'python -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1'
notice: [python-cfg] ...requested configuration matched!
notice: [python-cfg] Details of this Python configuration:
notice: [python-cfg]   interpreter command: "python"
notice: [python-cfg]   include path: "/Users/manuel/pythonConanEnv/include/python3.11"
notice: [python-cfg]   library path: "/Users/manuel/pythonConanEnv/lib/python3.11/config" "/Users/manuel/pythonConanEnv/lib"
notice: [python-cfg] Checking for NumPy...
notice: [python-cfg] running command 'python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())"'
notice: [python-cfg] NumPy disabled. Reason:
notice: [python-cfg]   python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())" aborted with 
notice: [python-cfg]   Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
notice: [python-cfg] no framework directory found; using library path
Performing configuration checks

    - default address-model    : 64-bit [1]
    - default architecture     : x86 [1]
    - compiler supports SSE2   : yes [2]
    - compiler supports SSE4.1 : yes [2]
    - has std::atomic_ref      : no [2]
    - has statx                : no [2]
    - has statx syscall        : no [2]
    - has init_priority attribute : yes [2]
    - has stat::st_blksize     : no [2]
    - has stat::st_mtim        : no [2]
    - has stat::st_mtimensec   : no [2]
    - has stat::st_mtimespec   : yes [2]
    - has stat::st_birthtim    : no [2]
    - has stat::st_birthtimensec : no [2]
    - has stat::st_birthtimespec : yes [2]
    - cxx11_auto_declarations  : yes [2]
    - cxx11_constexpr          : yes [2]
    - cxx11_defaulted_functions : yes [2]
    - cxx11_final              : yes [2]
    - cxx11_hdr_mutex          : yes [2]
    - cxx11_hdr_tuple          : yes [2]
    - cxx11_lambdas            : yes [2]
    - cxx11_noexcept           : yes [2]
    - cxx11_nullptr            : yes [2]
    - cxx11_rvalue_references  : yes [2]
    - cxx11_template_aliases   : yes [2]
    - cxx11_thread_local       : yes [2]
    - cxx11_variadic_templates : yes [2]
    - has_icu builds           : no [2]
    - zlib                     : yes [3]
    - bzip2                    : yes [3]
    - cxx11_decltype           : yes [2]
    - cxx11_basic_alignas      : yes [2]
    - iconv (libc)             : no [2]
    - iconv (separate)         : no [2]
- Boost.Locale failed to find iconv (separate) library to be built.
boost/1.78.0: 
boost/1.78.0: ERROR: Package 'cee4397e7ca7990a3e02337e3fe31839e6dee76c' build failed
boost/1.78.0: WARN: Build folder /Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel
ERROR: boost/1.78.0: Error in build() method, line 942
    self.run(full_command)
    ConanException: Error 1 while executing b2 -q numa=on target-os=darwin architecture=x86 address-model=64 binary-format=mach-o abi=sysv --layout=system --user-config=/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=clang-darwin cxxstd=17 pch=on -sLIBBACKTRACE_PATH=/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 -sICONV_PATH=/Users/manuel/.conan/data/libiconv/1.17/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 linkflags="-stdlib=libc++ -mmacosx-version-min=10.13" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=10.13 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/manuel/.conan/data/boost/1.78.0/_/_/package/cee4397e7ca7990a3e02337e3fe31839e6dee76c -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel"
memsharded commented 5 months ago

Lets see, there are many different things in this thread, and we need to reduce, "divide and conquer". You are using boost, trying to cross-compile, etc.

Let's remove the boost recipe, because it might have its own issues. The first step is to check if your setup works. You can do it with a very simple example, for example using the template created with conan new mypkg/0.1 -m=cmake_lib, then apply the 2 profiles, and checking that it works.

Then in your command above you are still NOT passing the --profile:build argument. This is mandatory if you want to do this cross-compilation.

manuelpagliuca commented 5 months ago
(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan install boost/1.78.0@ --build=missing --profile:build=default --profile:host=macos --remote=conancenter 
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=MinSizeRel
compiler=apple-clang
compiler.cppstd=17
compiler.libcxx=libc++
compiler.version=14.0
os=Macos
os.version=10.13
os_build=Macos
archicad_adk:os.version=None
cmake:build_type=Release
ninja:build_type=Release
openssl:build_type=Release
[options]
[build_requires]
[env]
MACOSX_DEPLOYMENT_TARGET=10.13
Configuration (profile_build):
[settings]
arch=armv8
arch_build=armv8
build_type=MinSizeRel
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=15.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

boost/1.78.0: WARN: Package binary is corrupted, removing: cee4397e7ca7990a3e02337e3fe31839e6dee76c
Version ranges solved
    Version range '>=1.2.11 <2' required by 'boost/1.78.0' resolved to 'zlib/1.3.1' in local cache

Installing package: boost/1.78.0
Requirements
    boost/1.78.0 from 'conancenter' - Cache
    bzip2/1.0.8 from 'conancenter' - Cache
    libbacktrace/cci.20210118 from 'conancenter' - Cache
    libiconv/1.17 from 'conancenter' - Cache
    zlib/1.3.1 from 'conancenter' - Cache
Packages
    boost/1.78.0:cee4397e7ca7990a3e02337e3fe31839e6dee76c - Build
    bzip2/1.0.8:4dc82e4eb4df7e160d626d5cdd57f1018086c231 - Cache
    libbacktrace/cci.20210118:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Cache
    libiconv/1.17:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Cache
    zlib/1.3.1:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Cache
Build requirements
    b2/4.10.1 from 'conancenter' - Cache
Build requirements packages
    b2/4.10.1:4e1751b0fa83186dec61c3f59d918b6b17b28aad - Cache

Cross-build from 'Macos:armv8' to 'Macos:x86_64'
Installing (downloading, building) binaries...
b2/4.10.1: Already installed!
bzip2/1.0.8: Already installed!
libbacktrace/cci.20210118: Already installed!
libiconv/1.17: Already installed!
zlib/1.3.1: Already installed!
boost/1.78.0: Applying build-requirement: b2/4.10.1
boost/1.78.0: WARN: Build folder is dirty, removing it: /Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c
boost/1.78.0: Building your package in /Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c
boost/1.78.0: Generator txt created conanbuildinfo.txt
boost/1.78.0: Calling generate()
boost/1.78.0: Aggregating env generators
boost/1.78.0: Calling build()
boost/1.78.0: WARN: replace_in_file didn't find pattern '$(>) > $(<)' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/libs/stacktrace/build/Jamfile.v2' file.
boost/1.78.0: WARN: replace_in_file didn't find pattern 'local generic-os = [ set.difference $(all-os) : aix darwin vxworks solaris osf hpux ] ;' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/src/tools/gcc.jam' file.
boost/1.78.0: WARN: replace_in_file didn't find pattern 'local no-threading = android beos haiku sgi darwin vxworks ;' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/src/tools/gcc.jam' file.
boost/1.78.0: WARN: replace_in_file didn't find pattern '    <conditional>@numa' in '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/libs/fiber/build/Jamfile.v2' file.
boost/1.78.0: WARN: Patching user-config.jam
boost/1.78.0: WARN: 
using zlib : 1.3.1 : <include>"/Users/manuel/.conan/data/zlib/1.3.1/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/include" <search>"/Users/manuel/.conan/data/zlib/1.3.1/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/lib" <name>z ;
using bzip2 : 1.0.8 : <include>"/Users/manuel/.conan/data/bzip2/1.0.8/_/_/package/4dc82e4eb4df7e160d626d5cdd57f1018086c231/include" <search>"/Users/manuel/.conan/data/bzip2/1.0.8/_/_/package/4dc82e4eb4df7e160d626d5cdd57f1018086c231/lib" <name>bz2 ;
using "clang-darwin" :  :  "/Library/Developer/CommandLineTools/usr/bin/clang++" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -arch x86_64 : 
<archiver>"/Library/Developer/CommandLineTools/usr/bin/ar" <ranlib>"/Library/Developer/CommandLineTools/usr/bin/ranlib" <compileflags>"-I/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/include" <linkflags>"-L/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3/lib"  ;
boost/1.78.0: Cross building, detecting compiler...
boost/1.78.0: Cross building flags: []
boost/1.78.0: WARN: b2 -q numa=on target-os=darwin architecture=x86 address-model=64 binary-format=mach-o abi=sysv --layout=system --user-config=/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=clang-darwin cxxstd=17 pch=on -sLIBBACKTRACE_PATH=/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 -sICONV_PATH=/Users/manuel/.conan/data/libiconv/1.17/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 linkflags="-stdlib=libc++ -mmacosx-version-min=10.13" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=10.13 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/manuel/.conan/data/boost/1.78.0/_/_/package/cee4397e7ca7990a3e02337e3fe31839e6dee76c -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel"
notice: found boost-build.jam at /Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/boost-build.jam
notice: loading B2 from /Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/kernel/bootstrap.jam
notice: Searching '/etc' '/Users/manuel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/kernel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/util' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/build' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/tools' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/contrib' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/.' for site-config configuration file 'site-config.jam'.
notice: Configuration file 'site-config.jam' not found in '/etc' '/Users/manuel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/kernel' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/util' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/build' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/tools' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/contrib' '/Users/manuel/.conan/data/b2/4.10.1/_/_/package/4e1751b0fa83186dec61c3f59d918b6b17b28aad/bin/.b2/.'.
notice: Loading explicitly specified user configuration file:
    /Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/user-config.jam
notice: Searching '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build' for user-config configuration file 'user-config.jam'.
notice: Loading user-config configuration file 'user-config.jam' from '/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build'.
notice: [zlib] Using pre-installed library
notice: [zlib] Condition
notice: [bzip2] Using pre-installed library
notice: [bzip2] Condition
notice: will use '/Library/Developer/CommandLineTools/usr/bin/clang++' '-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk' '-arch' 'x86_64' for clang-darwin, condition <toolset>clang-15
notice: [zlib] zlib is already configured
notice: [bzip2] bzip is already configured
notice: iostreams: not using lzma compression 
notice: iostreams: not using zstd compression 
notice: [python-cfg] Configuring python...
notice: [python-cfg] Checking interpreter command "python"...
notice: [python-cfg] running command 'python -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1'
notice: [python-cfg] ...requested configuration matched!
notice: [python-cfg] Details of this Python configuration:
notice: [python-cfg]   interpreter command: "python"
notice: [python-cfg]   include path: "/Users/manuel/pythonConanEnv/include/python3.11"
notice: [python-cfg]   library path: "/Users/manuel/pythonConanEnv/lib/python3.11/config" "/Users/manuel/pythonConanEnv/lib"
notice: [python-cfg] Checking for NumPy...
notice: [python-cfg] running command 'python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())"'
notice: [python-cfg] NumPy disabled. Reason:
notice: [python-cfg]   python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())" aborted with 
notice: [python-cfg]   Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
notice: [python-cfg] no framework directory found; using library path
Performing configuration checks

    - default address-model    : 64-bit [1]
    - default architecture     : x86 [1]
    - compiler supports SSE2   : yes [2]
    - compiler supports SSE4.1 : yes [2]
    - has std::atomic_ref      : no [2]
    - has statx                : no [2]
    - has statx syscall        : no [2]
    - has init_priority attribute : yes [2]
    - has stat::st_blksize     : no [2]
    - has stat::st_mtim        : no [2]
    - has stat::st_mtimensec   : no [2]
    - has stat::st_mtimespec   : yes [2]
    - has stat::st_birthtim    : no [2]
    - has stat::st_birthtimensec : no [2]
    - has stat::st_birthtimespec : yes [2]
    - cxx11_auto_declarations  : yes [2]
    - cxx11_constexpr          : yes [2]
    - cxx11_defaulted_functions : yes [2]
    - cxx11_final              : yes [2]
    - cxx11_hdr_mutex          : yes [2]
    - cxx11_hdr_tuple          : yes [2]
    - cxx11_lambdas            : yes [2]
    - cxx11_noexcept           : yes [2]
    - cxx11_nullptr            : yes [2]
    - cxx11_rvalue_references  : yes [2]
    - cxx11_template_aliases   : yes [2]
    - cxx11_thread_local       : yes [2]
    - cxx11_variadic_templates : yes [2]
    - has_icu builds           : no [2]
    - zlib                     : yes [3]
    - bzip2                    : yes [3]
    - cxx11_decltype           : yes [2]
    - cxx11_basic_alignas      : yes [2]
    - iconv (libc)             : no [2]
    - iconv (separate)         : no [2]
- Boost.Locale failed to find iconv (separate) library to be built.
boost/1.78.0: 
boost/1.78.0: ERROR: Package 'cee4397e7ca7990a3e02337e3fe31839e6dee76c' build failed
boost/1.78.0: WARN: Build folder /Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel
ERROR: boost/1.78.0: Error in build() method, line 942
    self.run(full_command)
    ConanException: Error 1 while executing b2 -q numa=on target-os=darwin architecture=x86 address-model=64 binary-format=mach-o abi=sysv --layout=system --user-config=/Users/manuel/.conan/data/boost/1.78.0/_/_/source/src/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libiconv threading=multi visibility=hidden link=static variant=release --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=clang-darwin cxxstd=17 pch=on -sLIBBACKTRACE_PATH=/Users/manuel/.conan/data/libbacktrace/cci.20210118/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 -sICONV_PATH=/Users/manuel/.conan/data/libiconv/1.17/_/_/package/0e30462b8bcf39220bbcef8630a1cef905d8a6e3 linkflags="-stdlib=libc++ -mmacosx-version-min=10.13" cxxflags="-fPIC -stdlib=libc++ -mmacosx-version-min=10.13 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/Users/manuel/.conan/data/boost/1.78.0/_/_/package/cee4397e7ca7990a3e02337e3fe31839e6dee76c -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="/Users/manuel/.conan/data/boost/1.78.0/_/_/build/cee4397e7ca7990a3e02337e3fe31839e6dee76c/build-minsizerel"

Just for completeness I'm posting here the correct command (now I've reverted the build_type to Release).

(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan new mypkg/0.1 -m=cmake_lib
File saved: CMakeLists.txt
File saved: conanfile.py
File saved: include/mypkg.h
File saved: src/mypkg.cpp
File saved: test_package/CMakeLists.txt
File saved: test_package/conanfile.py
File saved: test_package/src/example.cpp
(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan install . --profile:build=default --profile:host=macos --build=missing
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=MinSizeRel
compiler=apple-clang
compiler.cppstd=17
compiler.libcxx=libc++
compiler.version=14.0
os=Macos
os.version=10.13
os_build=Macos
archicad_adk:os.version=None
cmake:build_type=Release
ninja:build_type=Release
openssl:build_type=Release
[options]
[build_requires]
[env]
MACOSX_DEPLOYMENT_TARGET=10.13
Configuration (profile_build):
[settings]
arch=armv8
arch_build=armv8
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=15.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

conanfile.py (mypkg/0.1): Installing package
Requirements
Packages

Cross-build from 'Macos:armv8' to 'Macos:x86_64'
Installing (downloading, building) binaries...
conanfile.py (mypkg/0.1): Generator txt created conanbuildinfo.txt
conanfile.py (mypkg/0.1): Calling generate()
conanfile.py (mypkg/0.1): Preset 'minsizerel' added to CMakePresets.json. Invoke it manually using 'cmake --preset minsizerel'
conanfile.py (mypkg/0.1): If your CMake version is not compatible with CMakePresets (<3.19) call cmake like: 'cmake <path> -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=/Users/manuel/build/MinSizeRel/generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=MinSizeRel'
conanfile.py (mypkg/0.1): Aggregating env generators
conanfile.py (mypkg/0.1): Generated conaninfo.txt
conanfile.py (mypkg/0.1): Generated graphinfo
memsharded commented 5 months ago

No, not a conan install for the mypkg/0.1, that is not building anything. A conan create with the 2 profiles, to see if it correctly cross-builds.

manuelpagliuca commented 5 months ago
(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan create . --profile:build=default --profile:host=macos --build=missing
Exporting package recipe
mypkg/0.1 exports_sources: Copied 1 '.txt' file: CMakeLists.txt
mypkg/0.1 exports_sources: Copied 1 '.cpp' file: mypkg.cpp
mypkg/0.1 exports_sources: Copied 1 '.h' file: mypkg.h
ERROR: The file is a broken symlink, verify that you are packaging the needed destination files: '/Users/manuel/.conan/data/mypkg/0.1/_/_/export_source/Library/Application Support/Google/DriveFS/102238218353708736184/my-drive'.You can skip this check adjusting the 'general.skip_broken_symlinks_check' at the conan.conf file.
(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan list
'list' is not a Conan command. See 'conan --help'.

ERROR: Unknown command 'list'
(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan search
Existing package recipes:

archicad_adk/25.3006
archicad_adk/26.3000
archicad_adk/27.3001
b2/4.10.1
boost/1.78.0
bzip2/1.0.8
libbacktrace/cci.20210118
libiconv/1.17
mypkg/0.1
zlib/1.3.1
(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan remove mypkg
Are you sure you want to delete from 'mypkg/0.1' (yes/no): noo
ERROR: noo is not a valid answer
Are you sure you want to delete from 'mypkg/0.1' (yes/no): no
(pythonConanEnv) manuel@MacBook-Pro-di-Manuel ~ % conan create . --profile:build=default --profile:host=macos --build=missing
Exporting package recipe
mypkg/0.1 exports_sources: Copied 1 '.txt' file: CMakeLists.txt
mypkg/0.1 exports_sources: Copied 1 '.cpp' file: mypkg.cpp
mypkg/0.1 exports_sources: Copied 1 '.h' file: mypkg.h
ERROR: The file is a broken symlink, verify that you are packaging the needed destination files: '/Users/manuel/.conan/data/mypkg/0.1/_/_/export_source/Library/Application Support/Google/DriveFS/102238218353708736184/my-drive'.You can skip this check adjusting the 'general.skip_broken_symlinks_check' at the conan.conf file.
memsharded commented 5 months ago

You have something weird in your local folder that is being packaged. The conanfile.py contains exports_sources = "CMakeLists.txt", "src/*", "include/*" so it would seem that you have some weird symlink inside those folders, but that is really unexpected.

manuelpagliuca commented 5 months ago

Could be that because I'm using a python virtual environment?

memsharded commented 5 months ago

No idea, but it looks more like Library/Application Support/Google/DriveFS/102238218353708736184/my-drive google drive.

If you are working directly inside a google-drive, that is probably a bad idea. Everything will be slower, sync can break builds, etc.

manuelpagliuca commented 5 months ago

I'm not working directly in the Google Drive, but maybe I'll try to recreate the file somewhere else, that's weird yeah.

manuelpagliuca commented 5 months ago

Okay it seems that it wants an apposite space which has to be distant from other environments like Google Drive.

I just created a new directory named mypkg.

(pythonConanEnv) manuel@MacBook-Pro-di-Manuel mypkg % conan create . --profile:build=default --profile:host=macos --build=missing
Exporting package recipe
mypkg/0.1 exports_sources: Copied 1 '.txt' file: CMakeLists.txt
mypkg/0.1 exports_sources: Copied 1 '.cpp' file: mypkg.cpp
mypkg/0.1 exports_sources: Copied 1 '.h' file: mypkg.h
mypkg/0.1: A new conanfile.py version was exported
mypkg/0.1: Folder: /Users/manuel/.conan/data/mypkg/0.1/_/_/export
mypkg/0.1: Exported revision: 0dbd3421a711ab052b44df37e872c26f
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=MinSizeRel
compiler=apple-clang
compiler.cppstd=17
compiler.libcxx=libc++
compiler.version=14.0
os=Macos
os.version=10.13
os_build=Macos
archicad_adk:os.version=None
cmake:build_type=Release
ninja:build_type=Release
openssl:build_type=Release
[options]
[build_requires]
[env]
MACOSX_DEPLOYMENT_TARGET=10.13
Configuration (profile_build):
[settings]
arch=armv8
arch_build=armv8
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=15.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

mypkg/0.1 (test package): Installing package
Requirements
    mypkg/0.1 from local cache - Cache
Packages
    mypkg/0.1:3694cb052f465720916aa37a080b2a71a5278093 - Build

Cross-build from 'Macos:armv8' to 'Macos:x86_64'
Installing (downloading, building) binaries...
mypkg/0.1: Configuring sources in /Users/manuel/.conan/data/mypkg/0.1/_/_/source/.
mypkg/0.1: Copying sources to build folder
mypkg/0.1: Building your package in /Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093
mypkg/0.1: Generator txt created conanbuildinfo.txt
mypkg/0.1: Calling generate()
mypkg/0.1: Preset 'minsizerel' added to CMakePresets.json. Invoke it manually using 'cmake --preset minsizerel'
mypkg/0.1: If your CMake version is not compatible with CMakePresets (<3.19) call cmake like: 'cmake <path> -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=/Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/build/MinSizeRel/generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=MinSizeRel'
mypkg/0.1: Aggregating env generators
mypkg/0.1: Calling build()
mypkg/0.1: CMake command: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/build/MinSizeRel/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/manuel/.conan/data/mypkg/0.1/_/_/package/3694cb052f465720916aa37a080b2a71a5278093" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="MinSizeRel" "/Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/."
-- Using Conan toolchain: /Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/build/MinSizeRel/generators/conan_toolchain.cmake
-- Conan toolchain: Setting CMAKE_POSITION_INDEPENDENT_CODE=ON (options.fPIC)
-- Conan toolchain: C++ Standard 17 with extensions OFF
-- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF
-- The CXX compiler identification is AppleClang 15.0.0.15000100
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.5s)
-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_POLICY_DEFAULT_CMP0091

-- Build files have been written to: /Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/build/MinSizeRel
mypkg/0.1: CMake command: cmake --build "/Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/build/MinSizeRel" '--' '-j8'
[ 50%] Building CXX object CMakeFiles/mypkg.dir/src/mypkg.cpp.o
[100%] Linking CXX static library libmypkg.a
[100%] Built target mypkg
mypkg/0.1: Package '3694cb052f465720916aa37a080b2a71a5278093' built
mypkg/0.1: Build folder /Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/build/MinSizeRel
mypkg/0.1: Generated conaninfo.txt
mypkg/0.1: Generated conanbuildinfo.txt
mypkg/0.1: Generating the package
mypkg/0.1: Package folder /Users/manuel/.conan/data/mypkg/0.1/_/_/package/3694cb052f465720916aa37a080b2a71a5278093
mypkg/0.1: Calling package()
mypkg/0.1: CMake command: cmake --install "/Users/manuel/.conan/data/mypkg/0.1/_/_/build/3694cb052f465720916aa37a080b2a71a5278093/build/MinSizeRel" --prefix "/Users/manuel/.conan/data/mypkg/0.1/_/_/package/3694cb052f465720916aa37a080b2a71a5278093"
-- Install configuration: "MinSizeRel"
-- Installing: /Users/manuel/.conan/data/mypkg/0.1/_/_/package/3694cb052f465720916aa37a080b2a71a5278093/lib/libmypkg.a
-- Installing: /Users/manuel/.conan/data/mypkg/0.1/_/_/package/3694cb052f465720916aa37a080b2a71a5278093/include/mypkg.h
mypkg/0.1 package(): Packaged 1 '.h' file: mypkg.h
mypkg/0.1 package(): Packaged 1 '.a' file: libmypkg.a
mypkg/0.1: Package '3694cb052f465720916aa37a080b2a71a5278093' created
mypkg/0.1: Created package revision d5d321d3060cf31aed57dd9c45816661
mypkg/0.1 (test package): Generator 'VirtualBuildEnv' calling 'generate()'
mypkg/0.1 (test package): Generator txt created conanbuildinfo.txt
mypkg/0.1 (test package): Generator 'CMakeToolchain' calling 'generate()'
mypkg/0.1 (test package): Preset 'minsizerel' added to CMakePresets.json. Invoke it manually using 'cmake --preset minsizerel'
mypkg/0.1 (test package): If your CMake version is not compatible with CMakePresets (<3.19) call cmake like: 'cmake <path> -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=/Users/manuel/mypkg/test_package/build/MinSizeRel/generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=MinSizeRel'
mypkg/0.1 (test package): Generator 'CMakeDeps' calling 'generate()'
mypkg/0.1 (test package): Generator 'VirtualRunEnv' calling 'generate()'
mypkg/0.1 (test package): Aggregating env generators
mypkg/0.1 (test package): Generated conaninfo.txt
mypkg/0.1 (test package): Generated graphinfo
Using lockfile: '/Users/manuel/mypkg/test_package/build/MinSizeRel/generators/conan.lock'
Using cached profile from lockfile
mypkg/0.1 (test package): Calling build()
mypkg/0.1 (test package): CMake command: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/Users/manuel/mypkg/test_package/build/MinSizeRel/generators/conan_toolchain.cmake" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="MinSizeRel" "/Users/manuel/mypkg/test_package/."
-- Using Conan toolchain: /Users/manuel/mypkg/test_package/build/MinSizeRel/generators/conan_toolchain.cmake
-- Conan toolchain: C++ Standard 17 with extensions OFF
-- The CXX compiler identification is AppleClang 15.0.0.15000100
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: Target declared 'mypkg::mypkg'
-- Configuring done (0.2s)
-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_POLICY_DEFAULT_CMP0091

-- Build files have been written to: /Users/manuel/mypkg/test_package/build/MinSizeRel
mypkg/0.1 (test package): CMake command: cmake --build "/Users/manuel/mypkg/test_package/build/MinSizeRel" '--' '-j8'
[ 50%] Building CXX object CMakeFiles/example.dir/src/example.cpp.o
[100%] Linking CXX executable example
[100%] Built target example
mypkg/0.1 (test package): Running test()

It works.

This means that could be a problem of boost 1.78 with mac?

memsharded commented 5 months ago

Could be. Next step try to build boost in isolation with the same profile, and a more modern version of boost just in case:

conan install --requires=boost/1.82.0 --build=boost/* --profile:build=default --profile:host=macos
manuelpagliuca commented 5 months ago

I've tried with both 1.82 and 1.78, still the same result, and I think that I should use double quotes near the jolly card * on --build

(pythonConanEnv) manuel@MacBook-Pro-di-Manuel mypkg % conan install --requires=boost/1.78.0 --build="boost/*" --profile:build=default --profile:host=macos

usage: conan install [-h] [-g GENERATOR] [-if INSTALL_FOLDER] [-of OUTPUT_FOLDER] [-m [MANIFESTS]] [-mi [MANIFESTS_INTERACTIVE]] [-v [VERIFY]] [--no-imports]
                     [--build-require] [-j JSON] [-b [BUILD]] [-r REMOTE] [-u] [-l LOCKFILE] [--lockfile-out LOCKFILE_OUT] [-e ENV_HOST] [-e:b ENV_BUILD]
                     [-e:h ENV_HOST] [-o OPTIONS_HOST] [-o:b OPTIONS_BUILD] [-o:h OPTIONS_HOST] [-pr PROFILE_HOST] [-pr:b PROFILE_BUILD] [-pr:h PROFILE_HOST]
                     [-s SETTINGS_HOST] [-s:b SETTINGS_BUILD] [-s:h SETTINGS_HOST] [-c CONF_HOST] [-c:b CONF_BUILD] [-c:h CONF_HOST]
                     [--lockfile-node-id LOCKFILE_NODE_ID] [--require-override REQUIRE_OVERRIDE]
                     path_or_reference [reference]
conan install: error: the following arguments are required: path_or_reference

But maybe I'm using incorrectly the command.

manuelpagliuca commented 5 months ago

By the way I get the same error if I build the binary with the current built library (1.77.0), but I know for sure that they have used an Intel chipset.

manuelpagliuca commented 5 months ago

It could be related to the fact that I've to build b2 manually?

memsharded commented 5 months ago

Yes, sorry, those have to be quoted in OSX terminal (not in Windows, for example). Also, I used the Conan 2.0 syntax, not the 1.X one. Use:

conan remove "*" -f
conan install boost/1.82.0@ --build="boost/*" --profile:build=default --profile:host=macos
manuelpagliuca commented 5 months ago

No need to say sorry, you are helping me just wanted to point out :)

(pythonConanEnv) manuel@MacBook-Pro-di-Manuel build % conan install boost/1.82.0@ --build="boost/*" --profile:build=default --profile:host=macos
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=MinSizeRel
compiler=apple-clang
compiler.cppstd=17
compiler.libcxx=libc++
compiler.version=14.0
os=Macos
os.version=10.13
os_build=Macos
archicad_adk:os.version=None
cmake:build_type=Release
ninja:build_type=Release
openssl:build_type=Release
[options]
[build_requires]
[env]
MACOSX_DEPLOYMENT_TARGET=10.13
Configuration (profile_build):
[settings]
arch=armv8
arch_build=armv8
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=15.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

boost/1.82.0: Not found in local cache, looking in remotes...
boost/1.82.0: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.27k]                                          
Downloading conanfile.py completed [84.40k]                                              
Downloading conan_export.tgz completed [1.45k]                                           
Decompressing conan_export.tgz completed [0.00k]                                         
boost/1.82.0: Downloaded recipe revision 0
zlib/1.3.1: Not found in local cache, looking in remotes...
zlib/1.3.1: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.18k]                                          
Downloading conanfile.py completed [4.09k]                                               
Downloading conan_export.tgz completed [0.43k]                                           
Decompressing conan_export.tgz completed [0.00k]                                         
zlib/1.3.1: Downloaded recipe revision 0
bzip2/1.0.8: Not found in local cache, looking in remotes...
bzip2/1.0.8: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.17k]                                          
Downloading conanfile.py completed [4.00k]                                               
Downloading conan_export.tgz completed [0.31k]                                           
Decompressing conan_export.tgz completed [0.00k]                                         
bzip2/1.0.8: Downloaded recipe revision 0
libbacktrace/cci.20210118: Not found in local cache, looking in remotes...
libbacktrace/cci.20210118: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.28k]                                          
Downloading conanfile.py completed [3.84k]                                               
Downloading conan_export.tgz completed [0.41k]                                           
Decompressing conan_export.tgz completed [0.00k]                                         
libbacktrace/cci.20210118: Downloaded recipe revision 0
libiconv/1.17: Not found in local cache, looking in remotes...
libiconv/1.17: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.10k]                                          
Downloading conanfile.py completed [6.73k]                                               
Downloading conan_export.tgz completed [0.31k]                                           
Decompressing conan_export.tgz completed [0.00k]                                         
libiconv/1.17: Downloaded recipe revision 0
boost/1.82.0: Forced build from source
b2/4.10.1: Not found in local cache, looking in remotes...
b2/4.10.1: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.10k]                                          
Downloading conanfile.py completed [8.01k]                                               
Downloading conan_export.tgz completed [0.32k]                                           
Decompressing conan_export.tgz completed [0.00k]                                         
b2/4.10.1: Downloaded recipe revision 0
Version ranges solved
    zlib/* versions found in 'conancenter' remote
    Version range '>=1.2.11 <2' required by 'boost/1.82.0' resolved to 'zlib/1.3.1' in remote 'conancenter'

Installing package: boost/1.82.0
Requirements
    boost/1.82.0 from 'conancenter' - Downloaded
    bzip2/1.0.8 from 'conancenter' - Downloaded
    libbacktrace/cci.20210118 from 'conancenter' - Downloaded
    libiconv/1.17 from 'conancenter' - Downloaded
    zlib/1.3.1 from 'conancenter' - Downloaded
Packages
    boost/1.82.0:cee4397e7ca7990a3e02337e3fe31839e6dee76c - Build
    bzip2/1.0.8:4dc82e4eb4df7e160d626d5cdd57f1018086c231 - Missing
    libbacktrace/cci.20210118:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Missing
    libiconv/1.17:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Missing
    zlib/1.3.1:0e30462b8bcf39220bbcef8630a1cef905d8a6e3 - Missing
Build requirements
    b2/4.10.1 from 'conancenter' - Downloaded
Build requirements packages
    b2/4.10.1:4e1751b0fa83186dec61c3f59d918b6b17b28aad - Download

Cross-build from 'Macos:armv8' to 'Macos:x86_64'
Installing (downloading, building) binaries...
ERROR: Missing binary: bzip2/1.0.8:4dc82e4eb4df7e160d626d5cdd57f1018086c231
ERROR: Missing binary: libbacktrace/cci.20210118:0e30462b8bcf39220bbcef8630a1cef905d8a6e3
ERROR: Missing binary: libiconv/1.17:0e30462b8bcf39220bbcef8630a1cef905d8a6e3
ERROR: Missing binary: zlib/1.3.1:0e30462b8bcf39220bbcef8630a1cef905d8a6e3

bzip2/1.0.8: WARN: Can't find a 'bzip2/1.0.8' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=MinSizeRel, compiler=apple-clang, compiler.version=14.0, os=Macos, os.version=10.13
- Options: build_executable=True, fPIC=True, shared=False
- Dependencies: 
- Requirements: 
- Package ID: 4dc82e4eb4df7e160d626d5cdd57f1018086c231

ERROR: Missing prebuilt package for 'bzip2/1.0.8', 'libbacktrace/cci.20210118', 'libiconv/1.17', 'zlib/1.3.1'
Use 'conan search bzip2/1.0.8@ --table=table.html -r=remote' and open the table.html file to see available packages
Or try to build locally from sources with '--build=bzip2 --build=libbacktrace --build=libiconv --build=zlib'

More Info at 'https://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package'

I get this error.

memsharded commented 5 months ago

That makes sense. The dependencies have to be cross-built too. Add --build=missing

manuelpagliuca commented 5 months ago

It worked! Nice, but why and what does it means? output.txt

manuelpagliuca commented 5 months ago

If I attempt to do the same but with 1.78.0 I get the same weird error. output.txt

memsharded commented 5 months ago

It worked! Nice, but why and what does it means?

A library cannot be linked with dependencies built for other architecture. The same cross-compilation you are doing for boost, needs to be done to the dependencies of boost too, otherwise it doesn't work.

If I attempt to do the same but with 1.78.0 I get the same weird error.

That seems a limitation of boost itself in previous versions, that doesn't know how to cross-build in OSX for the other architecture. You need to do a native build in a machine with that processor if you want to do that.

manuelpagliuca commented 5 months ago

Yeah that's what I was thinking, then I will look for a machine that supports Intel chipset and try to build the package, nothing more that I can do it there. Thanks for the support!