Bug 251855

Summary: x11-toolkits/gtk30 graphics/movit x11-servers/xorg-server x11-servers/xwayland: fatal error: 'epoxy/glx.h' file not found
Product: Ports & Packages Reporter: Fabiano Sidler <freebsd-bugs>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: New ---    
Severity: Affects Some People CC: desktop, tcberner, x11
Priority: ---    
Version: Latest   
Hardware: amd64   
OS: Any   
Attachments:
Description Flags
archive with the build outputs none

Description Fabiano Sidler 2020-12-15 02:35:16 UTC
Created attachment 220562 [details]
archive with the build outputs

I'm unable to build these ports because apparently graphics/libepoxy isn't pulled in as a dependency as it should?
Comment 1 Tobias C. Berner freebsd_committer freebsd_triage 2020-12-15 05:19:56 UTC
Moin moin 

You have X11=off in your make.conf grahpics/libepoxy, which you have installed as a dependency on x11-toolkits/gtk30, installs that file only when X11 is on.


mfg Tobias
Comment 2 Fabiano Sidler 2020-12-16 05:11:31 UTC
I'm using poudriere and have set OPTIONS_UNSET+=X11 in make.conf and OPTIONS_SET+=X11 in desktop-make.conf. Why do I still have to set graphics_libepoxy_SET=X11 in desktop-make.conf to really enable it in the build?
Is it normal, that there is no options file generated for graphics/libepoxy?
Comment 3 Fabiano Sidler 2020-12-16 10:14:22 UTC
*** Bug 251857 has been marked as a duplicate of this bug. ***
Comment 4 Fabiano Sidler 2020-12-16 10:18:39 UTC
Is is new that OPTIONS_SET+=X11 in desktop-make.conf doesn't override OPTIONS_UNSET+=X11 in make.conf?
Comment 5 Jan Beich freebsd_committer freebsd_triage 2020-12-18 19:48:42 UTC
Similar to bug 247517:
- a port cannot force its dependencies built with particular options set/unset e.g., movit, xorg-server, xwayland need to require libepoxy built with X11 set
- _IMPLIES and _EXCLUDE cannot unset conflicting options (see also bug 202701) e.g., gtk30 need to disable ATK_BRIDGE when X11 is disabled

Individiual maintainers can't do much e.g.,

pre-everything:
# OPTIONS_UNSET+=X11 is ignored by _IMPLIES=ATK_BRIDGE
.if defined(OPTIONS_UNSET) && ${OPTIONS_UNSET:MX11}
	@if [ "${PORT_OPTIONS:MATK_BRIDGE}" ]; then \
		${ECHO_MSG} "ATK_BRIDGE implies X11 but X11 was disabled globally."; \
		${FALSE}; \
	fi
.endif

pre-configure:
# OPTIONS_UNSET+=X11 is not compatible with this port
	@if [ "$$(pkg-config epoxy --variable epoxy_has_glx)" -ne 1 ]; then \
		${ECHO_MSG} "${PORTNAME} requires libepoxy built with X11 support."; \
		${FALSE}; \
	fi