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

"Rainer Fiebig" ([email protected] via blfs-support Mailing List) <[email protected]> Sun, 15 Mar 2026 12:24:52 +0100
Newsgroups gmane.linux.lfs.beyond.support
Message-ID <[email protected]>
This is a multi-part message in MIME format...

------------=_1773573907-1253-16125
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Am 14.03.26 um 23:51 schrieb Joe Locash ([email protected] via
blfs-support Mailing List):
> 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.
Alright, worked.  Thanks.

Rainer


------------=_1773573907-1253-16125
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

------------=_1773573907-1253-16125--