symbol not found involving dynlink/dlopen/embedding Python

2004-12-19 Thread Christopher Armstrong
With the following situation, Numarray can't find Python's symbols.

problematic-Python::
  Main dlopens Two
  Two dynlinks Python
  Python dlopens Numarray
  Numarray dynlinks Python

I have another pure-C example that tries to mirror this, with::

minimal-C::
  Main dlopen Two
  Two dynlink Middle
  Middle dlopen Three
  Three dynlink Middle

and it works fine.

AFAICT, I'm using the same dlopen flags that Python is.

The minimal reproduction code is very small, but broken into several
files (to emulate the different parts). It's browsable at
http://twistedmatrix.com/users/radix/dynlink-problem , and
downloadable at
http://twistedmatrix.com/users/radix/dynlink-problem/dynlink-problem.tar.gz

After doing some googling, I've found several people that look like
they have similar problems. I even found one workaround involving
LD_PRELOAD. if you LD_PRELOAD=python2.3.so ./main, then the symbols
are found.

Does anyone have any idea on how I can solve this? I'd like to not
hack CPython, and not have tie the build to a single machine.



-- 
  Twisted   |  Christopher Armstrong: International Man of Twistery
   Radix|-- http://radix.twistedmatrix.com
|  Release Manager, Twisted Project
  \\\V///   |-- http://twistedmatrix.com
   |o O||  Founding Member, Hobart Hacking Society
wvw-+-- http://hackingsociety.org/chapters/hash
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: symbol not found involving dynlink/dlopen/embedding Python [platform information]

2004-12-19 Thread Christopher Armstrong
Sorry, I forgot to put information about my platform.

Debian unstable on linux kernel 2.4.20, Debian's package of Python2.3.

gcc version 3.3.3
libc version 2.3.2

libc.so.6 output follows:::

[EMAIL PROTECTED] ~% /lib/libc.so.6 
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.3.4 (Debian 1:3.3.4-6).
Compiled on a Linux 2.6.0-test7 system on 2004-08-10.
Available extensions:
GNU libio by Per Bothner
crypt add-on version 2.1 by Michael Glad and others
linuxthreads-0.10 by Xavier Leroy
BIND-8.2.3-T5B
libthread_db work sponsored by Alpha Processor Inc
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.


On Sun, 19 Dec 2004 20:55:20 +1100, Christopher Armstrong
<[EMAIL PROTECTED]> wrote:
> With the following situation, Numarray can't find Python's symbols.
> 
> problematic-Python::
>   Main dlopens Two
>   Two dynlinks Python
>   Python dlopens Numarray
>   Numarray dynlinks Python
> 
> I have another pure-C example that tries to mirror this, with::
> 
> minimal-C::
>   Main dlopen Two
>   Two dynlink Middle
>   Middle dlopen Three
>   Three dynlink Middle
> 
> and it works fine.
> 
> AFAICT, I'm using the same dlopen flags that Python is.
> 
> The minimal reproduction code is very small, but broken into several
> files (to emulate the different parts). It's browsable at
> http://twistedmatrix.com/users/radix/dynlink-problem , and
> downloadable at
> http://twistedmatrix.com/users/radix/dynlink-problem/dynlink-problem.tar.gz
> 
> After doing some googling, I've found several people that look like
> they have similar problems. I even found one workaround involving
> LD_PRELOAD. if you LD_PRELOAD=python2.3.so ./main, then the symbols
> are found.
> 
> Does anyone have any idea on how I can solve this? I'd like to not
> hack CPython, and not have tie the build to a single machine.
> 
> 
> --
>   Twisted   |  Christopher Armstrong: International Man of Twistery
>Radix|-- http://radix.twistedmatrix.com
> |  Release Manager, Twisted Project
>   \\\V///   |-- http://twistedmatrix.com
>|o O||  Founding Member, Hobart Hacking Society
> wvw-+-- http://hackingsociety.org/chapters/hash
> 


-- 
  Twisted   |  Christopher Armstrong: International Man of Twistery
   Radix|-- http://radix.twistedmatrix.com
|  Release Manager, Twisted Project
  \\\V///   |-- http://twistedmatrix.com
   |o O||  Founding Member, Hobart Hacking Society
wvw-+-- http://hackingsociety.org/chapters/hash
-- 
http://mail.python.org/mailman/listinfo/python-list


ANN: Twisted version 2.0

2005-03-24 Thread Christopher Armstrong
http://twistedmatrix.com/

TASMANIA (DP) -- Found on the Internet on 2005-03-22 by an anonymous
programmer, Twisted 2.0 was obtained by local authorities and kept
isolated for public safety and further study.  On 2005-03-25, however,
nano-probes were released from the package's surface and propagated
the software to the public.

Version 2.0 is said to have originated from ancient underground ruins
somewhere in Australia, but their existence has not yet been verified.
Christopher Armstrong, enslaved release archaeologist, was only able
to say "Aieeya!  Release??  What release?  I just found this here
tablet under some sand.  Ia!"  Project lead Glyph Lefkowitz was not
available for comment, as he has fled the planet in fear of the
repercussions of the software's new release.

