<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for What's Chris Doing?</title>
	<atom:link href="http://whatschrisdoing.com/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://whatschrisdoing.com/blog</link>
	<description>Programming, photography, music and life.</description>
	<lastBuildDate>Tue, 08 May 2012 14:07:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Yegor Yefremov</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-522</link>
		<dc:creator>Yegor Yefremov</dc:creator>
		<pubDate>Tue, 08 May 2012 14:07:33 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-522</guid>
		<description>Chris,

do you have an idea, how to solve this issue: https://groups.google.com/d/topic/comp.lang.python/0rDWl2d8PDY/discussion

Thanks</description>
		<content:encoded><![CDATA[<p>Chris,</p>
<p>do you have an idea, how to solve this issue: <a href="https://groups.google.com/d/topic/comp.lang.python/0rDWl2d8PDY/discussion" rel="nofollow">https://groups.google.com/d/topic/comp.lang.python/0rDWl2d8PDY/discussion</a></p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Yegor Yefremov</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-509</link>
		<dc:creator>Yegor Yefremov</dc:creator>
		<pubDate>Tue, 03 Jan 2012 12:08:16 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-509</guid>
		<description>Chris: are you going to provide your slides for PyCon before the event itself?</description>
		<content:encoded><![CDATA[<p>Chris: are you going to provide your slides for PyCon before the event itself?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Yegor Yefremov</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-507</link>
		<dc:creator>Yegor Yefremov</dc:creator>
		<pubDate>Thu, 29 Dec 2011 14:19:00 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-507</guid>
		<description>I&#039;ve got it!!!

The first problem with checks was, that setup.py while checking for headers has also tried to execute the binary. That was not so good to execute arm binary on x86 ;-)

The second is trickier as it concerns library paths. During linking the only -L option I see is -L/usr/lib despite specifying LDFLAGS. This output of the linker_so at the biginning of setup.py:

Linker_so: [&#039;/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc&#039;, &#039;-shared&#039;, &#039;-L/home/user/Documents/projects/br-queue-python/output/host/usr/arm-unknown-linux-gnueabi/sysroot/lib&#039;, &#039;-L/home/user/Documents/projects/br-queue-python/output/host/usr/arm-unknown-linux-gnueabi/sysroot/usr/lib&#039;]

at the end I solved this by providing library_dirs myself. Any idea?

I wish you good luck for your PyCon talk. And I hope Python devs will understand the difference between compilation and cross-compilation. And some common framework linke autotools should be also available, so there is no need to write own checks.

Thanks for helping. Happy New Year!</description>
		<content:encoded><![CDATA[<p>I&#8217;ve got it!!!</p>
<p>The first problem with checks was, that setup.py while checking for headers has also tried to execute the binary. That was not so good to execute arm binary on x86 ;-)</p>
<p>The second is trickier as it concerns library paths. During linking the only -L option I see is -L/usr/lib despite specifying LDFLAGS. This output of the linker_so at the biginning of setup.py:</p>
<p>Linker_so: ['/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc', '-shared', '-L/home/user/Documents/projects/br-queue-python/output/host/usr/arm-unknown-linux-gnueabi/sysroot/lib', '-L/home/user/Documents/projects/br-queue-python/output/host/usr/arm-unknown-linux-gnueabi/sysroot/usr/lib']</p>
<p>at the end I solved this by providing library_dirs myself. Any idea?</p>
<p>I wish you good luck for your PyCon talk. And I hope Python devs will understand the difference between compilation and cross-compilation. And some common framework linke autotools should be also available, so there is no need to write own checks.</p>
<p>Thanks for helping. Happy New Year!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Yegor Yefremov</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-505</link>
		<dc:creator>Yegor Yefremov</dc:creator>
		<pubDate>Thu, 29 Dec 2011 08:49:45 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-505</guid>
		<description>No. That didn&#039;t help.

define PYTHON_NETIFACES_BUILD_CMDS
        (cd $(@D); \
                CC=&quot;$(TARGET_CC)&quot;               \
                CFLAGS=&quot;$(TARGET_CFLAGS)&quot;       \
                PYTHONXCPREFIX=&quot;$(HOST_DIR)/usr/&quot; \
                LDSHARED=&quot;$(TARGET_CC) -shared&quot; \
                LDFLAGS=&quot;-L$(HOST_DIR)/lib -L$(HOST_DIR)/usr/lib&quot;         \
        $(HOST_DIR)/usr/bin/python setup.py build -x)
endef

Build result:

python-netifaces 0.6 Building
(cd /home/user/Documents/projects/br-queue-python/output/build/python-netifaces-0.6; CC=&quot;/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc&quot; CFLAGS=&quot;-pipe -Os  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64&quot; PYTHONXCPREFIX=&quot;/home/user/Documents/projects/br-queue-python/output/host/usr/&quot; LDSHARED=&quot;/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc -shared&quot; LDFLAGS=&quot;-L/home/user/Documents/projects/br-queue-python/output/host/lib -L/home/user/Documents/projects/br-queue-python/output/host/usr/lib&quot; /home/user/Documents/projects/br-queue-python/output/host/usr/bin/python setup.py build -x)
running build
Setting prefix
Setting prefix
running build_ext
checking for getifaddrs... not found. (cached)
checking for getnameinfo... not found. (cached)
checking for socket IOCTLs... not found. (cached)
checking for optional header files... netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h. (cached)
checking whether struct sockaddr has a length field... no. (cached)
checking which sockaddr_xxx structs are defined... at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc. (cached)
building &#039;netifaces&#039; extension
/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -pipe -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -I/home/user/Documents/projects/br-queue-python/output/host/usr/include/python2.7 -c netifaces.c -o build/temp.linux-i686-2.7/netifaces.o
netifaces.c:143:6: error: #error You need to add code for your platform.
netifaces.c:268:1: warning: &#039;string_from_sockaddr&#039; defined but not used
netifaces.c:360:1: warning: &#039;add_to_family&#039; defined but not used
error: command &#039;/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc&#039; failed with exit status 1


I have such a premonition, that CC won&#039;t be honored. For the test I just renamed the gcc binary and build_ext was not complaining during the test. The only thing that failed was netifaces.c compilation, because of absent compiler binary.

The test_build method in netifaces setup.py has tree return possibilities:
- no error
- CompileError
- DistutilsExecError 

But since the return value is boolean I don&#039;t know which part failed. Print is not visible in this method. Will have to dig deeper.</description>
		<content:encoded><![CDATA[<p>No. That didn&#8217;t help.</p>
<p>define PYTHON_NETIFACES_BUILD_CMDS<br />
        (cd $(@D); \<br />
                CC=&#8221;$(TARGET_CC)&#8221;               \<br />
                CFLAGS=&#8221;$(TARGET_CFLAGS)&#8221;       \<br />
                PYTHONXCPREFIX=&#8221;$(HOST_DIR)/usr/&#8221; \<br />
                LDSHARED=&#8221;$(TARGET_CC) -shared&#8221; \<br />
                LDFLAGS=&#8221;-L$(HOST_DIR)/lib -L$(HOST_DIR)/usr/lib&#8221;         \<br />
        $(HOST_DIR)/usr/bin/python setup.py build -x)<br />
endef</p>
<p>Build result:</p>
<p>python-netifaces 0.6 Building<br />
(cd /home/user/Documents/projects/br-queue-python/output/build/python-netifaces-0.6; CC=&#8221;/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc&#8221; CFLAGS=&#8221;-pipe -Os  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64&#8243; PYTHONXCPREFIX=&#8221;/home/user/Documents/projects/br-queue-python/output/host/usr/&#8221; LDSHARED=&#8221;/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc -shared&#8221; LDFLAGS=&#8221;-L/home/user/Documents/projects/br-queue-python/output/host/lib -L/home/user/Documents/projects/br-queue-python/output/host/usr/lib&#8221; /home/user/Documents/projects/br-queue-python/output/host/usr/bin/python setup.py build -x)<br />
running build<br />
Setting prefix<br />
Setting prefix<br />
running build_ext<br />
checking for getifaddrs&#8230; not found. (cached)<br />
checking for getnameinfo&#8230; not found. (cached)<br />
checking for socket IOCTLs&#8230; not found. (cached)<br />
checking for optional header files&#8230; netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h. (cached)<br />
checking whether struct sockaddr has a length field&#8230; no. (cached)<br />
checking which sockaddr_xxx structs are defined&#8230; at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc. (cached)<br />
building &#8216;netifaces&#8217; extension<br />
/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -pipe -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -I/home/user/Documents/projects/br-queue-python/output/host/usr/include/python2.7 -c netifaces.c -o build/temp.linux-i686-2.7/netifaces.o<br />
netifaces.c:143:6: error: #error You need to add code for your platform.<br />
netifaces.c:268:1: warning: &#8216;string_from_sockaddr&#8217; defined but not used<br />
netifaces.c:360:1: warning: &#8216;add_to_family&#8217; defined but not used<br />
error: command &#8216;/home/user/Documents/projects/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc&#8217; failed with exit status 1</p>
<p>I have such a premonition, that CC won&#8217;t be honored. For the test I just renamed the gcc binary and build_ext was not complaining during the test. The only thing that failed was netifaces.c compilation, because of absent compiler binary.</p>
<p>The test_build method in netifaces setup.py has tree return possibilities:<br />
- no error<br />
- CompileError<br />
- DistutilsExecError </p>
<p>But since the return value is boolean I don&#8217;t know which part failed. Print is not visible in this method. Will have to dig deeper.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Christopher Lambacher</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-504</link>
		<dc:creator>Christopher Lambacher</dc:creator>
		<pubDate>Wed, 28 Dec 2011 21:10:02 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-504</guid>
		<description>Yegor: It looks like you are missing -L options in your LDFLAGS. It should be LDFLAGS=&quot;-L$(HOST_DIR)/lib/ -L$(HOST_DIR)/usr/lib/&quot;.</description>
		<content:encoded><![CDATA[<p>Yegor: It looks like you are missing -L options in your LDFLAGS. It should be LDFLAGS=&#8221;-L$(HOST_DIR)/lib/ -L$(HOST_DIR)/usr/lib/&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Yegor Yefremov</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-503</link>
		<dc:creator>Yegor Yefremov</dc:creator>
		<pubDate>Wed, 28 Dec 2011 08:14:01 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-503</guid>
		<description>Hi Chris,

I&#039;ve a problem cross-compiling netifaces from Alastair Houghton for ARM using Buildroot. I&#039;ve installed distutilscross and specified all needed environment variables, but setuptools 0.6c11 doesn&#039;t seem to be interested in specified CC. The -x option will be recognized, but all netifaces tests fail:

running build
Setting prefix
Setting prefix
running build_ext
checking for getifaddrs... not found. (cached)
checking for getnameinfo... not found. (cached)
checking for socket IOCTLs... not found. (cached)

That is how I configure netifaces for cross-compiling:

define PYTHON_NETIFACES_BUILD_CMDS
(cd $(@D);\
CC=&quot;$(TARGET_CC) -pthread&quot; \
LDSHARED=&quot;$(TARGET_CC) -pthread -shared&quot; \
PYTHONXCPREFIX=&quot;$(HOST_DIR)/usr/&quot; \
LDFLAGS=&quot;$(HOST_DIR)/lib/ $(HOST_DIR)/usr/lib/&quot; \
$(HOST_DIR)/usr/bin/python setup.py build -x)
endef

Do you have any idea? 

Thank you in advance and merry Xmas and Happy New Year!

P.S. such statement as --plat-name=linux-arm will be not recognized</description>
		<content:encoded><![CDATA[<p>Hi Chris,</p>
<p>I&#8217;ve a problem cross-compiling netifaces from Alastair Houghton for ARM using Buildroot. I&#8217;ve installed distutilscross and specified all needed environment variables, but setuptools 0.6c11 doesn&#8217;t seem to be interested in specified CC. The -x option will be recognized, but all netifaces tests fail:</p>
<p>running build<br />
Setting prefix<br />
Setting prefix<br />
running build_ext<br />
checking for getifaddrs&#8230; not found. (cached)<br />
checking for getnameinfo&#8230; not found. (cached)<br />
checking for socket IOCTLs&#8230; not found. (cached)</p>
<p>That is how I configure netifaces for cross-compiling:</p>
<p>define PYTHON_NETIFACES_BUILD_CMDS<br />
(cd $(@D);\<br />
CC=&#8221;$(TARGET_CC) -pthread&#8221; \<br />
LDSHARED=&#8221;$(TARGET_CC) -pthread -shared&#8221; \<br />
PYTHONXCPREFIX=&#8221;$(HOST_DIR)/usr/&#8221; \<br />
LDFLAGS=&#8221;$(HOST_DIR)/lib/ $(HOST_DIR)/usr/lib/&#8221; \<br />
$(HOST_DIR)/usr/bin/python setup.py build -x)<br />
endef</p>
<p>Do you have any idea? </p>
<p>Thank you in advance and merry Xmas and Happy New Year!</p>
<p>P.S. such statement as &#8211;plat-name=linux-arm will be not recognized</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by James Le Cuirot</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-502</link>
		<dc:creator>James Le Cuirot</dc:creator>
		<pubDate>Wed, 28 Dec 2011 00:14:55 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-502</guid>
		<description>Hi Chris. Sorry again for the noise but I&#039;ve just made an important discovery. Whilst patching this feature into Python directly, I wondered where the default values for PREFIX and EXEC_PREFIX come from. It turns out you can already override these by setting the PYTHONHOME environment variable. The catch is that all the Python stuff you need to complete the build (e.g. setuptools) needs to be installed in the prefix as the only files it touches from the host are the native Python executable and library. If the build needs to execute any native Python extensions then this probably won&#039;t work but I doubt any Python build system does this. In the Gentoo case, it will automatically install prerequisites like setuptools for you. I&#039;ll play with this more tomorrow.</description>
		<content:encoded><![CDATA[<p>Hi Chris. Sorry again for the noise but I&#8217;ve just made an important discovery. Whilst patching this feature into Python directly, I wondered where the default values for PREFIX and EXEC_PREFIX come from. It turns out you can already override these by setting the PYTHONHOME environment variable. The catch is that all the Python stuff you need to complete the build (e.g. setuptools) needs to be installed in the prefix as the only files it touches from the host are the native Python executable and library. If the build needs to execute any native Python extensions then this probably won&#8217;t work but I doubt any Python build system does this. In the Gentoo case, it will automatically install prerequisites like setuptools for you. I&#8217;ll play with this more tomorrow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Christopher Lambacher</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-501</link>
		<dc:creator>Christopher Lambacher</dc:creator>
		<pubDate>Mon, 26 Dec 2011 22:07:32 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-501</guid>
		<description>I&#039;ll be doing a talk on this stuff at PyCon 2012: https://us.pycon.org/2012/schedule/presentation/11/</description>
		<content:encoded><![CDATA[<p>I&#8217;ll be doing a talk on this stuff at PyCon 2012: <a href="https://us.pycon.org/2012/schedule/presentation/11/" rel="nofollow">https://us.pycon.org/2012/schedule/presentation/11/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by Christopher Lambacher</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-500</link>
		<dc:creator>Christopher Lambacher</dc:creator>
		<pubDate>Mon, 26 Dec 2011 22:06:36 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-500</guid>
		<description>Hi James, setuptools is required for distutils. You should be able to get non-setuptools packages to work using:

python -c &quot;import setuptools; execfile(&#039;setup.py&#039;)&quot; -x build

You can substitute any other command for build as you require (including bdist_egg).</description>
		<content:encoded><![CDATA[<p>Hi James, setuptools is required for distutils. You should be able to get non-setuptools packages to work using:</p>
<p>python -c &#8220;import setuptools; execfile(&#8216;setup.py&#8217;)&#8221; -x build</p>
<p>You can substitute any other command for build as you require (including bdist_egg).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cross Compiling Python Extensions by James Le Cuirot</title>
		<link>http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/comment-page-1/#comment-499</link>
		<dc:creator>James Le Cuirot</dc:creator>
		<pubDate>Mon, 26 Dec 2011 21:07:17 +0000</pubDate>
		<guid isPermaLink="false">http://whatschrisdoing.com/blog/?p=92#comment-499</guid>
		<description>Ah it works if the package imports setuptools instead of distutils. I was trying it with rdiff-backup, which imports distutils. I gather entry points are specific to setuptools. Is there any way to make it magically work in this situation?</description>
		<content:encoded><![CDATA[<p>Ah it works if the package imports setuptools instead of distutils. I was trying it with rdiff-backup, which imports distutils. I gather entry points are specific to setuptools. Is there any way to make it magically work in this situation?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

