pediapress / pyfribidi Goto Github PK
View Code? Open in Web Editor NEWsimple python wrapper around the fribidi library
License: GNU General Public License v2.0
simple python wrapper around the fribidi library
License: GNU General Public License v2.0
I'm using Python2.6 and the gcc is 4.1. When installing via "easy_install2.6 pyfribidi", such errors are shown:
running install
running build
running build_py
running build_ext
building '_pyfribidi' extension
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -I/usr/kerberos/include -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_CONFIG_H=1 -Ifribidi-src -Ifribidi-src/lib -Ifribidi-src/charset -Ibuild/temp.linux-i686-2.6/fribidi -Ibuild/temp.linux-i686-2.6/fribidi/lib -I/usr/include/python2.6 -c pyfribidi.c -o build/temp.linux-i686-2.6/pyfribidi.o
pyfribidi.c: In function ‘unicode_log2vis’:
pyfribidi.c:33: warning: unused variable ‘new_len’
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -I/usr/kerberos/include -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_CONFIG_H=1 -Ifribidi-src -Ifribidi-src/lib -Ifribidi-src/charset -Ibuild/temp.linux-i686-2.6/fribidi -Ibuild/temp.linux-i686-2.6/fribidi/lib -I/usr/include/python2.6 -c fribidi-src/lib/fribidi.c -o build/temp.linux-i686-2.6/fribidi-src/lib/fribidi.o
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -I/usr/kerberos/include -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_CONFIG_H=1 -Ifribidi-src -Ifribidi-src/lib -Ifribidi-src/charset -Ibuild/temp.linux-i686-2.6/fribidi -Ibuild/temp.linux-i686-2.6/fribidi/lib -I/usr/include/python2.6 -c fribidi-src/lib/fribidi-arabic.c -o build/temp.linux-i686-2.6/fribidi-src/lib/fribidi-arabic.o
fribidi-src/lib/fribidi-arabic.c: In function ‘fribidi_shape_arabic’:
fribidi-src/lib/fribidi-arabic.c:159: error: expected expression before ‘)’ token
fribidi-src/lib/fribidi-arabic.c:159: warning: passing argument 2 of ‘__fprintf_chk’ makes integer from pointer without a cast
fribidi-src/lib/fribidi-arabic.c:159: warning: passing argument 3 of ‘__fprintf_chk’ makes pointer from integer without a cast
fribidi-src/lib/fribidi-arabic.c:164: error: expected expression before ‘)’ token
fribidi-src/lib/fribidi-arabic.c:164: warning: passing argument 2 of ‘__fprintf_chk’ makes integer from pointer without a cast
fribidi-src/lib/fribidi-arabic.c:164: warning: passing argument 3 of ‘__fprintf_chk’ makes pointer from integer without a cast
fribidi-src/lib/fribidi-arabic.c:166: error: expected expression before ‘)’ token
fribidi-src/lib/fribidi-arabic.c:166: warning: passing argument 2 of ‘__fprintf_chk’ makes integer from pointer without a cast
fribidi-src/lib/fribidi-arabic.c:166: warning: passing argument 3 of ‘__fprintf_chk’ makes pointer from integer without a cast
error: command 'gcc' failed with exit status 1
Then I tried gcc 4.4. The errors are the same.
I failed to install pyfridibi by "/usr/bin/easy_install-2.6 pyfribidi":
yfribidi.c:33: warning: unused variable ‘new_len’
fribidi-src/lib/fribidi-arabic.c: In function ‘fribidi_shape_arabic’:
fribidi-src/lib/fribidi-arabic.c:159: error: expected expression before ‘)’ token
fribidi-src/lib/fribidi-arabic.c:159: warning: passing argument 2 of ‘__fprintf_chk’ makes integer from pointer without a cast
fribidi-src/lib/fribidi-arabic.c:159: warning: passing argument 3 of ‘__fprintf_chk’ makes pointer from integer without a cast
fribidi-src/lib/fribidi-arabic.c:164: error: expected expression before ‘)’ token
fribidi-src/lib/fribidi-arabic.c:164: warning: passing argument 2 of ‘__fprintf_chk’ makes integer from pointer without a cast
fribidi-src/lib/fribidi-arabic.c:164: warning: passing argument 3 of ‘__fprintf_chk’ makes pointer from integer without a cast
fribidi-src/lib/fribidi-arabic.c:166: error: expected expression before ‘)’ token
fribidi-src/lib/fribidi-arabic.c:166: warning: passing argument 2 of ‘__fprintf_chk’ makes integer from pointer without a cast
fribidi-src/lib/fribidi-arabic.c:166: warning: passing argument 3 of ‘__fprintf_chk’ makes pointer from integer without a cast
error: Setup script exited with error: command 'gcc' failed with exit status 1
import pyfribidi
pyfribidi.log2vis('\xf0\x90\x8e\xa2\xf0\x90\x8e\xaf\xf0\x90\x8e\xb4\xf0\x90\x8e\xa1\xf0\x90\x8f\x83')
*** glibc detected *** python: free(): invalid next size (fast): 0x0000000000cc5920 ***
======= Backtrace: =========
/lib/libc.so.6(+0x78e66)[0x7ff8d3e34e66]
/home/ralf/local/lib/python2.7/site-packages/pyfribidi.so(+0xeaf)[0x7ff8d1ce6eaf]
/home/ralf/local/lib/python2.7/site-packages/pyfribidi.so(+0x1254)[0x7ff8d1ce7254]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5435)[0x7ff8d4459215]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88f)[0x7ff8d445a86f]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x32)[0x7ff8d445a9a2]
/usr/lib/libpython2.7.so.1.0(+0xfbcac)[0x7ff8d4474cac]
/usr/lib/libpython2.7.so.1.0(PyRun_InteractiveOneFlags+0x16b)[0x7ff8d44769fb]
/usr/lib/libpython2.7.so.1.0(PyRun_InteractiveLoopFlags+0x4e)[0x7ff8d4476bee]
/usr/lib/libpython2.7.so.1.0(PyRun_AnyFileExFlags+0x4c)[0x7ff8d44771ac]
/usr/lib/libpython2.7.so.1.0(Py_Main+0xb85)[0x7ff8d4487c45]
/lib/libc.so.6(__libc_start_main+0xed)[0x7ff8d3ddd38d]
python[0x4006a1]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:03 1188854 /home/ralf/py27/bin/python
00600000-00601000 r--p 00000000 08:03 1188854 /home/ralf/py27/bin/python
00601000-00602000 rw-p 00001000 08:03 1188854 /home/ralf/py27/bin/python
0093b000-00cef000 rw-p 00000000 00:00 0 [heap]
7ff8d18b9000-7ff8d18ce000 r-xp 00000000 08:02 762940 /usr/lib/libgcc_s.so.1
7ff8d18ce000-7ff8d1ace000 ---p 00015000 08:02 762940 /usr/lib/libgcc_s.so.1
7ff8d1ace000-7ff8d1acf000 rw-p 00015000 08:02 762940 /usr/lib/libgcc_s.so.1
7ff8d1acf000-7ff8d1ae5000 r-xp 00000000 08:02 765331 /usr/lib/libfribidi.so.0.3.1
7ff8d1ae5000-7ff8d1ce4000 ---p 00016000 08:02 765331 /usr/lib/libfribidi.so.0.3.1
7ff8d1ce4000-7ff8d1ce5000 r--p 00015000 08:02 765331 /usr/lib/libfribidi.so.0.3.1
7ff8d1ce5000-7ff8d1ce6000 rw-p 00016000 08:02 765331 /usr/lib/libfribidi.so.0.3.1
7ff8d1ce6000-7ff8d1ce8000 r-xp 00000000 08:03 1182188 /home/ralf/py27/lib/python2.7/site-packages/pyfribidi.so
7ff8d1ce8000-7ff8d1ee7000 ---p 00002000 08:03 1182188 /home/ralf/py27/lib/python2.7/site-packages/pyfribidi.so
7ff8d1ee7000-7ff8d1ee8000 r--p 00001000 08:03 1182188 /home/ralf/py27/lib/python2.7/site-packages/pyfribidi.so
7ff8d1ee8000-7ff8d1ee9000 rw-p 00002000 08:03 1182188 /home/ralf/py27/lib/python2.7/site-packages/pyfribidi.so
7ff8d1ee9000-7ff8d1eee000 r-xp 00000000 08:03 1185599 /home/ralf/py27/lib/python2.7/lib-dynload/strop.so
7ff8d1eee000-7ff8d20ed000 ---p 00005000 08:03 1185599 /home/ralf/py27/lib/python2.7/lib-dynload/strop.so
7ff8d20ed000-7ff8d20ee000 r--p 00004000 08:03 1185599 /home/ralf/py27/lib/python2.7/lib-dynload/strop.so
7ff8d20ee000-7ff8d20f0000 rw-p 00005000 08:03 1185599 /home/ralf/py27/lib/python2.7/lib-dynload/strop.so
7ff8d20f0000-7ff8d20f3000 r-xp 00000000 08:03 1185850 /home/ralf/py27/lib/python2.7/lib-dynload/_heapq.so
7ff8d20f3000-7ff8d22f2000 ---p 00003000 08:03 1185850 /home/ralf/py27/lib/python2.7/lib-dynload/_heapq.so
7ff8d22f2000-7ff8d22f3000 r--p 00002000 08:03 1185850 /home/ralf/py27/lib/python2.7/lib-dynload/_heapq.so
7ff8d22f3000-7ff8d22f5000 rw-p 00003000 08:03 1185850 /home/ralf/py27/lib/python2.7/lib-dynload/_heapq.so
7ff8d22f5000-7ff8d22f7000 r-xp 00000000 08:03 1185803 /home/ralf/py27/lib/python2.7/lib-dynload/_bisect.so
7ff8d22f7000-7ff8d24f6000 ---p 00002000 08:03 1185803 /home/ralf/py27/lib/python2.7/lib-dynload/_bisect.so
7ff8d24f6000-7ff8d24f7000 r--p 00001000 08:03 1185803 /home/ralf/py27/lib/python2.7/lib-dynload/_bisect.so
7ff8d24f7000-7ff8d24f8000 rw-p 00002000 08:03 1185803 /home/ralf/py27/lib/python2.7/lib-dynload/_bisect.so
7ff8d24f8000-7ff8d2502000 r-xp 00000000 08:03 1185916 /home/ralf/py27/lib/python2.7/lib-dynload/itertools.so
7ff8d2502000-7ff8d2701000 ---p 0000a000 08:03 1185916 /home/ralf/py27/lib/python2.7/lib-dynload/itertools.so
7ff8d2701000-7ff8d2702000 r--p 00009000 08:03 1185916 /home/ralf/py27/lib/python2.7/lib-dynload/itertools.so
7ff8d2702000-7ff8d2707000 rw-p 0000a000 08:03 1185916 /home/ralf/py27/lib/python2.7/lib-dynload/itertools.so
7ff8d2707000-7ff8d270f000 r-xp 00000000 08:03 1185863 /home/ralf/py27/lib/python2.7/lib-dynload/operator.so
7ff8d270f000-7ff8d290e000 ---p 00008000 08:03 1185863 /home/ralf/py27/lib/python2.7/lib-dynload/operator.so
7ff8d290e000-7ff8d290f000 r--p 00007000 08:03 1185863 /home/ralf/py27/lib/python2.7/lib-dynload/operator.so
7ff8d290f000-7ff8d2911000 rw-p 00008000 08:03 1185863 /home/ralf/py27/lib/python2.7/lib-dynload/operator.so
7ff8d2911000-7ff8d2917000 r-xp 00000000 08:03 1185743 /home/ralf/py27/lib/python2.7/lib-dynload/_collections.so
7ff8d2917000-7ff8d2b16000 ---p 00006000 08:03 1185743 /home/ralf/py27/lib/python2.7/lib-dynload/_collections.so
7ff8d2b16000-7ff8d2b17000 r--p 00005000 08:03 1185743 /home/ralf/py27/lib/python2.7/lib-dynload/_collections.so
7ff8d2b17000-7ff8d2b19000 rw-p 00006000 08:03 1185743 /home/ralf/py27/lib/python2.7/lib-dynload/_collections.so
7ff8d2b19000-7ff8d2b1d000 r-xp 00000000 08:03 1185799 /home/ralf/py27/lib/python2.7/lib-dynload/time.so
7ff8d2b1d000-7ff8d2d1c000 ---p 00004000 08:03 1185799 /home/ralf/py27/lib/python2.7/lib-dynload/time.so
7ff8d2d1c000-7ff8d2d1d000 r--p 00003000 08:03 1185799 /home/ralf/py27/lib/python2.7/lib-dynload/time.so
7ff8d2d1d000-7ff8d2d1f000 rw-p 00004000 08:03 1185799 /home/ralf/py27/lib/python2.7/lib-dynload/time.so
7ff8d2d1f000-7ff8d2d77000 r-xp 00000000 08:02 353561 /usr/lib/libncursesw.so.5.9
7ff8d2d77000-7ff8d2f76000 ---p 00058000 08:02 353561 /usr/lib/libncursesw.so.5.9
7ff8d2f76000-7ff8d2f7a000 r--p 00057000 08:02 353561 /usr/lib/libncursesw.so.5.9
7ff8d2f7a000-7ff8d2f7b000 rw-p 0005b000 08:02 353561 /usr/lib/libncursesw.so.5.9zsh: abort python
Could you provide a summary of changes since 0.10.1 ?
The current version does not work on Python 3, yet 2.7 is becoming more and more legacy now.
When building pyfribidi against fribidi 1.0.8, I got the following error:
======================================================================
FAIL: testNoReorderNonSpacingMarks (test_pyfribidi.UTF8Tests)
utf8: reorder non spacing marks
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builds/python-team/modules/pyfribidi/debian/output/pyfribidi-0.12.0+repack/.pybuild/cpython3_3.8/build/test_pyfribidi.py", line 146, in testNoReorderNonSpacingMarks
self.assertEqual(pyfribidi.log2vis("חַיְפַא", RTL, reordernsm=False),
AssertionError: 'אפַיְחַ' != 'אַפְיַח'
- אפַיְחַ
+ אַפְיַח
======================================================================
FAIL: testNoReorderNonSpacingMarks (test_pyfribidi.UnicodeTests)
unicode: reorder non spacing marks
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builds/python-team/modules/pyfribidi/debian/output/pyfribidi-0.12.0+repack/.pybuild/cpython3_3.8/build/test_pyfribidi.py", line 90, in testNoReorderNonSpacingMarks
self.assertEqual(pyfribidi.log2vis(u"חַיְפַא", RTL, reordernsm=False),
AssertionError: 'אפַיְחַ' != 'אַפְיַח'
- אפַיְחַ
+ אַפְיַח
I didn't face this issue when building against fribidi 1.0.7
See: fribidi/fribidi#136
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.