Record-keeper Mary Gardiner said "It will be interesting to see if the
Twisted Sumo distribution collapses into a singularity.  I guess
there's a potential that Earth will be destroyed."

As of this release, radix's soul, which has been included in Twisted
since version 0.8.0, has been split off from the main project and
given back to him to maintain in a separate sub-project.



Twisted 2.0 is a major upgrade, changing many things not only in the
code but also in the structure of the project.  As of 2.0, Twisted was
split up into many sub-projects which you can read about in the
Twisted Split FAQ[1].

2.0 also marks the first release including the migration to the Zope
Interface framework as opposed to Twisted's own built-in
interface/adapter system.  Another FAQ was made available[2] for those
curious about the change.

Many, tons, and lots of other changes have been made in this release.
The NEWS[3] file contains a high-level overview of most of these
changes.  Changes in now-split subprojects are available on their
individual project pages[4].

Tarballs are currently available at the twistedmatrix.com site, and
packages for win32, Debian, and other OSes are currently on the way.

1: http://twistedmatrix.com/projects/core/documentation/upgrades/2.0/split.html
2: 
http://twistedmatrix.com/projects/core/documentation/upgrades/2.0/components.html
3: http://twistedmatrix.com/projects/core/NEWS.txt
4: http://twistedmatrix.com/projects/


WHAT IS TWISTED?

Twisted is an event-based framework for internet applications which
works on Python 2.2.X and 2.3.X.  The following are the (important)
modules included with Twisted:

  - twisted.application
A "Service" system that allows you to organize your application in
hierarchies with well-defined startup and dependency semantics,
  - twisted.cred
A general credentials and authentication system that facilitates
pluggable authentication backends,
  - twisted.enterprise
Asynchronous database access, compatible with any Python DBAPI2.0
modules,
  - twisted.internet
Low-level asynchronous networking APIs that allow you to define
your own protocols that run over certain transports,
  - twisted.manhole
A tool for remote debugging of your services which gives you a
Python interactive interpreter,
  - twisted.protocols
Basic protocol implementations and helpers for your own protocol
implementations,
  - twisted.python
A large set of utilities for Python tricks, reflection, text
processing, and anything else,
  - twisted.spread
A secure, fast remote object system,
  - twisted.trial
A unit testing framework that integrates well with Twisted-based code.


Twisted supports integration of the Tk, GTK+, GTK+ 2, Qt, Mac OS X, or
wxPython event loop with its main event loop. The Win32 event loop is
also supported.

For more information, visit http://www.twistedmatrix.com, or join the
list at
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

There are many official Twisted subprojects, including clients and
servers for web, mail, DNS, and more. You can find out more about
these projects at http://twistedmatrix.com/projects/



-- 
  Twisted   |  Christopher Armstrong: International Man of Twistery
   Radix|-- http://radix.twistedmatrix.com
|  Release Manager, Twisted Project
  \\\V///   |-- http://twistedmatrix.com
   |o O||  Founding Member, Hobart Hacking Society
wvw-+-- http://hackingsociety.org/chapters/hash
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Twisted version 2.0

2005-03-24 Thread Christopher Armstrong
On Fri Mar 25, Terry Reedy wrote:
> > Twisted is an event-based framework for internet applications which
> > works on Python 2.2.X and 2.3.X.

> Was 2.4.X intentionally omitted?

No, I'm sorry. Twisted also supports Python 2.4.

-- 
  Twisted   |  Christopher Armstrong: International Man of Twistery
   Radix|-- http://radix.twistedmatrix.com
|  Release Manager, Twisted Project
  \\\V///   |-- http://twistedmatrix.com
   |o O||  Founding Member, Hobart Hacking Society
wvw-+-- http://hackingsociety.org/chapters/hash
-- 
http://mail.python.org/mailman/listinfo/python-list


[ANN] Twisted 8.0

2008-03-26 Thread Christopher Armstrong
http://twistedmatrix.com/

MASSACHUSETTS (DP) -- Version 8.0 of the Twisted networking framework
has been released, Twisted Matrix Laboratories announced Wednesday.

Enslaved by his new robotic overloads, Master of the Release
Christopher Armstrong presented the new package to the Internet on
March 26th. Armstrong was unable to comment, because of a device worn
around his neck preventing him from doing so, scientists say.

Secretary of Defense Jean-Paul Calderone was asked about concerns that
French interference may have played a role in the delay of this
release. "I find such speculation preposterous. Thomas Hervé is an
upstanding member of the Labs and his loyalties lie with us. He is a
fine addition to our team."  Rumors in the community allege that
Secretary Calderone is holding Hervé's cat ransom until the release is
successfully distributed. Hervé was unavailable for comment.

This release comes shortly after the announcement by Chief of Public
Affairs Duncan McGreggor that Twisted had joined the Software Freedom
Conservancy. "We're happy to join the SFC, and we are now accepting
sponsorship. The fact that we are now ruled by a cabal of robots
should not put off potential donors. Our robotic overlords are running
us at peak efficiency, so we can most effectively distribute The
Love."

