New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #18812 (closed defect: fixed)

Opened 4 years ago

Last modified 4 years ago

xorg-server-devel: build fails in glx

Reported by: devans@… Owned by: jeremyhu@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Cc: steven@…
Port: xorg-server-devel

Description

On OS X 10.4.11 ppc

Making all in glx
/bin/sh ../libtool --tag=CC   --mode=compile /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi  -I/opt/local/include -I/usr/include -I/opt/macports/trunk/dports/x11/xorg-server-devel/files/include -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include/pixman-1   -I/opt/local/include   -I../include -I../include -I../Xext  -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/shadow  -I../miext/damage -I../render -I../randr -I../fb -I/opt/local/include -I/opt/local/include -DXFree86Server  -O2 -DROOTLESS_WORKAROUND -DNO_ALLOCA -MT indirect_reqsize.lo -MD -MP -MF .deps/indirect_reqsize.Tpo -c -o indirect_reqsize.lo indirect_reqsize.c
 /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi -I/opt/local/include -I/usr/include -I/opt/macports/trunk/dports/x11/xorg-server-devel/files/include -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include/pixman-1 -I/opt/local/include -I../include -I../include -I../Xext -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/shadow -I../miext/damage -I../render -I../randr -I../fb -I/opt/local/include -I/opt/local/include -DXFree86Server -O2 -DROOTLESS_WORKAROUND -DNO_ALLOCA -MT indirect_reqsize.lo -MD -MP -MF .deps/indirect_reqsize.Tpo -c indirect_reqsize.c  -fno-common -DPIC -o .libs/indirect_reqsize.o
