-
Notifications
You must be signed in to change notification settings - Fork 377
Try to add ldap libraries to the docker images. #7197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| __AndroidPackages+=" liblzma" | ||
| __AndroidPackages+=" krb5" | ||
| __AndroidPackages+=" openssl" | ||
| # do I need ldap on android? how can I find android package name? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The package name is openldap. You can find it by downloading the file below (e.g. http://termux.net/dists/stable/main/binary-aarch64/Packages for arm64) and then search for ldap.
eng/common/cross/build-rootfs.sh
Outdated
| __IllumosPackages+=" mit-krb5-1.16.2nb4" | ||
| __IllumosPackages+=" openssl-1.1.1e" | ||
| __IllumosPackages+=" zlib-1.2.11" | ||
| __IllumosPackages+=" ldap-0.5.11" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@am11 can you please verify the Illumos package name?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the message @janvorli.
@sandreenko, we are currently using SmartOS' distro for the raw packages:
US: https://pkgsrc.joyent.co/packages/SmartOS/2020Q1/x86_64/All/
EU: https://pkgsrc.smartos.skylime.net/packages/SmartOS/2020Q1/x86_64/All/
the package which has libldap.so is http://pkgsrc.smartos.skylime.net/packages/SmartOS/2020Q1/x86_64/All/openldap-client-2.4.49.tgz. Assuming that's the lib we are interested in(?), I'd change it to:
| __IllumosPackages+=" ldap-0.5.11" | |
| __IllumosPackages+=" openldap-client-2.4.49" |
btw, we can test it by running eng/common/cross/build-rootfs.sh --use-mirror illumos (or without mirror in US) from root of the repo on linux machine and then inspect/find stuff in ./.tools/rootfs/ directory.
# prereqs on Ubuntu 20.04
$ sudo apt install g++ make libgmp3-dev libmpfr-dev libmpc-dev
# run the script for illumos
$ eng/common/cross/build-rootfs.sh --use-mirror illumos
# succeeds
$ find .tools/ -name *ldap.so
.tools/rootfs/x64/lib/krb5/plugins/kdb/kldap.so
.tools/rootfs/x64/lib/libkdb_ldap.so
.tools/rootfs/x64/lib/libldap.so
.tools/rootfs/x64/usr/lib/amd64/libldap.so
.tools/rootfs/x64/usr/lib/amd64/libsldap.so
.tools/rootfs/x64/usr/lib/libldap.so
.tools/rootfs/x64/usr/lib/libsldap.so
.tools/rootfs/x64/usr/lib/security/amd64/pam_ldap.so
.tools/rootfs/x64/usr/lib/security/pam_ldap.soThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @am11,
btw, we can test it by running eng/common/cross/build-rootfs.sh --use-mirror illumos (or without mirror in US) from root of the repo on linux machine and then inspect/find stuff in ./.tools/rootfs/ directory.
Could you please clarify if we need to run something after "find .tools/ -name *ldap.so" to find where ".tools/rootfs/x64/usr/lib/amd64/libldap.so" comes from?
|
@janvorli could you please explain why we don't have ldap in Interop libraries for Android ? Is it inherited from Unix or not used there? I guess it is not used then how do we run System.DirectoryServices.Protocols there? I guess it is excluded somehow but can't find information about it. The question is if we want to add this dependency for android or not, the same goes for FreeBSD I think. |
(I am not @janvorli but) IMO, we can add the dependencies as these are very early-stage setup scripts, and it doesn't hurt to add an extra package which may or may not be consumed by the build. If we need them later on those platforms, it would be easier to consume them OOTB from the docker image (rather than going through this process: update this script, wait for |
|
Android with CoreCLR is currently in a mode where we've made things work in the past, but we never test it or do anything with it. Official Android support comes from the Mono in .NET. Looking at the history of the interop libraries for Android you've mentioned, I can see it was added for Mono purposes. |
Co-authored-by: Adeel Mujahid <[email protected]>
janvorli
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you!
* try to add ldap libraries. * fixes * Update eng/common/cross/build-rootfs.sh Co-authored-by: Adeel Mujahid <[email protected]> Co-authored-by: Adeel Mujahid <[email protected]>
The versions were taken from https://github.com/dotnet/versions/blob/master/build-info/docker/image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json, I need the update to get results of dotnet/arcade#7197
This reverts commit 44f0c7b.
I am trying to add a build time dependency between CoreFX library and OpenLdap.
In order to do so, I need OpenLdap library to exist in the docker images that we use for build.
I am not familiar with this infrastructure so please review as if a monkey wrote this change.
cc @janvorli
link dotnet/runtime#50540