Search code examples
macospackagecondaarm64miniconda

Unable to install a package in conda (not found)


I am trying to install a conda package named astromatic-source-extractor from the conda-forge channel. I have a MacBook Pro with arm64 architechture.

The first problem I encounter is that conda is not finding it. I already tried setting the configuration for the priority of the channels to strict or true. Not working. This is what happens when I search for the package:

(base) diegozamora@Diegos-MacBook-Pro Downloads % conda search -c conda-forge astromatic-source-extractor -vvv
    DEBUG conda.gateways.logging:set_verbosity(233): verbosity set to 3
    Loading channels: ...working... TRACE conda.gateways.disk.test:file_path_is_writable(22): checking path is writable /Users/diegozamora/miniconda3/pkgs/urls.txt
    DEBUG conda.core.package_cache_data:_check_writable(297): package cache directory '/Users/diegozamora/miniconda3/pkgs' writable: True
    DEBUG conda.core.subdir_data:_load(351): Using cached repodata for https://conda.anaconda.org/conda-forge/noarch/repodata.json at /Users/diegozamora/miniconda3/pkgs/cache/09cdf8bf.json. Timeout in 2380 sec
    DEBUG conda.core.subdir_data:_read_pickled(491): found pickle file /Users/diegozamora/miniconda3/pkgs/cache/09cdf8bf.q
    DEBUG conda.core.subdir_data:_load(360): Local cache timed out for https://repo.anaconda.com/pkgs/r/osx-arm64/repodata.json at /Users/diegozamora/miniconda3/pkgs/cache/8bd55712.json
    DEBUG conda.gateways.repodata:__init__(99): Using CondaRepoInterface
    DEBUG conda.core.subdir_data:_load(351): Using cached repodata for https://conda.anaconda.org/conda-forge/osx-arm64/repodata.json at /Users/diegozamora/miniconda3/pkgs/cache/a850f475.json. Timeout in 2383 sec
    DEBUG conda.core.subdir_data:_read_pickled(491): found pickle file /Users/diegozamora/miniconda3/pkgs/cache/a850f475.q
    DEBUG conda.core.subdir_data:_load(360): Local cache timed out for https://repo.anaconda.com/pkgs/r/noarch/repodata.json at /Users/diegozamora/miniconda3/pkgs/cache/4ea078d6.json
    DEBUG conda.gateways.repodata:__init__(99): Using CondaRepoInterface
    DEBUG conda.core.subdir_data:_load(360): Local cache timed out for https://repo.anaconda.com/pkgs/main/noarch/repodata.json at /Users/diegozamora/miniconda3/pkgs/cache/3e39a7aa.json
    DEBUG conda.gateways.repodata:__init__(99): Using CondaRepoInterface
    DEBUG conda.core.subdir_data:_load(360): Local cache timed out for https://repo.anaconda.com/pkgs/main/osx-arm64/repodata.json at /Users/diegozamora/miniconda3/pkgs/cache/9e99ffaf.json
    DEBUG conda.gateways.repodata:__init__(99): Using CondaRepoInterface
    DEBUG urllib3.connectionpool:_new_conn(1003): Starting new HTTPS connection (1): repo.anaconda.com:443
    DEBUG urllib3.connectionpool:_new_conn(1003): Starting new HTTPS connection (1): repo.anaconda.com:443
    DEBUG urllib3.connectionpool:_new_conn(1003): Starting new HTTPS connection (1): repo.anaconda.com:443
    DEBUG urllib3.connectionpool:_new_conn(1003): Starting new HTTPS connection (1): repo.anaconda.com:443
    DEBUG urllib3.connectionpool:_make_request(456): https://repo.anaconda.com:443 "GET /pkgs/r/osx-arm64/repodata.json HTTP/1.1" 304 0
    DEBUG conda.gateways.repodata:repodata(126): 
    >>GET /pkgs/r/osx-arm64/repodata.json HTTPS
    > User-Agent: conda/23.3.1 requests/2.29.0 CPython/3.10.11 Darwin/21.6.0 OSX/12.5
    > Accept: */*
    > Accept-Encoding: gzip, deflate, br
    > Connection: keep-alive
    > If-Modified-Since: Fri, 19 Aug 2022 21:27:22 GMT
    > If-None-Match: W/"bd18071599942dd824e1ec40e9d10873"

    <<HTTPS 304 Not Modified
    < Age: 1058231
    < Cache-Control: public, max-age=30
    < CF-Cache-Status: HIT
    < CF-RAY: 7c9896c11c13d726-SCL
    < Date: Fri, 19 May 2023 01:32:55 GMT
    < ETag: "bd18071599942dd824e1ec40e9d10873"
    < Expires: Fri, 19 May 2023 01:33:25 GMT
    < Last-Modified: Fri, 19 Aug 2022 21:27:22 GMT
    < Server: cloudflare
    < Set-Cookie: __cf_bm=gKr.fY7PRCVLe596IrO4yjtLSBKeiVW1eqenf7837PA-1684459975-0-AZMQQY2fuHNd4/fwmTwZbylLZuPQQtI7VKi60K52DenRWysEZm88rWhcmV7PGGHVm6g7WxjjYuik83C13llKn88=; path=/; expires=Fri, 19-May-23 02:02:55 GMT; domain=.anaconda.com; HttpOnly; Secure; SameSite=None
    < Vary: Accept-Encoding
    < x-amz-id-2: LUhtxUoC03bhnlt8zsv3Fif4funme2PzT2P0M9tXTvllYWQgfd4YcIMpDQyx80uf49NFhRyJ9Bo=
    < x-amz-request-id: YEW5C8YGBA3C67Z8
    < x-amz-version-id: qq74F8wZiM.BcRfcrAyp1UmHfwCjHyAg
    < Connection: keep-alive
    < Elapsed: 00:00.111116


    DEBUG conda.core.subdir_data:_load(383): 304 NOT MODIFIED for 'https://repo.anaconda.com/pkgs/r/osx-arm64/repodata.json'. Updating mtime and loading from disk
    DEBUG urllib3.connectionpool:_make_request(456): https://repo.anaconda.com:443 "GET /pkgs/main/noarch/repodata.json HTTP/1.1" 304 0
    DEBUG conda.gateways.repodata:repodata(126): 
    >>GET /pkgs/main/noarch/repodata.json HTTPS
    > User-Agent: conda/23.3.1 requests/2.29.0 CPython/3.10.11 Darwin/21.6.0 OSX/12.5
    > Accept: */*
    > Accept-Encoding: gzip, deflate, br
    > Connection: keep-alive
    > If-Modified-Since: Wed, 17 May 2023 21:35:40 GMT
    > If-None-Match: W/"3488de0d78dad973c60bbb0f24a38f14"

    <<HTTPS 304 Not Modified
    < Age: 100507
    < Cache-Control: public, max-age=30
    < CF-Cache-Status: HIT
    < CF-RAY: 7c9896c11f68d772-SCL
    < Date: Fri, 19 May 2023 01:32:55 GMT
    < ETag: "3488de0d78dad973c60bbb0f24a38f14"
    < Expires: Fri, 19 May 2023 01:33:25 GMT
    < Last-Modified: Wed, 17 May 2023 21:35:40 GMT
    < Server: cloudflare
    < Set-Cookie: __cf_bm=zxc8p06PxMi7UhyQhTGEPujlHs_gSjAWHh7NS.EwPto-1684459975-0-Ac5l6tHWzwV4KRkS5lJjXYKL+rmWQuyuMEUJXLgWZw2eFgJaHOuVUQuGtVyh9MIA5O0dNGR0mzSguInBuefx8H4=; path=/; expires=Fri, 19-May-23 02:02:55 GMT; domain=.anaconda.com; HttpOnly; Secure; SameSite=None
    < Vary: Accept-Encoding
    < x-amz-id-2: ubXYJDEKD9BRidJJFIzto4Er3dv+It9Ky7KZZlmTD/Nsc3ir4bduLQQ3ZcaUHiTnywdcRYHd7ZY=
    < x-amz-request-id: 1FAKKDACK2G6DNVP
    < x-amz-version-id: 7GUqP3YzueALlI0ZRo5MW6v2lyV60Fzf
    < Connection: keep-alive
    < Elapsed: 00:00.115345


    DEBUG conda.core.subdir_data:_load(383): 304 NOT MODIFIED for 'https://repo.anaconda.com/pkgs/main/noarch/repodata.json'. Updating mtime and loading from disk
    DEBUG urllib3.connectionpool:_make_request(456): https://repo.anaconda.com:443 "GET /pkgs/main/osx-arm64/repodata.json HTTP/1.1" 304 0
    DEBUG conda.core.subdir_data:_read_pickled(491): found pickle file /Users/diegozamora/miniconda3/pkgs/cache/8bd55712.q
    DEBUG conda.gateways.repodata:repodata(126): 
    >>GET /pkgs/main/osx-arm64/repodata.json HTTPS
    > User-Agent: conda/23.3.1 requests/2.29.0 CPython/3.10.11 Darwin/21.6.0 OSX/12.5
    > Accept: */*
    > Accept-Encoding: gzip, deflate, br
    > Connection: keep-alive
    > If-Modified-Since: Thu, 18 May 2023 21:35:34 GMT
    > If-None-Match: W/"d314883c17682e06011d8c63ac105396"

    <<HTTPS 304 Not Modified
    < Age: 11788
    < Cache-Control: public, max-age=30
    < CF-Cache-Status: HIT
    < CF-RAY: 7c9896c11d466f26-SCL
    < Date: Fri, 19 May 2023 01:32:55 GMT
    < ETag: "d314883c17682e06011d8c63ac105396"
    < Expires: Fri, 19 May 2023 01:33:25 GMT
    < Last-Modified: Thu, 18 May 2023 21:35:34 GMT
    < Server: cloudflare
    < Set-Cookie: __cf_bm=1oZjq5CsM3le0fyPSy5_XxNIFQExwcJEHFoy53WJjmI-1684459975-0-Ad2N+Ew0OQvps5SZY/7jXjGVFvTwbLh4IUAIo2WNzxSaTn4/+nEhbWIt/1PHn2ZzHxV1sJCfOU12Ectb3xa6CYE=; path=/; expires=Fri, 19-May-23 02:02:55 GMT; domain=.anaconda.com; HttpOnly; Secure; SameSite=None
    < Vary: Accept-Encoding
    < x-amz-id-2: LSyh2cWzOcHZfOipZQ5qErQ2rdo4vnM4NKrtQxBuF+8XKNO/Gbzrdm9tcNBU7TmKsPiwA4VBWtU=
    < x-amz-request-id: ENXYE9M49Z8ST2S9
    < x-amz-version-id: p92eT1RVHwP.JsATSqLDb_Hjhwscw3DT
    < Connection: keep-alive
    < Elapsed: 00:00.116665


    DEBUG conda.core.subdir_data:_load(383): 304 NOT MODIFIED for 'https://repo.anaconda.com/pkgs/main/osx-arm64/repodata.json'. Updating mtime and loading from disk
    DEBUG conda.core.subdir_data:_read_pickled(491): found pickle file /Users/diegozamora/miniconda3/pkgs/cache/3e39a7aa.q
    DEBUG conda.core.subdir_data:_read_pickled(491): found pickle file /Users/diegozamora/miniconda3/pkgs/cache/9e99ffaf.q
    DEBUG urllib3.connectionpool:_make_request(456): https://repo.anaconda.com:443 "GET /pkgs/r/noarch/repodata.json HTTP/1.1" 304 0
    DEBUG conda.gateways.repodata:repodata(126): 
    >>GET /pkgs/r/noarch/repodata.json HTTPS
    > User-Agent: conda/23.3.1 requests/2.29.0 CPython/3.10.11 Darwin/21.6.0 OSX/12.5
    > Accept: */*
    > Accept-Encoding: gzip, deflate, br
    > Connection: keep-alive
    > If-Modified-Since: Fri, 28 Oct 2022 15:33:23 GMT
    > If-None-Match: W/"93476d5e7aa8d3f8bc0c04afafc94d26"

    <<HTTPS 304 Not Modified
    < Age: 553674
    < Cache-Control: public, max-age=30
    < CF-Cache-Status: HIT
    < CF-RAY: 7c9896c118032df2-SCL
    < Date: Fri, 19 May 2023 01:32:55 GMT
    < ETag: "93476d5e7aa8d3f8bc0c04afafc94d26"
    < Expires: Fri, 19 May 2023 01:33:25 GMT
    < Last-Modified: Fri, 28 Oct 2022 15:33:23 GMT
    < Server: cloudflare
    < Set-Cookie: __cf_bm=d3NqonYvG9cxDDbVTjK6_nmYn4JF89ObRNAHIcHmIgU-1684459975-0-AclN+3jLa1inxNsy4BHPWrXrOYT9w2gbSql5OXAHzKVtvqamq6wf8EWDnuh5Y2bqWaKTlVZUHfOlQRDIPoUaybE=; path=/; expires=Fri, 19-May-23 02:02:55 GMT; domain=.anaconda.com; HttpOnly; Secure; SameSite=None
    < Vary: Accept-Encoding
    < x-amz-id-2: tNROl2BJzHu4gTfEFW8Y3y7RjLlvtIR4zlLppdLmI1svsPRaJ2P0hYItNiPAd57q1s2AiumDf5g=
    < x-amz-request-id: B7EXP4830Y53B5C2
    < x-amz-version-id: gruUyeXEAuhL5g34laDjUOasClLQRFQz
    < Connection: keep-alive
    < Elapsed: 00:00.132181


    DEBUG conda.core.subdir_data:_load(383): 304 NOT MODIFIED for 'https://repo.anaconda.com/pkgs/r/noarch/repodata.json'. Updating mtime and loading from disk
    DEBUG conda.core.subdir_data:_read_pickled(491): found pickle file /Users/diegozamora/miniconda3/pkgs/cache/4ea078d6.q
    done
    No match found for: astromatic-source-extractor. Search: *astromatic-source-extractor*
    Traceback (most recent call last):
      File "/Users/diegozamora/miniconda3/lib/python3.10/site-packages/conda/exceptions.py", line 1132, in __call__
        return func(*args, **kwargs)
      File "/Users/diegozamora/miniconda3/lib/python3.10/site-packages/conda/cli/main.py", line 69, in main_subshell
        exit_code = do_call(args, p)
      File "/Users/diegozamora/miniconda3/lib/python3.10/site-packages/conda/cli/conda_argparse.py", line 122, in do_call
        return getattr(module, func_name)(args, parser)
      File "/Users/diegozamora/miniconda3/lib/python3.10/site-packages/conda/cli/main_search.py", line 86, in execute
        raise PackagesNotFoundError((str(spec),), channels_urls)
    conda.exceptions.PackagesNotFoundError: The following packages are not available from current channels:

      - astromatic-source-extractor

