Re: Building "cargo-c": over 400 packages to be downloaded?

"Joe Locash" ([email protected] via blfs-support Mailing List) <[email protected]> Sat, 14 Mar 2026 18:51:03 -0400
Newsgroups gmane.linux.lfs.beyond.support
Message-ID <[email protected]>
This is a multi-part message in MIME format...

------------=_1773528672-23792-15992
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 3/14/26 6:36 PM, Rainer Fiebig ([email protected] via blfs-support 
Mailing List) wrote:
> Am 14.03.26 um 18:44 schrieb Joe Locash ([email protected] via
> blfs-support Mailing List):
>> On 3/14/26 5:35 AM, Rainer Fiebig ([email protected] via blfs-support
>> Mailing List) wrote:
>>> Am 14.03.26 um 01:17 schrieb Joe Locash ([email protected] via
>>> blfs-support Mailing List):
>>>> On 3/13/26 2:51 PM, Rainer Fiebig ([email protected] via blfs-support
>>>> Mailing List) wrote:
>>>>> Am 12.03.26 um 21:43 schrieb Joe Locash ([email protected] via
>>>>> blfs-support Mailing List):
>>>>>> On 3/12/26 6:28 AM, Rainer Fiebig ([email protected] via blfs-support
>>>>>> Mailing List) wrote:
>>>>>>> "Cargo-c" is required for later versions of librsvg which I wanted to
>>>>>>> update for security-reasons (SA 12.4 098).
>>>>>>>
>>>>>>> An offline-build of cargo-c doesn't seem possible and the download of
>>>>>>> file "cargo.lock" is necessary.  I checked version -0.10.21 of that
>>>>>>> file
>>>>>>> and it has over 400 "package" sections, all with name and url:
>>>>>> <snip>
>>>>>>
>>>>>> You can do an offline build. On your system with internet access after
>>>>>> you extract and cd into the cargo-c source dir, just do a "cargo
>>>>>> vendor".
>>>>>>
>>>>>> It will download all the crates it thinks it needs. Save the vendor
>>>>>> dir
>>>>>> and copy it to your offline box and put it into the cargo-c source dir
>>>>>> there. Make sure to follow the directions that are displayed after
>>>>>> doing
>>>>>> the vendor. I do all of my builds offline.
>>>>> Tested this with cargo-c-0.10.21 (and rustc-1,94.0) and it worked -
>>>>> provided that "config.json" and "Cargo.lock" were also in the package's
>>>>> root directory.
>>>>>
>>>>> Contrary to the book, I downloaded Cargo.lock with a slightly modified
>>>>> curl-statement
>>>> For an offline build you don't need the Cargo.lock file.
>>> Hm - that's not what I see here for cargo-c.  With the right Cargo.lock
>>> symlinked into the build-directory, the offline build succeeds.  Without
>>> it, I get this:
>>>
>>> [...]
>>>       Updating crates.io index
>>> warning: spurious network error (3 tries remaining): [6] Could not
>>> resolve hostname (Could not resolve host: index.crates.io)
>>> warning: spurious network error (2 tries remaining): [6] Could not
>>> resolve hostname (Could not resolve host: index.crates.io)
>>> warning: spurious network error (1 try remaining): [6] Could not resolve
>>> hostname (Could not resolve host: index.crates.io)
>>> error: failed to get `anyhow` as a dependency of package `cargo-c
>>> v0.10.21+cargo-0.95.0
>>> (/home/rainer/Downloads/LFS/BLFS/BLFS-11.1/cargo-c-0.10.21)`
>>>
>>> Caused by:
>>>     download of config.json failed
>>>
>>> Caused by:
>>>     failed to download from `https://index.crates.io/config.json`
>>>
>>> Caused by:
>>>     [6] Could not resolve hostname (Could not resolve host:
>>> index.crates.io)
>>>
>>> real    0m17.343s
>>> user    0m0.197s
>>> sys     0m0.955s
>>>
>>>
>>> Is there something else to heed?  Or maybe cargo-c is an exception to
>>> the rule?
>> After putting the vendor/ dir in did you create .cargo/config.toml with
>> the line from the cargo vendor command?
> No.  I didn't do anything.  Just now I repeated "cargo vendor" to get an
> idea of what you might mean and these are the last lines from the output
> of it:
>
> [...]
>     Vendoring zmij v1.0.21
> (/home/rainer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21)
> to vendor/zmij
> To use vendored sources, add this to your .cargo/config.toml for this
> project:
>
> [source.crates-io]
> replace-with = "vendored-sources"
>
> [source.vendored-sources]
> directory = "vendor"
>
> But which .cargo/config.toml is meant here?  There's none in the base
> directory and "find" shows many options:

It means that if you use the vendor directory for the build you have to 
create (or add to) .cargo/config.toml.



------------=_1773528672-23792-15992
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0

-- 
http://lists.linuxfromscratch.org/sympa/info/blfs-support
Unsubscribe: See the above information page

------------=_1773528672-23792-15992--