Mailing List Archive

Adafruit 2.2", spidev and othe contradictionary parts of my nightmare...
Hi,

(everything is done natively on the embedded system itsself)

I am currently trying to install (and later use)
this library on my Beaglebone Black (3.8.13-bone67
kernel by Robert Nelson):
https://github.com/adafruit/Adafruit_ILI9340

Installing the prerequisits works fine. The
needed "python-smbus" is part of i2c-tools when
compiled with the "python" USE-flag.

Installing the library itsself fails.
And I fear, there are contradictionary
definition deeply inside the kernel/kernel-headers...

I installed linux-headers-3.8 with emerge in beforehand,
but the compilation faisl with:
beagleboneblack:Matt/Adafruit_Python_ILI9341>sudo python setup.py install
running install
running bdist_egg
running egg_info
writing requirements to Adafruit_ILI9341.egg-info/requires.txt
writing Adafruit_ILI9341.egg-info/PKG-INFO
writing top-level names to Adafruit_ILI9341.egg-info/top_level.txt
writing dependency_links to Adafruit_ILI9341.egg-info/dependency_links.txt
reading manifest file 'Adafruit_ILI9341.egg-info/SOURCES.txt'
writing manifest file 'Adafruit_ILI9341.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
creating build/bdist.linux-armv7l/egg
creating build/bdist.linux-armv7l/egg/Adafruit_ILI9341
copying build/lib/Adafruit_ILI9341/ILI9341.py -> build/bdist.linux-armv7l/egg/Adafruit_ILI9341
copying build/lib/Adafruit_ILI9341/__init__.py -> build/bdist.linux-armv7l/egg/Adafruit_ILI9341
byte-compiling build/bdist.linux-armv7l/egg/Adafruit_ILI9341/ILI9341.py to ILI9341.cpython-32.pyc
byte-compiling build/bdist.linux-armv7l/egg/Adafruit_ILI9341/__init__.py to __init__.cpython-32.pyc
creating build/bdist.linux-armv7l/egg/EGG-INFO
copying Adafruit_ILI9341.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO
copying Adafruit_ILI9341.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying Adafruit_ILI9341.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying Adafruit_ILI9341.egg-info/requires.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying Adafruit_ILI9341.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/Adafruit_ILI9341-1.0.0-py3.2.egg' and adding 'build/bdist.linux-armv7l/egg' to it
removing 'build/bdist.linux-armv7l/egg' (and everything under it)
Processing Adafruit_ILI9341-1.0.0-py3.2.egg
Removing /usr/lib/python3.2/site-packages/Adafruit_ILI9341-1.0.0-py3.2.egg
Copying Adafruit_ILI9341-1.0.0-py3.2.egg to /usr/lib/python3.2/site-packages
Adafruit-ILI9341 1.0.0 is already the active version in easy-install.pth

