Closed jyn514 closed 4 years ago
Most of those packages have a version number in them: we "just" need to find the newer version of them and install those.
Okay I have an idea for this. Let me try writing a small script that does it.
Okay here's what my script came up with:
These packages doesn't have any replacement and requires further investigation:
libcloog
libcwidgetv
libelektra
libiculx
libntdb
Again, this is a basic script that I wrote to check for replacements. This is in noway accurate, and needs manual inspection, but it eases the burden on us.
Also, @jyn514 I would've loved to contribute, but I don't have write access to your repo, so I'm commenting it here.
Okay update: I'm gonna try building the image based on further manual inspection of those missing packages. Will keep you updated on my progress
Okay yeah, that seems to work. Only 3 packages are now not found. I've narrowed it down to this:
E: Unable to locate package libcloog-isl4
E: Unable to locate package libelektra-dev
E: Unable to locate package libntdb1
I'm not really sure what these packages are, so I'll need help finding replacements.
Also, sorry for the spam, I'm just super excited about this is all :sweat_smile:
Also, @jyn514 I would've loved to contribute, but I don't have write access to your repo, so I'm commenting it here.
Thanks so much for working on this! If you like you can fork my repo and make a PR of your own and we can work from there instead. That would make it easier to read the packages as well since I'd only have to look at the diff.
I'm not really sure what these packages are, so I'll need help finding replacements.
I'm not sure either ...
libcloog
and libntdb
go all the way back to the initial commit (https://github.com/rust-lang/crates-build-env/commit/edab36e7794bde1a66632741c27c755acc59ed64), so maybe we don't really need them?libelektra
was added explicitly elektra seems to have been removed altogether from 20.04: https://repology.org/project/elektra/versions. I ran apt search
and nothing came up:
$ docker run -it ubuntu:focal
root@8401cbe4bc86:/# apt search elektra
Sorting... Done
Full Text Search... Done
root@8401cbe4bc86:/#
@PhilippGackstatter do you have any idea why libelektra was removed? Are you interested in adding to the 20.04 release? If not I'm not sure there's a clear path forward here ...
Thanks for bringing this to my attention.
I'll check with the project's maintainers about the 20.04 situation and get back to you.
One question: If we are unable to add it to 20.04, the existing documentation wouldn't get lost, it's just that when I publish a new crate, the docs wouldn't build, is that correct?
One question: If we are unable to add it to 20.04, the existing documentation wouldn't get lost, it's just that when I publish a new crate, the docs wouldn't build, is that correct?
That's correct.
Note that we always redirect /:crate/
to the latest version even if it failed to build, so people still wouldn't see the documentation right away. We link to the last version that succeeded though, see for example https://docs.rs/crate/ring/0.16.11
@rakshith-ravi some of these changes look a little odd.
In particular, there are packages added that weren't there before:
Additionally, you've removed several packages that are present in 20.04:
Can you explain how you came up with the new versions that you posted?
@jyn514 the script I wrote basically did the same thing I was doing manually: type the first few characters on a terminal and use tab-completion to find the actual package name.
Naturally the script fell short in a lot of areas, but it gives us a good estimate.
However, in the specific case of libmariadbclient-dev
and libmariadbclient-dev-compat
, it seems to be clashing with the mysql dependencies. When I tried to build the docker image, the dependencies seems to clash. So I had to remove them. Not sure what to do about that though.
Closing in favor of #43
This doesn't pass, apparently 20.04 got rid of a bunch of packages. We'll have to make a policy decision about whether we should get rid of outdated ones/look for a new version.
Missing packages:
Generated by copy pasting the errors from apt, then `"s/^E: Unable to locate package // ; s/E: Couldn't find any package by glob //; s/E: Couldn't find any package by regex //; s/E: Package '\([^']*\)' has no installation candidate/\1/" | tr -d "'" | sort -u`. ``` cpp-6 libapt-inst2.0 libapt-pkg5.0 libarmadillo8 libasan3 libavcodec57 libavformat57 libavresample3 libavutil55 libbind9-160 libboost-filesystem1.62.0 libboost-filesystem1.65.1 libboost-iostreams1.62.0 libboost-system1.62.0 libboost-system1.65.1 libcapnp-0.6.1 libcdio17 libcfitsio5 libcharls1 libcloog-isl4 libcsfml-audio2.4 libcsfml-graphics2.4 libcsfml-network2.4 libcsfml-system2.4 libcsfml-window2.4 libcwidget3v5 libdns1100 libdns-export1100 libdouble-conversion1 libelektra-dev libevent-2.1-6 libevent-core-2.1-6 libevent-extra-2.1-6 libevent-openssl-2.1-6 libevent-pthreads-2.1-6 libexiv2-14 libffi6 libgcc-6-dev libgdal20 libgdbm5 libgdcm2.8 libgeos-3.6.2 libgeotiff2 libgfortran3 libgfortran-6-dev libglew2.0 libhdf5-100 libhdf5-openmpi-100 libhogweed4 libhttp-parser2.7.1 libhunspell-1.6-0 libhwloc5 libhyperscan4 libicu60 libiculx60 libilmbase12 libip4tc0 libirs160 libisc169 libisccc160 libisccfg160 libisc-export169 libisl15 libisl19 libiso9660-10 libjson-c3 libldb1 liblwres160 libmariadbclient18 libmysqlclient20 libnetcdf13 libnettle6 libntdb1 libobjc-6-dev libogdi3.2 libopencv3.2-java libopencv3.2-jni libopencv-calib3d3.2 libopencv-contrib3.2 libopencv-core3.2 libopencv-features2d3.2 libopencv-flann3.2 libopencv-highgui3.2 libopencv-imgcodecs3.2 libopencv-imgproc3.2 libopencv-ml3.2 libopencv-objdetect3.2 libopencv-photo3.2 libopencv-shape3.2 libopencv-stitching3.2 libopencv-superres3.2 libopencv-video3.2 libopencv-videoio3.2 libopencv-videostab3.2 libopencv-viz3.2 libopenexr22 libopenmpi2 libperl5.26 libpolkit-backend-1-0 libpoppler73 libpostproc54 libprocps6 libproj12 libprotobuf10 libprotobuf-lite10 libprotoc10 libpython3.6-dev libpython3.6-minimal libpython3.6-stdlib libpython-dev libpython-stdlib libreadline7 libruby2.5 libsane-extras libsane-extras-common libsensors4 libsfml-audio2.4 libsfml-graphics2.4 libsfml-network2.4 libsfml-system2.4 libsfml-window2.4 libsndio6.1 libssl1.0.0 libstdc++-6-dev libswresample2 libswscale4 libv8-3.14.5 libvpx5 libwxgtk3.0-0v5 libx264-152 libx265-146 python-minimal python-talloc ruby2.5 vdpau-va-driver ```