Then I tried downloading and installing directly from the file (conda install astromatic-source-extractor-2.28.0-hca6ac57_1.conda). It installed succesfully, but when I tried to execute the software I got this:

dyld[5707]: Library not loaded: '@rpath/libcfitsio.10.dylib'
  Referenced from: '/Users/diegozamora/miniconda3/bin/source-extractor'
  Reason: tried: '/Users/diegozamora/miniconda3/bin/../lib/libcfitsio.10.dylib' (no such file), '/Users/diegozamora/miniconda3/bin/../lib/libcfitsio.10.dylib' (no such file), '/usr/local/lib/libcfitsio.10.dylib' (no such file), '/usr/lib/libcfitsio.10.dylib' (no such file)
zsh: abort      sex

so I installed the package missing: conda install cfitsio. It reported that it astromatric-source-extractor was causing inconsistency, but it proceeded. Then after trying to execute source-extractor again:

dyld[5805]: Library not loaded: '@rpath/libcfitsio.10.dylib'
  Referenced from: '/Users/diegozamora/miniconda3/bin/source-extractor'
  Reason: tried: '/Users/diegozamora/miniconda3/bin/../lib/libcfitsio.10.dylib' (mach-o file, but is an incompatible architecture (have (arm64), need (x86_64))), '/Users/diegozamora/miniconda3/bin/../lib/libcfitsio.10.dylib' (mach-o file, but is an incompatible architecture (have (arm64), need (x86_64))), '/usr/local/lib/libcfitsio.10.dylib' (no such file), '/usr/lib/libcfitsio.10.dylib' (no such file)
