ports/71052: vmd port does not compile if nvidia-driver port installed
Stephen Montgomery-Smith
stephen at cauchy.math.missouri.edu
Fri Aug 27 22:30:29 UTC 2004
>Number: 71052
>Category: ports
>Synopsis: vmd port does not compile if nvidia-driver port installed
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Fri Aug 27 22:30:29 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Stephen Montgomery-Smith
>Release: FreeBSD 4.10-STABLE i386
>Organization:
>Environment:
System: FreeBSD cauchy 4.10-STABLE FreeBSD 4.10-STABLE #0: Thu Aug 26 21:23:59 CDT 2004 stephen at cauchy:/usr/src-copy/sys/compile/gx270 i386
>Description:
The science/vmd port does not compile if the x11/nvidia-driver port is
installed.
>How-To-Repeat:
cd /usr/ports/x11/nvidia-driver
make install clean
cd /usr/ports/science/vmd
make
>Fix:
This fix is a bit "hackish" but the resulting code seems to compile
and work whether or not the nvidia-driver port is installed.
diff -ur --new-file vmd-orig/Makefile vmd/Makefile
--- vmd-orig/Makefile Fri Aug 27 16:23:24 2004
+++ vmd/Makefile Fri Aug 27 17:11:59 2004
@@ -7,6 +7,7 @@
PORTNAME= vmd
PORTVERSION= 1.8.2
+PORTREVISION= 1
CATEGORIES= science graphics python tcl84 tk84
MASTER_SITES= #
DISTFILES= ${PORTNAME}-${PORTVERSION}.src.tar.gz
diff -ur --new-file vmd-orig/files/patch-OpenGLExtensions.C vmd/files/patch-OpenGLExtensions.C
--- vmd-orig/files/patch-OpenGLExtensions.C Wed Dec 31 18:00:00 1969
+++ vmd/files/patch-OpenGLExtensions.C Fri Aug 27 17:04:20 2004
@@ -0,0 +1,21 @@
+--- src/OpenGLExtensions.C-xxx Fri Dec 5 13:21:59 2003
++++ src/OpenGLExtensions.C Fri Aug 27 16:42:14 2004
+@@ -117,7 +117,17 @@
+ #endif
+
+ #if !defined(_MSC_VER) && !defined(__APPLE__)
+-#if !defined(ARCH_LINUX) && !defined(ARCH_LINUXALPHA) && !defined(ARCH_LINUXAMD64) && !defined(ARCH_LINUXPPC) && (defined(GLX_VERSION_1_4) || defined(ARCH_SOLARIS2))
++/*
++ Why the !defined(ARCH_FREEBSD)? Typically the X libraries that
++ come with FreeBSD work with glXGetProcAddress. However, if the
++ nvidia-driver port is installed, it seems not to work. But using
++ glXGetProcAddressARB seems to work whether or not the nvidia-driver
++ port is installed. (To be honest, I do feel that this is a bit hackish,
++ and maybe this will break something in other environments, but lets face
++ that bridge when we come to it - email me at stephen at math.missouri.edu
++ about it.)
++*/
++#if !defined(ARCH_FREEBSD) && !defined(ARCH_LINUX) && !defined(ARCH_LINUXALPHA) && !defined(ARCH_LINUXAMD64) && !defined(ARCH_LINUXPPC) && (defined(GLX_VERSION_1_4) || defined(ARCH_SOLARIS2))
+ // GLX 1.4 form found on commercial Unix systems that
+ // don't bother providing the ARB extension version that Linux prefers.
+ return glXGetProcAddress((const GLubyte *) procname);
diff -ur --new-file vmd-orig/files/patch-configure vmd/files/patch-configure
--- vmd-orig/files/patch-configure Fri Aug 27 16:23:24 2004
+++ vmd/files/patch-configure Fri Aug 27 17:08:39 2004
@@ -1,15 +1,19 @@
--- configure-xxx Fri Dec 5 13:20:58 2003
+++ configure Thu Aug 12 00:22:30 2004
-@@ -1175,7 +1175,7 @@
+@@ -1174,8 +1174,10 @@
+
# XFree 4.0 Direct Rendering Interface and GLX
$opengl_dir = "/usr/X11R6";
- $opengl_include = "-I$opengl_dir/include";
+- $opengl_include = "-I$opengl_dir/include";
- $opengl_library = "-L$opengl_dir/lib";
++# -DGLX_GLXEXT_LEGACY is required for patched OpenGLExtensions.C to compile.
++# See patched OpenGLExtensions.C for explanation.
++ $opengl_include = "-DGLX_GLXEXT_LEGACY -I$opengl_dir/include";
+ $opengl_library = "-L$opengl_dir/lib -L/usr/local/lib";
$opengl_libs = "-lGL -lGLU";
$arch_lex = "flex";
-@@ -1209,7 +1209,7 @@
+@@ -1209,7 +1211,7 @@
# this is to make tcl happy,
# also needed for plugins
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list