build.info

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

build.info

Thomás Inskip
Does anyone know how I can specify that a specific shared library (in this case an engine) is dependent on a system-installed shared library (i.e. not built along with openssl)?.  Basically the equivalent of LDFLAGS += -lsomelib


--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: build.info

Joe Browning
Using the linux env var LD_PRELOAD, maybe?

Sent from BlueMail
On Sep 3, 2018, at 15:05, "Thomás Inskip" <[hidden email]> wrote:
Does anyone know how I can specify that a specific shared library (in this case an engine) is dependent on a system-installed shared library (i.e. not built along with openssl)?.  Basically the equivalent of LDFLAGS += -lsomelib

-- 
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: build.info

Wouter Verhelst-2
In reply to this post by Thomás Inskip
On 9/3/18 9:05 PM, Thomás Inskip wrote:
Does anyone know how I can specify that a specific shared library (in this case an engine) is dependent on a system-installed shared library (i.e. not built along with openssl)?.  Basically the equivalent of LDFLAGS += -lsomelib
The GNU runtime dynamic library will honor DT_NEEDED flags of libraries, too. That is,  you can just do LDFLAGS += -lsomelib on a library target and it will work. Check libgtk-3.so, for instance:

objdump -x /usr/lib/x86_64-linux-gnu/libgtk-3.so

will show a bunch of lines like...

Dynamic Section:
  NEEDED               libgdk-3.so.0
  NEEDED               libgmodule-2.0.so.0
  NEEDED               libpangocairo-1.0.so.0
  NEEDED               libX11.so.6
  NEEDED               libXi.so.6
  NEEDED               libXcomposite.so.1
  NEEDED               libXdamage.so.1
(...)

Meaning, all these libraries need to be loaded for libgtk-3.so to work.

Beware gotchas:

- Not all rtdl implementations do so, so if you're not using a GNU platform (e.g., Linux), then check the documentation of your runtime dynamic linker.
- This works for shared libraries, but not for static ones.

Regards,



--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: build.info

Jakob Bohm-7
On 04/09/2018 08:55, Wouter Verhelst wrote:

> On 9/3/18 9:05 PM, Thomás Inskip wrote:
>> Does anyone know how I can specify that a specific shared library (in
>> this case an engine) is dependent on a system-installed shared
>> library (i.e. not built along with openssl)?.  Basically the
>> equivalent of LDFLAGS += -lsomelib
> The GNU runtime dynamic library will honor DT_NEEDED flags of
> libraries, too. That is,  you can just do LDFLAGS += -lsomelib on a
> library target and it will work. Check libgtk-3.so, for instance:
>
> objdump -x /usr/lib/x86_64-linux-gnu/libgtk-3.so
>
> will show a bunch of lines like...
>
> Dynamic Section:
>   NEEDED               libgdk-3.so.0
>   NEEDED               libgmodule-2.0.so.0
>   NEEDED               libpangocairo-1.0.so.0
>   NEEDED               libX11.so.6
>   NEEDED               libXi.so.6
>   NEEDED               libXcomposite.so.1
>   NEEDED               libXdamage.so.1
> (...)
>
> Meaning, all these libraries need to be loaded for libgtk-3.so to work.
>
> Beware gotchas:
>
> - Not all rtdl implementations do so, so if you're not using a GNU
> platform (e.g., Linux), then check the documentation of your runtime
> dynamic linker.
> - This works for shared libraries, but not for static ones.
>
> Regards,
>
Please note that the OP is apparently asking how to specify
-lsomelib using the OpenSSL-specific build system, not the
general meaning of using shared libraries on POSIX systems.

Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: build.info

Thomás Inskip
Thanks.  That is correct.  I'd like to specify -lsomellib for just one engine target in engines/build.info.