zsh: abort      sex

This time the file is found, but it has an incompatible architecture. I guess it makes sense because if I go to the index.json file from the package I need to install it says

  "arch": "x86_64",
  "build": "h49ae774_0",
  "build_number": 0,
  "depends": [
    "fftw",
    "liblapacke >=3.8.0,<3.9.0a0"
  ],
  "license": "GPL-3.0",
  "name": "astromatic-source-extractor",
  "platform": "osx",
  "subdir": "osx-64",
  "timestamp": 1570113827345,
  "version": "2.25.0"
}

However I know someone that has the same computer and installed the software using conda, so I makes no sense. What could be happening?


Solution

  • The package is for x64 and you have an environment set up for arm64. Mixing both will never work. I do not know what your colleague did (you could ask him, I can't), but he is most likely running an x64 python interpreter through rosetta.

    With conda you can also set up an environment that runs an x64 version of python and looks at the x64 subdirs when installing packages. merv has created an easy guide in this answer originally written to install a specific python version, but you can follow the steps for your case all the same:

    ## create empty environment (choose name as you wish)
    conda create -n ase
    
    ## activate
    conda activate ase
    
    ## use x86_64 architecture channel(s)
    conda config --env --set subdir osx-64
    
    ## add conda-forge
    conda config --env --add channels conda-forge
    
    ## install python, and your package. Add whatever else you need here
    conda install python astromatic-source-extractor