id	summary	reporter	owner	description	type	status	priority	component	severity	resolution	keywords	cc
67	PySyck does not work on 64 bit machine	miki@…	xi	"Trying to use latest version of syck from CVS and PySyck from svn on the 64 bit machine.

When compiling syck regular built syck we get:
{{{
mtebeka@news01:src - 13:55 $ cd pysyck-trunk/
/home/mtebeka/src/pysyck-trunk
mtebeka@news01:pysyck-trunk - 13:55 $ rm -fr build/
mtebeka@news01:pysyck-trunk - 13:55 $ python setup.py build
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.5
creating build/lib.linux-x86_64-2.5/syck
copying lib/syck/__init__.py -> build/lib.linux-x86_64-2.5/syck
copying lib/syck/dumpers.py -> build/lib.linux-x86_64-2.5/syck
copying lib/syck/loaders.py -> build/lib.linux-x86_64-2.5/syck
running build_ext
checking for syck.h
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I../syck/lib -I/usr/local/include/python2.5 -c ./_check_syck.c -o ./_check_syck.o
In file included from ../syck/lib/syck.h:39,
                 from ./_check_syck.c:2:
../syck/lib/syck_st.h:12: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:13: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:27: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:28: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:29: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:30: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:31: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:32: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:33: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:33: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:34: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:34: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:36: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:44: warning: function declaration isnât a prototype
In file included from ./_check_syck.c:2:
../syck/lib/syck.h:385: warning: function declaration isnât a prototype
../syck/lib/syck.h:412: warning: function declaration isnât a prototype
../syck/lib/syck.h:438: warning: function declaration isnât a prototype
../syck/lib/syck.h:439: warning: function declaration isnât a prototype
../syck/lib/syck.h:440: warning: function declaration isnât a prototype
checking for libsyck.a
gcc -pthread ./_check_syck.o -L../syck/lib -lsyck -o ./_check_syck
checking syck version
syck version: 0.61
building '_syck' extension
creating build/temp.linux-x86_64-2.5
creating build/temp.linux-x86_64-2.5/ext
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I../syck/lib -I/usr/local/include/python2.5 -c ext/_syckmodule.c -o build/temp.linux-x86_64-2.5/ext/_syckmodule.o
In file included from ../syck/lib/syck.h:39,
                 from ext/_syckmodule.c:3:
../syck/lib/syck_st.h:12: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:13: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:27: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:28: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:29: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:30: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:31: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:32: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:33: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:33: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:34: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:34: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:35: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:36: warning: function declaration isnât a prototype
../syck/lib/syck_st.h:44: warning: function declaration isnât a prototype
In file included from ext/_syckmodule.c:3:
../syck/lib/syck.h:385: warning: function declaration isnât a prototype
../syck/lib/syck.h:412: warning: function declaration isnât a prototype
../syck/lib/syck.h:438: warning: function declaration isnât a prototype
../syck/lib/syck.h:439: warning: function declaration isnât a prototype
../syck/lib/syck.h:440: warning: function declaration isnât a prototype
ext/_syckmodule.c: In function âPySyckEmitter_node_handlerâ:
ext/_syckmodule.c:1691: warning: passing argument 2 of âPyDict_Nextâ from incompatible pointer type
ext/_syckmodule.c:1722: warning: passing argument 3 of âPyString_AsStringAndSizeâ from incompatible pointer type
ext/_syckmodule.c: In function âPySyckEmitter_markâ:
ext/_syckmodule.c:1921: warning: passing argument 2 of âPyDict_Nextâ from incompatible pointer type
gcc -pthread -shared build/temp.linux-x86_64-2.5/ext/_syckmodule.o -L../syck/lib -lsyck -o build/lib.linux-x86_64-2.5/_syck.so
/usr/bin/ld: ../syck/lib/libsyck.a(emitter.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
../syck/lib/libsyck.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
mtebeka@news01:pysyck-trunk - 13:55 $ 
}}}

So I've compiled syck with `CFLAGS=-fPIC ./configure && make`

Then PySyck builds just fine, however:
{{{
mtebeka@news01:lib.linux-x86_64-2.5 - 13:57 $ python -c 'import syck; syck.dump(""hello"")'
Fatal Python error: PyEval_RestoreThread: NULL tstate
Aborted
mtebeka@news01:lib.linux-x86_64-2.5 - 13:57 $ 
}}}"	defect	assigned	normal	pysyck	normal			