On Tue, Sep 4, 2018 at 12:12 AM Jakob Bohm <[hidden email]> wrote:
On 04/09/2018 08:55, Wouter Verhelst wrote:
> On 9/3/18 9:05 PM, Thomás Inskip wrote:
>> Does anyone know how I can specify that a specific shared library (in
>> this case an engine) is dependent on a system-installed shared
>> library (i.e. not built along with openssl)?.  Basically the
>> equivalent of LDFLAGS += -lsomelib
> The GNU runtime dynamic library will honor DT_NEEDED flags of
> libraries, too. That is,  you can just do LDFLAGS += -lsomelib on a
> library target and it will work. Check libgtk-3.so, for instance:
>
> objdump -x /usr/lib/x86_64-linux-gnu/libgtk-3.so
>
> will show a bunch of lines like...
>
> Dynamic Section:
>   NEEDED               libgdk-3.so.0
>   NEEDED               libgmodule-2.0.so.0
>   NEEDED               libpangocairo-1.0.so.0
>   NEEDED               libX11.so.6
>   NEEDED               libXi.so.6
>   NEEDED               libXcomposite.so.1
>   NEEDED               libXdamage.so.1
> (...)
>
> Meaning, all these libraries need to be loaded for libgtk-3.so to work.
>
> Beware gotchas:
>
> - Not all rtdl implementations do so, so if you're not using a GNU
> platform (e.g., Linux), then check the documentation of your runtime
> dynamic linker.
> - This works for shared libraries, but not for static ones.
>
> Regards,
>
Please note that the OP is apparently asking how to specify
-lsomelib using the OpenSSL-specific build system, not the
general meaning of using shared libraries on POSIX systems.

Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: build.info

Richard Levitte - VMS Whacker-2
We currently don't have per-engine support of the kind.  The cleanest
you can do is probably having a private config looking something like
this:

    our %targets = (
    'mytarget' => {
            inherit_from => [ 'whatever' ],
            dso_ldflags => '-lsomelib'
        }
    );

Cheers,
Richard

In message <CALs+mqaiQAXoS88AVJBJyeod0mgegocfDMb7eaoivVLTDO=[hidden email]> on Tue, 4 Sep 2018 11:05:27 -0700, Thomás Inskip <[hidden email]> said:

> Thanks. That is correct. I'd like to specify -lsomellib for just one engine target in engines/build.info.
>
> On Tue, Sep 4, 2018 at 12:12 AM Jakob Bohm <[hidden email]> wrote:
>
>  On 04/09/2018 08:55, Wouter Verhelst wrote:
>  > On 9/3/18 9:05 PM, Thomás Inskip wrote:
>  >> Does anyone know how I can specify that a specific shared library (in
>  >> this case an engine) is dependent on a system-installed shared
>  >> library (i.e. not built along with openssl)?. Basically the
>  >> equivalent of LDFLAGS += -lsomelib
>  > The GNU runtime dynamic library will honor DT_NEEDED flags of
>  > libraries, too. That is, you can just do LDFLAGS += -lsomelib on a
>  > library target and it will work. Check libgtk-3.so, for instance:
>  >
>  > objdump -x /usr/lib/x86_64-linux-gnu/libgtk-3.so
>  >
>  > will show a bunch of lines like...
>  >
>  > Dynamic Section:
>  > NEEDED libgdk-3.so.0
>  > NEEDED libgmodule-2.0.so.0
>  > NEEDED libpangocairo-1.0.so.0
>  > NEEDED libX11.so.6
>  > NEEDED libXi.so.6
>  > NEEDED libXcomposite.so.1
>  > NEEDED libXdamage.so.1
>  > (...)
>  >
>  > Meaning, all these libraries need to be loaded for libgtk-3.so to work.
>  >
>  > Beware gotchas:
>  >
>  > - Not all rtdl implementations do so, so if you're not using a GNU
>  > platform (e.g., Linux), then check the documentation of your runtime
>  > dynamic linker.
>  > - This works for shared libraries, but not for static ones.
>  >
>  > Regards,
>  >
>  Please note that the OP is apparently asking how to specify
>  -lsomelib using the OpenSSL-specific build system, not the
>  general meaning of using shared libraries on POSIX systems.
>
>  Enjoy
>
>  Jakob
>  --
>  Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com
>  Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10
>  This public discussion message is non-binding and may contain errors.
>  WiseMo - Remote Service Management for PCs, Phones and Embedded
>
>  --
>  openssl-users mailing list
>  To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
>
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users