On Thu, Aug 31, 2023 at 10:49 AM Randall via curl-library
<curl-library@lists.haxx.se> wrote:
>
> On Wednesday, August 30, 2023 7:43 PM, Fandrich wrote:
> > [...]
> >If you can confirm that behaviour, then IMHO, configure should be changed
> to stop
> >doing that. If pkg-config has successfully found zlib, then configure
> shouldn't be
> >adding its own libraries and link flags to what pkg-config says is correct.
>
> When using a modified zlib.pc, the warning goes away, but -lz is added back
> by configure. The zlib.a is ignored, which is not the desired outcome. My
> zlib.pc as the Libs: line modified as follows (libz.a has to come first but
> does not take effect this way):
>
> Libs: ${libdir}/libz.a -L${libdir} -L${sharedlibdir}
>
> Instead of the original
>
> Libs: -L${libdir} -L${sharedlibdir} -lz

I think you should change strategies. You should use sed to change
references from -lz to libz.a (and friends).

What I have found from bootstrapping Wget on older systems that run
from non-standard locations [1]:

* use sed to change -l<lib> to point to the archive in configure [2]
* run configure
* use sed to change -l<lib> to point to the archive in the Makefiles [3]

When I say "point to the archive", I mean the absolute path to the
archive (though a relative path may work, if you are mindful of cwd
during command invocations).

After the configure/make/make check cycle, you will have an executable
that can run from anywhere without the need for RPATHs, RUNPATHs,
LD_PRELOAD and LD_LIBRARY_PATH tricks because there are no special
shared object dependencies. You will still depend on some shared
objects, but they are system shared objects like  linux-vdso.so and
libc.so.

After I get Wget bootstrapped, I can build other programs, like cURL,
Git, OpenSSH, etc.

I bootstrap Wget instead of cURL because Wget only has two
dependencies - OpenSSL and libunistring. After I get a modern Wget on
a machine, I can build more complex programs like cURL or a fully
featured Wget.

Jeff

[1] 
https://github.com/noloader/Build-Scripts/blob/master/bootstrap/bootstrap-wget.sh
[2] 
https://github.com/noloader/Build-Scripts/blob/master/bootstrap/bootstrap-wget.sh#L274
[3] 
https://github.com/noloader/Build-Scripts/blob/master/bootstrap/bootstrap-wget.sh#L310
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to