Compile Failing Due to Conflicting Package Dependencies (dnsmasq)

I am trying to compile a snapshot and it gets through most of the compile but errors out while installing packages due to conflicting package dependencies, mostly dnsmasq in multiple packages. Is there a make option to ignore package conflicts? I cant go in and remove each manually.

You should share your actual error output for people to be able to help you.

I assume you're trying to build in dnsmasq-full? Try switching the offending the unwanted conflicting packages to [m] (modular).

1 Like

Sorry, here are the conflict messages that are showing the package conflicts. Is there a make option to look for these conflicts and fix before compiling?

Collected errors:
 * check_data_file_clashes: Package libustream-openssl20200215 wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/lib/libustream-ssl.so
	But that file is already provided by package  * libustream-wolfssl20200215
 * opkg_install_cmd: Cannot install package libustream-openssl20200215.
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/etc/hotplug.d/ntp/25-dnsmasqsec
	But that file is already provided by package  * dnsmasq
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/etc/init.d/dnsmasq
	But that file is already provided by package  * dnsmasq
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/etc/uci-defaults/50-dnsmasq-migrate-resolv-conf-auto.sh
	But that file is already provided by package  * dnsmasq
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/usr/lib/dnsmasq/dhcp-script.sh
	But that file is already provided by package  * dnsmasq
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/usr/sbin/dnsmasq
	But that file is already provided by package  * dnsmasq
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/usr/share/acl.d/dnsmasq_acl.json
	But that file is already provided by package  * dnsmasq
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/usr/share/dnsmasq/dhcpbogushostname.conf
	But that file is already provided by package  * dnsmasq
 * check_data_file_clashes: Package dnsmasq-full wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/usr/share/dnsmasq/rfc6761.conf
	But that file is already provided by package  * dnsmasq
 * opkg_install_cmd: Cannot install package dnsmasq-full.
 * check_conflicts_for: The following packages conflict with wpad-mini:
 * check_conflicts_for: 	wpad-basic-wolfssl * 
 * opkg_install_cmd: Cannot install package wpad-mini.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for ext-samba:
 * 	luci-app-samba
 * opkg_install_cmd: Cannot install package ext-samba.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for ext-mwansnap:
 * 	luci-app-dnsmasq-ipset
 * opkg_install_cmd: Cannot install package ext-mwansnap.
 * check_data_file_clashes: Package libustream-openssl20200215 wants to install file /media/user1/usb_drive/rooter_master/rooter1907-2/build_dir/target-mipsel_24kc_musl/root-ramips/lib/libustream-ssl.so
	But that file is already provided by package  * libustream-wolfssl20200215

You've got 2 issues: dnsmasq and wolfssl

1 Like

Yes, is there anything that can be done or does each package need to be updated to remove conflicts?

Borromini already explained what to do. Remove or mark as installable in make menuconfig

Edit:

dnsmasq for example
# CONFIG_PACKAGE_dnsmasq is not set
CONFIG_PACKAGE_dnsmasq-full=y
CONFIG_PACKAGE_dnsmasq_full_auth=y
CONFIG_PACKAGE_dnsmasq_full_conntrack=y
CONFIG_PACKAGE_dnsmasq_full_dhcp=y
CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y
CONFIG_PACKAGE_dnsmasq_full_dnssec=y
CONFIG_PACKAGE_dnsmasq_full_ipset=y
CONFIG_PACKAGE_dnsmasq_full_noid=y
CONFIG_PACKAGE_dnsmasq_full_tftp=y

Sorry, I cut that shorter than I wanted..

The openssl vs wolfssl, OpenWrt is moving to wolfssl vs mbedtls because of issues.. Some packages use opennssl, and will causes errors like this.

As far as dnsmasq-full, remove dnsmasq if you want to use dnsmasq-full, or set it to modulare [m] in menuconfig. Although I've NEVER been able to get dnsmasq-full to fully build even with [m] (I build with CONFIG_ALL to build all packages). You may need to append IGNORE_ERRORS='n m' to your make to make it work after setting it to modular.

1 Like