indirect_reqsize.c:808: error: conflicting types for '__glXFogivReqSize'
indirect_reqsize.h:46: error: previous declaration of '__glXFogivReqSize' was here
indirect_reqsize.c:809: error: conflicting types for '__glXLightivReqSize'
indirect_reqsize.h:48: error: previous declaration of '__glXLightivReqSize' was here
indirect_reqsize.c:810: error: conflicting types for '__glXLightModelivReqSize'
indirect_reqsize.h:50: error: previous declaration of '__glXLightModelivReqSize' was here
indirect_reqsize.c:811: error: conflicting types for '__glXMaterialivReqSize'
indirect_reqsize.h:52: error: previous declaration of '__glXMaterialivReqSize' was here
indirect_reqsize.c:812: error: conflicting types for '__glXTexParameterivReqSize'
indirect_reqsize.h:55: error: previous declaration of '__glXTexParameterivReqSize' was here
indirect_reqsize.c:813: error: conflicting types for '__glXTexEnvivReqSize'
indirect_reqsize.h:59: error: previous declaration of '__glXTexEnvivReqSize' was here
indirect_reqsize.c:814: error: conflicting types for '__glXTexGenivReqSize'
indirect_reqsize.h:62: error: previous declaration of '__glXTexGenivReqSize' was here
indirect_reqsize.c:815: error: conflicting types for '__glXPixelMapuivReqSize'
indirect_reqsize.h:68: error: previous declaration of '__glXPixelMapuivReqSize' was here
indirect_reqsize.c:816: error: conflicting types for '__glXColorTableParameterivReqSize'
indirect_reqsize.h:77: error: previous declaration of '__glXColorTableParameterivReqSize' was here
indirect_reqsize.c:817: error: conflicting types for '__glXConvolutionParameterivReqSize'
indirect_reqsize.h:82: error: previous declaration of '__glXConvolutionParameterivReqSize' was here
indirect_reqsize.c:818: error: conflicting types for '__glXCompressedTexSubImage1DARBReqSize'
indirect_reqsize.h:89: error: previous declaration of '__glXCompressedTexSubImage1DARBReqSize' was here
indirect_reqsize.c:819: error: conflicting types for '__glXCompressedTexSubImage2DARBReqSize'
indirect_reqsize.h:90: error: previous declaration of '__glXCompressedTexSubImage2DARBReqSize' was here
indirect_reqsize.c:820: error: conflicting types for '__glXLoadProgramNVReqSize'
indirect_reqsize.h:95: error: previous declaration of '__glXLoadProgramNVReqSize' was here
indirect_reqsize.c:821: error: conflicting types for '__glXRequestResidentProgramsNVReqSize'
indirect_reqsize.h:98: error: previous declaration of '__glXRequestResidentProgramsNVReqSize' was here
indirect_reqsize.c:822: error: conflicting types for '__glXVertexAttribs1fvNVReqSize'
indirect_reqsize.h:100: error: previous declaration of '__glXVertexAttribs1fvNVReqSize' was here
indirect_reqsize.c:823: error: conflicting types for '__glXVertexAttribs1svNVReqSize'
indirect_reqsize.h:101: error: previous declaration of '__glXVertexAttribs1svNVReqSize' was here
indirect_reqsize.c:824: error: conflicting types for '__glXVertexAttribs2fvNVReqSize'
indirect_reqsize.h:103: error: previous declaration of '__glXVertexAttribs2fvNVReqSize' was here
indirect_reqsize.c:825: error: conflicting types for '__glXVertexAttribs2svNVReqSize'
indirect_reqsize.h:104: error: previous declaration of '__glXVertexAttribs2svNVReqSize' was here
indirect_reqsize.c:826: error: conflicting types for '__glXVertexAttribs4fvNVReqSize'
indirect_reqsize.h:109: error: previous declaration of '__glXVertexAttribs4fvNVReqSize' was here
indirect_reqsize.c:827: error: conflicting types for '__glXVertexAttribs4svNVReqSize'
indirect_reqsize.h:110: error: previous declaration of '__glXVertexAttribs4svNVReqSize' was here
indirect_reqsize.c:828: error: conflicting types for '__glXVertexAttribs4ubvNVReqSize'
indirect_reqsize.h:111: error: previous declaration of '__glXVertexAttribs4ubvNVReqSize' was here
indirect_reqsize.c:829: error: conflicting types for '__glXPointParameterivNVReqSize'
indirect_reqsize.h:112: error: previous declaration of '__glXPointParameterivNVReqSize' was here
indirect_reqsize.c:830: error: conflicting types for '__glXProgramNamedParameter4dvNVReqSize'
indirect_reqsize.h:113: error: previous declaration of '__glXProgramNamedParameter4dvNVReqSize' was here
indirect_reqsize.c:831: error: conflicting types for '__glXDeleteFramebuffersEXTReqSize'
indirect_reqsize.h:115: error: previous declaration of '__glXDeleteFramebuffersEXTReqSize' was here
indirect_reqsize.c:832: error: conflicting types for '__glXDeleteRenderbuffersEXTReqSize'
indirect_reqsize.h:116: error: previous declaration of '__glXDeleteRenderbuffersEXTReqSize' was here
make[1]: *** [indirect_reqsize.lo] Error 1
make: *** [all-recursive] Error 1

Change History

comment:1 Changed 4 years ago by jeremyhu@…

Ok, so like 808 in the c file:

ALIAS(Fogiv, Fogfv)

line 46 in the h file:

extern PURE HIDDEN int __glXFogivReqSize(const GLbyte *pc, Bool swap);

We have this for PURE and HIDDEN

#  if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__)
#    define HIDDEN  __attribute__((visibility("hidden")))
#  else
#    define HIDDEN
#  endif

#  if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
#    define PURE __attribute__((pure))
#  else
#    define PURE
#  endif

And for alias...

