Describe the bug
libcurl3 is not in the final image, as it is replaced by libcurl4 when installing curl (on Ubuntu 18.04). It is still installed during the process which leads to other packages being uninstalled because of incompatibilities.
Area for Triage:
Question, Bug, or Feature?:
Bug
Virtual environments affected
Expected behavior
libcurl3 is not installed at all.
Context
I am trying to build this image on Google Cloud. I managed to change the builder, start from an Ubuntu 18.04 LTS image, and complete the process, but when starting a new VM from the resulting image I could not connect to it with SSH.
SSH authorizations and users are managed by https://github.com/GoogleCloudPlatform/compute-image-packages, which provides systemd services running on the machine. They are preinstalled on GCP-provided images, but if you ever need to create your own images the packages to install are documented here.
Actual behavior
I ran the packer build in debug mode, checking on the builder VM the process as it went along.
scripts/installers/1804/basic.sh is run, which in turn in line 32 installs libcurl3.libcurl3 conflicts with libcurl4 which is required by curl, so libcurl4 is removed and with it google-compute-engine-oslogin.curl is installed, which will bring along libcurl4 and uninstall libcurl3.The result is that libcurl3 is not available, but unfortunately google-compute-engine-oslogin was already removed so all future SSH connections fail.
Note: I only tested this on the Ubuntu 18.04 image, I don't know if it is also present on the 16.04 version.
Hey @nymous, thanks for the feedback, sorry you're having an issue building the image. For issues like this, please post over in the Actions community forum. There isn't really a change we'll make in this repo to support your scenario at this time. Perhaps others in the community have faced or solved your issue.
馃憢 @nymous, did you find any workaround for this? Would _not_ installing libcurl3 by erasing these lines work?
Yes that's exactly what we did, we skipped installing libcurl3 (but we forked an old version so these lines were different ^^)
Reopened this issue to revisit it one more time
Hello, thank you for your response. We have investigated it one more time and unfortunately, we can鈥檛 remove libcurl3 from image because we worry of breaking changes (backward compatibility of these packages):
mongodb-org-mongos : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed.
hhvm : Depends: libcurl3 (>= 7.28.0) but it is not going to be installed.
php7.4-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
php7.2-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
mongodb-org-shell : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed.
php5.6-curl : Depends: libcurl3 (>= 7.18.0) but it is not going to be installed.
php7.1-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
php7.0-curl : Depends: libcurl3 (>= 7.18.0) but it is not going to be installed.
mongodb-org-server : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed.
We would like to avoid customers impact on Ubuntu 18.04 image.
Btw, Ubuntu 20.04 doesn鈥檛 have libcurl3.
Most helpful comment
Reopened this issue to revisit it one more time