Sorry. You may think you followed the instructions correctly, but you didn't. Obviously though there are new X snapshots available, so this problem is not in the tree.
http://openbsd.org/faq/current.html#20120831a Read the second sentence again: Everyone is encouraged to update via snapshots (dated after 2012/08/31); That is the solution. > This morning (a couple of hours ago from sending this email) I updated via > cvsync from anoncvs3.usa.openbsd.org, and after updating my local source, > building kernel and userland, xenocara failed to build. I had already > followed the instructions on current.html for "New toolchain behavior", > "__guard_local " and "amd64, sgi, loongson and sparc64 are now PIE". > > Thinking the source was not updated properly I tried: > # cvs -d anon...@anoncvs1.usa.openbsd.org:/cvs up -I ! -C -PAd > > and built again. > > Here is where it errors out, "recompile with -fPIC": > > > > Werror=return-type -Werror=trigraphs -Werror=write-strings -Werror=address > -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing > -fno-strict-aliasing -I/usr/X11R6/include -D_BSD_SOURCE -DHAS_FCHOWN > -DHAS_STICKY_DIR_BIT -I/usr/X11R6/include/pixman-1 > -I/usr/X11R6/include/freetype2 -I/usr/xenocara/xserver/include > -I../../include -I/usr/xenocara/xserver/Xext > -I/usr/xenocara/xserver/composite -I/usr/xenocara/xserver/damageext > -I/usr/xenocara/xserver/xfixes -I/usr/xenocara/xserver/Xi > -I/usr/xenocara/xserver/mi -I/usr/xenocara/xserver/miext/sync > -I/usr/xenocara/xserver/miext/shadow -I/usr/xenocara/xserver/miext/damage > -I/usr/xenocara/xserver/render -I/usr/xenocara/xserver/randr > -I/usr/xenocara/xserver/fb -fvisibility=hidden -DHAVE_XORG_CONFIG_H > -fvisibility=hidden -I/usr/X11R6/include -DXF86PM -I/usr/X11R6/include -O2 > -pipe -Wl,--export-dynamic -o Xorg sdksyms.o ../../dix/libmain.la > ../../dix/libdix.la ../../mi/libmi.la ../../os/libos.la loader/libloa! de! > r.la common/libcommon.la os-support/libxorgos.la > parser/libxf86config_internal.la dixmods/libdixmods.la > modes/libxf86modes.la ramdac/libramdac.la ddc/libddc.la i2c/libi2c.la > dixmods/libxorgxkb.la ../../composite/libcomposite.la > ../../xfixes/libxfixes.la ../../Xext/libXextbuiltin.la ../../glx/libglx.la > ../../randr/librandr.la ../../render/librender.la > ../../damageext/libdamageext.la ../../miext/sync/libsync.la > ../../miext/damage/libdamage.la ../../Xi/libXi.la ../../xkb/libxkb.la > ../../mi/libmi.la ../../os/libos.la -L/usr/X11R6/lib -lpciaccess > -L/usr/X11R6/lib -lpixman-1 -lpthread-stubs -lXfont -lz -lm -lXau -lXdmcp > -lamd64 -lkvm -lm -lm > libtool: link: gcc -std=gnu99 -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith > -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes > -Wnested-externs -Wbad-function-cast -Wold-style-definition > -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wcast-qual > -Wmissing-noreturn -Wmissing-format-attribute -Werror=implicit > -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces > -Werror=sequence-point -Werror=return-type -Werror=trigraphs > -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast > -Werror=pointer-to-int-cast -fno-strict-aliasing -fno-strict-aliasing > -I/usr/X11R6/include -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT > -I/usr/X11R6/include/pixman-1 -I/usr/X11R6/include/freetype2 > -I/usr/xenocara/xserver/include -I../../include -I/usr/xenocara/xserver/Xext > -I/usr/xenocara/xserver/composite -I/usr/xenocara/xserver/damageext > -I/usr/xenocara/xserver/xfixes -I/usr/xenocara/xserver/Xi > -I/usr/xenocara/xserver/mi -I/usr/xenocar! a/! > xserver/miext/sync -I/usr/xenocara/xserver/miext/shadow > -I/usr/xenocara/xserver/miext/damage -I/usr/xenocara/xserver/render > -I/usr/xenocara/xserver/randr -I/usr/xenocara/xserver/fb -fvisibility=hidden > -DHAVE_XORG_CONFIG_H -fvisibility=hidden -I/usr/X11R6/include -DXF86PM > -I/usr/X11R6/include -O2 -pipe -Wl,--export-dynamic -o Xorg sdksyms.o > ../../dix/.libs/libmain.a ../../dix/.libs/libdix.a loader/.libs/libloader.a > common/.libs/libcommon.a os-support/.libs/libxorgos.a > parser/.libs/libxf86config_internal.a dixmods/.libs/libdixmods.a > modes/.libs/libxf86modes.a ramdac/.libs/libramdac.a ddc/.libs/libddc.a > i2c/.libs/libi2c.a dixmods/.libs/libxorgxkb.a > ../../composite/.libs/libcomposite.a ../../xfixes/.libs/libxfixes.a > ../../Xext/.libs/libXextbuiltin.a ../../glx/.libs/libglx.a > ../../randr/.libs/librandr.a ../../render/.libs/librender.a > ../../damageext/.libs/libdamageext.a ../../miext/sync/.libs/libsync.a > ../../miext/damage/.libs/libdamage.a ../../Xi/.libs/libXi.a ../../xkb/.lib! s/! > libxkb.a ../../mi/.libs/libmi.a ../../os/.libs/libos.a -L/usr/X11R6/lib > -lpciaccess -lpixman-1 -lpthread-stubs -lXfont -lfreetype -lfontenc -lz -lXau > -lXdmcp -lamd64 -lkvm -lm -Wl,-rpath,/usr/X11R6/lib -Wl,-rpath,/usr/X11R6/lib > /usr/bin/ld: /usr/lib/libamd64.a(amd64_iopl.o): relocation R_X86_64_32 can > not be used when making a shared object; recompile with -fPIC > /usr/lib/libamd64.a: could not read symbols: Bad value > collect2: ld returned 1 exit status > *** Error code 1 > > Stop in /usr/xenocara/xserver/obj/hw/xfree86 (line 642 of Makefile). > *** Error code 1 > > Stop in /usr/xenocara/xserver/obj/hw/xfree86 (line 713 of Makefile). > *** Error code 1 > > Stop in /usr/xenocara/xserver/obj/hw/xfree86 (line 561 of Makefile). > *** Error code 1 > > Stop in /usr/xenocara/xserver/obj/hw (line 544 of Makefile). > *** Error code 1 > > Stop in /usr/xenocara/xserver/obj (line 700 of Makefile). > *** Error code 1 > > Stop in /usr/xenocara/xserver (line 146 of /usr/X11R6/share/mk/bsd.xorg.mk). > *** Error code 1 > > Stop in /usr/xenocara/xserver (line 212 of /usr/X11R6/share/mk/bsd.xorg.mk). > *** Error code 1 > > Stop in /usr/xenocara (line 39 of Makefile). > *** Error code 1 > > Stop in /usr/xenocara (line 32 of Makefile).