Asked about the version number jump in this release,
Commander-in-Chief Glyph Lefkowitz had the following to say: "Our
benefactors have found our previous dice-rolling version number scheme
to be inadequate, and have deigned to propose to us a more... logical
system of versioning."

=

Twisted is an event-based framework for Internet applications which
works on Python 2.3, 2.4, and 2.5. It can be downloaded from

http://twistedmatrix.com/

Twisted 8.0 is a major feature release, with several new features and
a great number of bug fixes. Some of the highlights follow.

 - The IOCP reactor is now much improved and many bugs have been resolved.
 - Twisted is now easy_installable.
 - Many improvements were made to Trial, Twisted's unit testing system.
 - A new memcache client protocol implementation was added.
 - So much more[1]!

To see the full list of changes in its fifteen kilobytes of glory, see
the release notes[1]. We welcome you to download and enjoy, and please
file any bugs you find[2] and send comments to the mailing list[3].

Why the large version number bump? We've decided to switch to a
time-based versioning scheme. "8.0" means the first release in 2008.

[1] 
http://twistedmatrix.com/trac/browser/tags/releases/twisted-8.0.1/NEWS?format=raw
[2] Register: http://twistedmatrix.com/trac/register New ticket:
http://twistedmatrix.com/trac/newticket
[3] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Thanks!

-- 
Christopher Armstrong
International Man of Twistery
http://radix.twistedmatrix.com/
http://twistedmatrix.com/
http://canonical.com/
-- 
http://mail.python.org/mailman/listinfo/python-list

ANN: Twisted 8.2 released

2009-01-06 Thread Christopher Armstrong
Version 8.2 of Twisted is now out (actually, it's been out for over a
week now!). You can download it (in Windows, Mac, and source forms)
at:

http://twistedmatrix.com/

Twisted 8.2 is a major feature release, also including many important bug fixes:

 * twistd now has a --umask option for specifying the umask
 * Log observers can now be configured in .tac files
 * ProcessProtocols can now implement processExited to get reliable
notification of a process exiting
 * FTPClient has many more convenience methods
 * Twisted.words now has a standalone XMPP router
 * Twisted.names now supports NAPTR records
 * Twisted.web can now deal with multi-value headers and supports the
Range header in requests for static files

There have been many additional improvements which you can read all
about in the release notes:


http://twistedmatrix.com/trac/browser/tags/releases/twisted-8.2.0/NEWS?format=raw


What is Twisted? From the web site:

Twisted is an event-driven networking engine written in Python and
licensed under the MIT license.

Twisted projects variously support TCP, UDP, SSL/TLS, multicast, Unix
sockets, a large number of protocols (including HTTP, NNTP, IMAP, SSH,
IRC, FTP, and others), and much more. See more at:

http://twistedmatrix.com/


-- 
Christopher Armstrong
http://radix.twistedmatrix.com/
http://planet-if.com/
http://canonical.com/
--
http://mail.python.org/mailman/listinfo/python-list


ANN: Twisted 9.0.0

2009-12-02 Thread Christopher Armstrong
= Twisted 9.0.0 =

I'm happy to announce Twisted 9, the first (and last) release of
Twisted in 2009. The previous release was Twisted 8.2 in December of
2008. Given that, a lot has changed!

This release supports Python 2.3 through Python 2.6, though it is the
last one that will support Python 2.3. The next release will support
only Python 2.4 and above. Twisted: the framework of the future!

You can download the new release at our web site,

http://twistedmatrix.com/

There were around 285 tickets resolved in this release. The full list
of changes is available here:


http://twistedmatrix.com/trac/browser/tags/releases/twisted-9.0.0/NEWS?format=raw

It's quite a huge list of changes spanning almost all of the Twisted
projects, so here are some of the more exciting changes:

In the core:
- The Windows IOCP reactor now supports SSL.
- The memcache protocol implementation got some nice new features.

In Twisted Web:
- There's a new HTTP client API and protocol implementation, starting
at twisted.web.client.Agent. It's still pretty low-level, but much
more flexible than the old API.
- There were many improvements to the WSGI support.

In Twisted Conch:
- PyASN1 is now used to parse SSH keys (which means you now need to
install it to use Conch).
- SFTP servers (especially on Windows) now behave a lot better.

In Twisted Mail:
- The IMAP server and client protocol implementations had many fixes.
For example, SASL PLAIN credentials now work.

In Twisted Words:
- XMPP clients now support the ANONYMOUS SASL authentication type.
- The IRC protocol implementations had many fixes.

And a lot more.


= What is Twisted? =

>From the web site:

Twisted is an event-driven networking engine written in Python and
licensed under the MIT license.

See the FAQ for commonly asked questions about Twisted.

http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions

If you want to get started with Twisted, the first thing you should do
is read the Twisted Core Documentation.

http://twistedmatrix.com/projects/core/documentation/howto/index.html

Twisted projects variously support TCP, UDP, SSL/TLS, multicast, Unix
sockets, a large number of protocols (including HTTP, NNTP, IMAP, SSH,
IRC, FTP, and others), and much more.

Enjoy!

-- 
Christopher Armstrong
http://radix.twistedmatrix.com/
http://planet-if.com/
-- 
http://mail.python.org/mailman/listinfo/python-list