pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: wget does not compile on FreeBSD12 with openssl



Finally, I was succesful to compile "wget" like I want: statically
linked and with libressl.

I have however consistently failed to do that with pkgsrc. Even without

wanting to have a statically linked executable (since this is not possible

on all systems), one might want to have an almost statically linked
executable (i.e.

an executable with only the dynamic libraries provided by the base
system, mainly libc

and few others).

To achieve that goal, one has to be able to compile with static
libraries. The problem

with pkgsrc is that dynamic (shared) and static libraries for any package

are always produced. The second problem is that the compiler prefers
always to use

dynamic libraries when both static and dynamic libraries are available.

I have tried to use the option "-static" in CFLAGS and LDFLAGS (in file
mk.conf)

without success. After that I have tried to add in the file "mk.conf"
the instruction

"CONFIGURE_ARGS += --without-shared" with no more success (the dynamic
libraries

are always created).

At least, by using this link:
https://www.perkin.org.uk/posts/creating-local-smartos-packages.html

I was able to create package manageable with the PKGSRC tools (pkg_info,
pkg_add, pkg_delete).

In addition, to what is described in that page, one would probably
define explicitely a name

for the package by adding the directive "@name" in the file "packlist".

It would be however preferable to compile the package by using directly
the pkgsrc infrastructure.

I have then two questions:

                1) Is it possible to generate only static (or dynamic)
libraries instead of both

                   when compiling a package with PKGSRC (for instance
when compiling

                    "libunistring")

              2) How to manage efficiently with "pkg_create" files
which are

                 shared (like the "dir" file in a "GNU info"
directory). This

                 is managed by "pkgsrc", but I was unable to find how
this is

                done.


Thanks for your help,


Best regards,

Pierre

Le 24.07.2019 à 19:32, Pierre Dupond a écrit :
Hi All,

          I am trying to compile wget on FreeBSD12 and I get an error
when I try

to compile it with the openssl library. I suppose this is related to the
fact that

the DES encryption has been removed from the library. With GNUTls, the
compilation

works well and the package for wget is created correctly.

It is however not possible to compile "wget" statically (what I would
prefer).

Do you have an idea on how to solve the problem?


By looking a little bit further, I have discovered that:

              * pkgsrc does not compile openssl on FreeBSD.

                (at least, the library is not installed on my system when
displaying

                the installed packages with the "pkg_info" command)

                This is a little bit strange since the "openssl" library
is probably a prerequisite

                 to compile wget with openssl.


            * By triying the same compilation under PureOS  which is a
recompilation

                  of Debian made by the purism firm
(https://www.puri.sm), "wget" is correctly

                  compiled and the library openssl is correctly installed.

--------------------------------------------- Here is the error message
when compiling with openssl
-----------------------------------------------------

=> Bootstrap dependency digest>=20010302: found digest-20190127
===> Checking for vulnerabilities in wget-1.20.3nb1
===> Creating toolchain wrappers for wget-1.20.3nb1
Unable to find headers for old DES API.
*** Error code 1

Stop.
bmake[1]: stopped in /opt/pkgsrc/net/wget
*** Error code 1

Stop.
bmake: stopped in /opt/pkgsrc/net/wget



Home | Main Index | Thread Index | Old Index