Installed /usr/lib/python3.2/site-packages/Adafruit_ILI9341-1.0.0-py3.2.egg
Processing dependencies for Adafruit-ILI9341==1.0.0
Searching for spidev
Reading https://pypi.python.org/simple/spidev/
Best match: spidev 2.0
Downloading https://pypi.python.org/packages/source/s/spidev/spidev-2.0.tar.gz#md5=b2ff7e51b350febb15ebc20b8a4ed430
Processing spidev-2.0.tar.gz
Writing /tmp/easy_install-ymaims/spidev-2.0/setup.cfg
Running spidev-2.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ymaims/spidev-2.0/egg-dist-tmp-x8ja_w
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:14:26: error: conflicting types for ‘fd_set’
typedef __kernel_fd_set fd_set;
^
In file included from /usr/include/sys/types.h:219:0,
from /usr/include/stdlib.h:314,
from /usr/include/python3.2/Python.h:34,
from spidev_module.c:20:
/usr/include/sys/select.h:75:5: note: previous declaration of ‘fd_set’ was here
} fd_set;
^
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:15:25: error: conflicting types for ‘dev_t’
typedef __kernel_dev_t dev_t;
^
In file included from /usr/include/stdlib.h:314:0,
from /usr/include/python3.2/Python.h:34,
from spidev_module.c:20:
/usr/include/sys/types.h:60:17: note: previous declaration of ‘dev_t’ was here
typedef __dev_t dev_t;
^
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:16:25: error: conflicting types for ‘ino_t’
typedef __kernel_ino_t ino_t;
^
In file included from /usr/include/stdlib.h:314:0,
from /usr/include/python3.2/Python.h:34,
from spidev_module.c:20:
/usr/include/sys/types.h:50:19: note: previous declaration of ‘ino_t’ was here
typedef __ino64_t ino_t;
^
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:17:26: error: conflicting types for ‘mode_t’
typedef __kernel_mode_t mode_t;
^
In file included from /usr/include/stdlib.h:314:0,
from /usr/include/python3.2/Python.h:34,
from spidev_module.c:20:
/usr/include/sys/types.h:70:18: note: previous declaration of ‘mode_t’ was here
typedef __mode_t mode_t;
^
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:20:25: error: conflicting types for ‘off_t’
typedef __kernel_off_t off_t;
^
In file included from /usr/include/python3.2/Python.h:25:0,
from spidev_module.c:20:
/usr/include/stdio.h:92:19: note: previous declaration of ‘off_t’ was here
typedef __off64_t off_t;
^
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:25:26: error: conflicting types for ‘timer_t’
typedef __kernel_timer_t timer_t;
^
In file included from /usr/include/sys/types.h:132:0,
from /usr/include/stdlib.h:314,
from /usr/include/python3.2/Python.h:34,
from spidev_module.c:20:
/usr/include/time.h:103:19: note: previous declaration of ‘timer_t’ was here
typedef __timer_t timer_t;
^
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:36:24: error: conflicting types for ‘uintptr_t’
typedef unsigned long uintptr_t;
^
In file included from /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/4.8.3/include/stdint.h:9:0,
from /usr/include/inttypes.h:27,
from /usr/include/python3.2/pyport.h:9,
from /usr/include/python3.2/Python.h:50,
from spidev_module.c:20:
/usr/include/stdint.h:128:23: note: previous declaration of ‘uintptr_t’ was here
typedef unsigned int uintptr_t;
^
In file included from /usr/include/linux/spi/spidev.h:25:0,
from spidev_module.c:25:
/usr/src/linux/include/linux/types.h:134:23: error: conflicting types for ‘blkcnt_t’
typedef unsigned long blkcnt_t;
^
In file included from /usr/include/stdlib.h:314:0,
from /usr/include/python3.2/Python.h:34,
from spidev_module.c:20:
/usr/include/sys/types.h:248:22: note: previous declaration of ‘blkcnt_t’ was here
typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */
^
spidev_module.c: In function ‘SpiDev_dealloc’:
spidev_module.c:93:6: error: ‘SpiDevObject’ has no member named ‘ob_type’
self->ob_type->tp_free((PyObject *)self);
^
spidev_module.c: At top level:
spidev_module.c:779:2: warning: initialization makes integer from pointer without a cast [enabled by default]
"SpiDev", /* tp_name */
^
spidev_module.c:779:2: warning: (near initialization for ‘SpiDevObjectType.tp_basicsize’) [enabled by default]
spidev_module.c:782:2: warning: initialization from incompatible pointer type [enabled by default]
(destructor)SpiDev_dealloc, /* tp_dealloc */
^
spidev_module.c:782:2: warning: (near initialization for ‘SpiDevObjectType.tp_print’) [enabled by default]
spidev_module.c:797:2: warning: initialization makes pointer from integer without a cast [enabled by default]
Py_TPFLAGS_DEFAULT, /* tp_flags */
^
spidev_module.c:797:2: warning: (near initialization for ‘SpiDevObjectType.tp_doc’) [enabled by default]
spidev_module.c:798:2: warning: initialization from incompatible pointer type [enabled by default]
SpiDevObjectType_doc, /* tp_doc */
^
spidev_module.c:798:2: warning: (near initialization for ‘SpiDevObjectType.tp_traverse’) [enabled by default]
spidev_module.c:805:2: warning: initialization from incompatible pointer type [enabled by default]
SpiDev_methods, /* tp_methods */
^
spidev_module.c:805:2: warning: (near initialization for ‘SpiDevObjectType.tp_members’) [enabled by default]
spidev_module.c:807:2: warning: initialization from incompatible pointer type [enabled by default]
SpiDev_getset, /* tp_getset */
^
spidev_module.c:807:2: warning: (near initialization for ‘SpiDevObjectType.tp_base’) [enabled by default]
spidev_module.c:813:2: warning: initialization from incompatible pointer type [enabled by default]
(initproc)SpiDev_init, /* tp_init */
^
spidev_module.c:813:2: warning: (near initialization for ‘SpiDevObjectType.tp_alloc’) [enabled by default]
spidev_module.c:815:2: warning: initialization from incompatible pointer type [enabled by default]
SpiDev_new, /* tp_new */
^
spidev_module.c:815:2: warning: (near initialization for ‘SpiDevObjectType.tp_free’) [enabled by default]
spidev_module.c: In function ‘initspidev’:
spidev_module.c:833:4: warning: assignment makes pointer from integer without a cast [enabled by default]
m = Py_InitModule3("spidev", SpiDev_module_methods, SpiDev_module_doc);
^
error: Setup script exited with error: command 'armv7a-hardfloat-linux-gnueabi-gcc' failed with exit status 1
[1] 7520 exit 1 sudo python setup.py install


In the beginning there are many hits in the system headers...

Is there are any way to get out of it?
What's going wrong here?

Any idea/hint/solution is very appreciated!
Best regards,
Meino