#ifdef HAVE_ALIAS
#  define ALIAS2(from,to) \
    GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap ) \
        __attribute__ ((alias( # to )));
#  define ALIAS(from,to) ALIAS2( from, __glX ## to ## ReqSize )
#else
#  define ALIAS(from,to) \
    GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap ) \
    { return __glX ## to ## ReqSize( pc, swap ); }
#endif

Can you tell me if you have HAVE_ALIAS defined in your include/dix-config.h file (in the worksrcpath)

This might just be a Tiger issue, too...

comment:2 Changed 4 years ago by devans@…

No mentioned of HAVE_ALIAS in include/dix-config.h at all.

comment:3 Changed 4 years ago by devans@…

I notice that xorg-server uses its own copy of mesa for gl while this version does not and therefore builds against the MacPorts mesa port (if its available -- needs to be a dependency on mesa if this is correct -- if there is no mesa its a configure error). Other than that it seems to be thinking that GLint and int are not the same but I haven't been able to find the definition of GLint to see.

comment:4 Changed 4 years ago by jeremyhu@…

Not exactly. Neither "build against mesa". In 1.4.x, some glx files were symlinked from the mesa sources into xorg-server. With 1.5.x and later, the files are now part of xorg-server itself rather than doign the symlinking.

comment:5 Changed 4 years ago by devans@…

Well, it still seems to want a pkgconfig file from mesa at least since it errors out on configure as follows with mesa deactivated:

Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_Volumes_wdc-320_opt_macports_trunk_dports_x11_xorg-server-devel/work/xorg-server-1.5.3-apple4" && ./configure --prefix=/opt/local --with-apple-applications-dir=/Applications/MacPorts --with-fontdir=/opt/local/share/fonts --with-apple-application-id=org.macports.X11 " returned error 1
Command output: checking for struct sockaddr_in.sin_len... yes
checking for socklen_t... yes
checking if Xtrans should support os-specific local connections... no
checking for authdes_seccreate... no
checking for authdes_create... no
checking if Secure RPC authentication ("SUN-DES-1") should be supported... no
checking for /opt/local/share/sgml/X11/defs.ent... no
checking for linuxdoc... no
checking for ps2pdf... /opt/local/bin/ps2pdf
checking Whether to build documentation... no
checking Whether to build pdf documentation... yes
checking whether to build Xquartz... yes
checking for DBUS... yes
checking for HAL... no
checking for glibc...... no
checking for clock_gettime... no
checking for clock_gettime in -lrt... no
checking for a useful monotonic clock ...... no
checking for XLIB... yes
checking for GL... configure: error: Package requirements (glproto >= 1.4.9 gl >= 7.1.0) were not met:

No package 'gl' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GL_CFLAGS
and GL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

comment:6 Changed 4 years ago by jeremyhu@…

Urg... that check is there for the xfree86 ddx... we don't actually need it... grr... oh well, it's easier to just add the dependency

comment:7 Changed 4 years ago by devans@…

Just to confirm what is going on, I ran the offending command with -E to get the preprocessed output from which the lines of interest are

extern __attribute__((pure)) int __glXFogivReqSize(const GLbyte *pc, Bool swap);
GLint __glXFogivReqSize( const GLbyte * pc, Bool swap ) { return __glXFogfvReqSize( pc, swap ); }

and from /System/Library/Frameworks/OpenGL.framework/Headers/gl.h

typedef long GLint;

comment:8 Changed 4 years ago by devans@…

On the other hand looking in /usr/X11R6/include/GL/gl.h

typedef int             GLint;          /* 4-byte signed */

so it looks like this would build against the system GL/gl.h but not that provided by mesa (case above)

comment:9 Changed 4 years ago by jeremyhu@…

Interesting... and ugly... ok, well that's a start...

comment:10 Changed 4 years ago by devans@…

Indeed. To be complete this is on 10.4.11 ppc, XCode 2.5.

comment:11 Changed 4 years ago by steven@…

  • Cc steven@… added

Cc Me!

comment:12 Changed 4 years ago by anonymous

  • Milestone Port Bugs deleted

Milestone Port Bugs deleted

comment:13 Changed 4 years ago by jeremyhu@…

  • Status changed from new to closed
  • Resolution set to fixed

r51943 should fix this. Please reopen if that's not the case.

Note: See TracTickets for help on using tickets.