Index | Thread | Search

From:
Jonathan Gray <jsg@jsg.id.au>
Subject:
Re: UPDATE: Alephone - GL backend
To:
Brad Smith <brad@comstyle.com>
Cc:
ports@openbsd.org
Date:
Sat, 30 Nov 2024 18:40:08 +1100

Download raw body.

Thread
On Sat, Nov 30, 2024 at 01:56:51AM -0500, Brad Smith wrote:
> While updating Alephone I ran into a linking issue with the GL backend. I
> disabled the GL backend so at least the core game engine could be updated
> when working on updating FFmpeg.
> 
> But circling back to this now. It seems like our Mesa libGL is missing
> this function as well as a lot of others. When I compare our Mesa libGL
> to Linux and FreeBSD's copies; they have a lot more functions including the
> missing function below. They both have exactly the same number of functions,
> 3493, compared to our 1655.

They have a layer of indirection and use NVIDIA's libglvnd for libGL.

> 
> ld: error: undefined symbol: glBlitFramebufferEXT

Extensions are supposed to be loaded dynamically.
Multiple libraries such as libepoxy provide wrappers,
perhaps libglvnd is also doing that.

> 
> openbsd-arm64$ objdump -T libGL.so.19.1 | grep glBlitFramebuffer
> 00000000000baec8 g    DF .text  00000000000000ac glBlitFramebuffer
> 
> brad@freebsd-vmware-amd64:/usr/local/lib $ objdump -T libGL.so.1.7.0 | grep glBlitFramebuffer
> 00000000000623a0 g    DF wtext  0000000000000000              glBlitFramebufferANGLE
> 0000000000062380 g    DF wtext  0000000000000000              glBlitFramebuffer
> 00000000000623c0 g    DF wtext  0000000000000000              glBlitFramebufferEXT
> 00000000000623e0 g    DF wtext  0000000000000000              glBlitFramebufferNV
> 
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/alephone/alephone/Makefile,v
> retrieving revision 1.36
> diff -u -p -u -p -r1.36 Makefile
> --- Makefile	24 Nov 2024 08:54:58 -0000	1.36
> +++ Makefile	27 Nov 2024 03:30:34 -0000
> @@ -5,6 +5,7 @@ COMMENT =		open source game engine based
>  DATE =			20240822
>  DISTNAME =		AlephOne-${DATE}
>  PKGNAME =		alephone-1.10
> +REVISION =		0
>  CATEGORIES =		games x11
>  EXTRACT_SUFX =		.tar.bz2
>  
> @@ -19,12 +20,10 @@ PERMIT_PACKAGE =	Yes
>  
>  SITES =			https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${DATE}/
>  
> -WANTLIB += ${COMPILER_LIBCXX} SDL2 SDL2_image SDL2_net
> +WANTLIB += ${COMPILER_LIBCXX} GL GLU SDL2 SDL2_image SDL2_net
>  WANTLIB += SDL2_ttf avcodec avformat avutil boost_filesystem boost_system
>  WANTLIB += c curl m openal png sndfile swresample swscale z zzip
>  
> -# GL GLU
> -
>  # C++17
>  COMPILER =		base-clang ports-gcc
>  
> @@ -44,8 +43,7 @@ RUN_DEPENDS =		devel/desktop-file-utils 
>  
>  USE_GMAKE =		Yes
>  CONFIGURE_STYLE =	gnu
> -CONFIGURE_ARGS +=	--disable-opengl \
> -			--without-miniupnpc
> +CONFIGURE_ARGS +=	--without-miniupnpc
>  CONFIGURE_ENV =		CPPFLAGS=-I${LOCALBASE}/include \
>  			LDFLAGS=-L${LOCALBASE}/lib
>  
>