Re: [Xquartz-dev] 2.3.2_beta3 on Tiger in X11R7.2
Am 21.11.2008 um 14:36 schrieb Jeremy Huddleston:
7.0.2 will work, but use 7.0.4 since it has bugfixes.
To me on Tiger it's the other way 'round! Mesa-7.0.4/bin/mklib has 635 if [ ${EXPORTS} ] ; then 636 OPTS="${OPTS} -exported_symbols_list ${EXPORTS}" 637 fi G++ (powerpc-apple-darwin8-g++-4.0.1) does not seem to understand this. Only libGL.1.2.dylib and a few sym-links were created. With the lines above commented, the missing libraries were built and all installed. Later, when the demos were built: glxcontexts.c:60: error: storage size of ‘tz’ isn’t known glxgears.c:60: error: storage size of ‘tz’ isn’t known glxgears_fbconfig.c:74: error: storage size of ‘tz’ isn’t known glxswapcontrol.c:87: error: storage size of ‘tz’ isn’t known The line is each time: struct timezone tz; followed by: (void) gettimeofday(&tv, &tz); Before they have: #include <sys/time.h> #include <unistd.h> The reason for this seems to be that the gcc invocation contains - D_POSIX_C_SOURCE=199309L and /usr/include/sys/time.h has: 153 #ifndef _POSIX_C_SOURCE 154 /* 155 * Structure defined by POSIX.4 to be like a timeval. 156 */ 157 #ifndef _TIMESPEC 158 #define _TIMESPEC 159 struct timespec { 160 time_t tv_sec; /* seconds */ 161 long tv_nsec; /* and nanoseconds */ 162 }; 163 164 #endif 165 166 167 168 169 #define TIMEVAL_TO_TIMESPEC(tv, ts) { \ 170 (ts)->tv_sec = (tv)->tv_sec; \ 171 (ts)->tv_nsec = (tv)->tv_usec * 1000; \ 172 } 173 #define TIMESPEC_TO_TIMEVAL(tv, ts) { \ 174 (tv)->tv_sec = (ts)->tv_sec; \ 175 (tv)->tv_usec = (ts)->tv_nsec / 1000; \ 176 } 177 178 struct timezone { 179 int tz_minuteswest; /* minutes west of Greenwich */ 180 int tz_dsttime; /* type of dst correction */ 181 }; ..... 228 #endif /* ! _POSIX_C_SOURCE */ 229 230 231 232 __BEGIN_DECLS 233 234 #ifndef _POSIX_C_SOURCE 235 #include <time.h> 236 237 int adjtime(const struct timeval *, struct timeval *); 238 int futimes(int, const struct timeval *); 239 int settimeofday(const struct timeval *, const struct timezone *); 240 #endif /* ! _POSIX_C_SOURCE */ 241 242 int getitimer(int, struct itimerval *); 243 int gettimeofday(struct timeval * __restrict, struct timezone * __restrict); 244 int select(int, fd_set * __restrict, fd_set * __restrict, 245 fd_set * __restrict, struct timeval * __restrict); 246 int setitimer(int, const struct itimerval * __restrict, 247 struct itimerval * __restrict); 248 int utimes(const char *, const struct timeval *); 249 250 __END_DECLS 251 252 253 #endif /* !_SYS_TIME_H_ */ Including time.h isn't right either, because it does not have gettimeofday(). Anyway, the demos are not really needed, I just packed out their sources for the first time! Xinit was not built, because: xinit.c:64:26: error: Availability.h: No such file or directory AvailabilityMacros.h seems to be the correct name. -- Greetings Pete These are my principles and if you don't like them... well, I have others. - Groucho Marx
I still strongly suggest you try to skip over the GLX support for now... if you want to try getting GLX working with the new X11 on Tiger, you're pretty much on your own for now... but you'll need this patch to mesa-7.0.4: diff -Naurp Mesa-7.0.4.orig/src/glx/x11/glcontextmodes.c Mesa-7.0.4/ src/glx/x11/glcontextmodes.c --- Mesa-7.0.4.orig/src/glx/x11/glcontextmodes.c 2008-11-10 15:14:25.000000000 -0800 +++ Mesa-7.0.4/src/glx/x11/glcontextmodes.c 2008-11-10 15:15:16.000000000 -0800 @@ -185,6 +185,9 @@ _gl_copy_visual_to_context_mode( __GLcon mode->transparentAlpha = config->transparentAlpha; mode->transparentIndex = config->transparentIndex; + mode->sampleBuffers = config->nMultiSampleBuffers; + mode->samples = config->multiSampleSize; + mode->swapMethod = GLX_SWAP_UNDEFINED_OML; mode->bindToTextureRgb = (mode->rgbMode) ? GL_TRUE : GL_FALSE; On Nov 22, 2008, at 13:34, Peter Dyballa wrote:
Am 21.11.2008 um 14:36 schrieb Jeremy Huddleston:
7.0.2 will work, but use 7.0.4 since it has bugfixes.
To me on Tiger it's the other way 'round! Mesa-7.0.4/bin/mklib has
635 if [ ${EXPORTS} ] ; then 636 OPTS="${OPTS} -exported_symbols_list ${EXPORTS}" 637 fi
Then just remove those from mklib...
Later, when the demos were built:
glxcontexts.c:60: error: storage size of ‘tz’ isn’t known glxgears.c:60: error: storage size of ‘tz’ isn’t known glxgears_fbconfig.c:74: error: storage size of ‘tz’ isn’t known glxswapcontrol.c:87: error: storage size of ‘tz’ isn’t known
The line is each time:
struct timezone tz;
followed by:
(void) gettimeofday(&tv, &tz);
Including time.h isn't right either, because it does not have gettimeofday(). Anyway, the demos are not really needed, I just packed out their sources for the first time!
yeah... just some header/spec-fu ... How are you trying to build mesa? You should be doing a 'make darwin' which should set the right #defines
Xinit was not built, because:
xinit.c:64:26: error: Availability.h: No such file or directory
AvailabilityMacros.h seems to be the correct name.
Yeah, I sent you that patch in the last email, and it's fixed in git.
participants (2)
-
Jeremy Huddleston
-
Peter Dyballa