a blob of green gelatin wrote:
On Tue, 21 Mar 2006, Chris McDonough wrote:
These are warnings coming from GCC (as
opposed to errors, which would prevent compilation from finishing).
GCC 4.X emits these pointer signedness warnings whereas earlier GCC
versions did not. This issue has been fixed on the Zope trunk, I
believe (the codebase which will become Zope 2.10).
Thanks for the answer!
I went ahead and continued then with my installation.
after running 'make install' with no problems, I created an instance
via the /usr/local/bin/zope/bin/mkzopeinstance.py script. The script
ran fine with no errors.
Following the INSTALL.txt file in the Zope directory, my next step
would be to head over to my installed instance and run the zopectl
script to get things going.
When I ran it, I get the following:
slimemold[62]:/home/jello/zope/bin% ./zopectl start
Traceback (most recent call last):
File "/usr/local/bin/zope/lib/python/Zope2/Startup/zopectl.py", line
316, in ?
main()
File "/usr/local/bin/zope/lib/python/Zope2/Startup/zopectl.py", line
274, in main
options.realize(args)
File "/usr/local/bin/zope/lib/python/Zope2/Startup/zopectl.py", line
91, in realize
ZDOptions.realize(self, *args, **kw)
File "/usr/local/bin/zope/lib/python/zdaemon/zdoptions.py", line 273,
in realize
self.load_schema()
File "/usr/local/bin/zope/lib/python/zdaemon/zdoptions.py", line 321,
in load_schema
self.schema = ZConfig.loadSchema(self.schemafile)
File "/usr/local/bin/zope/lib/python/ZConfig/loader.py", line 31, in
loadSchema
return SchemaLoader().loadURL(url)
File "/usr/local/bin/zope/lib/python/ZConfig/loader.py", line 65, in
loadURL
return self.loadResource(r)
File "/usr/local/bin/zope/lib/python/ZConfig/loader.py", line 159, in
loadResource
schema = ZConfig.schema.parseResource(resource, self)
File "/usr/local/bin/zope/lib/python/ZConfig/schema.py", line 27, in
parseResource
xml.sax.parse(resource.file, parser)
File "/usr/lib64/python2.4/site-packages/_xmlplus/sax/__init__.py",
line 31, in parse
parser.parse(filename_or_stream)
File
"/usr/lib64/python2.4/site-packages/_xmlplus/sax/expatreader.py", line
109, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.4/site-packages/_xmlplus/sax/xmlreader.py",
line 123, in parse
self.feed(buffer)
File
"/usr/lib64/python2.4/site-packages/_xmlplus/sax/expatreader.py", line
216, in feed
self._parser.Parse(data, isFinal)
File
"/usr/lib64/python2.4/site-packages/_xmlplus/sax/expatreader.py", line
311, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "/usr/local/bin/zope/lib/python/ZConfig/schema.py", line 99, in
startElement
getattr(self, "start_" + name)(attrs)
File "/usr/local/bin/zope/lib/python/ZConfig/schema.py", line 475, in
start_schema
keytype, valuetype, datatype = self.get_sect_typeinfo(attrs)
File "/usr/local/bin/zope/lib/python/ZConfig/schema.py", line 201, in
get_sect_typeinfo
datatype = self.get_datatype(attrs, "datatype", "null", base)
File "/usr/local/bin/zope/lib/python/ZConfig/schema.py", line 194, in
get_datatype
return self._registry.get(dtname)
File "/usr/local/bin/zope/lib/python/ZConfig/datatypes.py", line 398,
in get
t = self.search(name)
File "/usr/local/bin/zope/lib/python/ZConfig/datatypes.py", line 423,
in search
package = __import__(n, g, g, component)
File "/usr/local/bin/zope/lib/python/Zope2/Startup/datatypes.py",
line 20, in ?
from ZODB.config import ZODBDatabase
File "/usr/local/bin/zope/lib/python/ZODB/__init__.py", line 20, in ?
from persistent import TimeStamp
File "/usr/local/bin/zope/lib/python/persistent/__init__.py", line
19, in ?
from cPersistence import Persistent, GHOST, UPTODATE, CHANGED,
STICKY
ImportError: /usr/local/bin/zope/lib/python/persistent/cPersistence.so:
undefined symbol: PyUnicodeUCS2_AsEncodedString
I configured this to use /usr/local/bin/python (2.4.2 compiled) instead
of the default /usr/bin/python (2.4.1 package).
I searched the archives to look for something here, and I've found one
similar thread:
http://www.gossamer-threads.com/lists/zope/users/163264?search_string=%2Bzopectl%20%2Bimporterror;#163264
which mentions some possibilities:
"Ah. uhm.. sorry. This traceback can only occur when cPersistence.so
wasnt compiled yet, has been deleted, is for the wrong python version
or is otherwise unavailable.
It is usually generated thru installation/compilation.
I'd check paths for INSTANCE_HOME, SOFTWARE_HOME etc;
which python version is used (and if its different to
the version you installed with) "
So far with this installation, the only (as far as I can tell)
modification from the vanilla installation is that I'm using a seperate
python instance on the box. Otherwise it's a simple
configure/make/make install from the /tmp directory.
I installed zope to /usr/local/bin/zope and given my regular user write
permissions (via group) to that directory so that my 'make install'
didn't require a sudo. I installed the instance to /home/jello/zope
and ran the /home/jello/zope/bin/zopectl start command (as referenced
above) with the aforementioned output.
I'm thinking it must be something really simple because I'm not seeing
it in the archives and I'm not really deviating from what's in the
doc/INSTALL.txt file. (I didn't see anything different in the Zope
book either. It's all pretty straightforward from what I'm reading.
http://www.plope.com/Books/2_7Edition/InstallingZope.stx#2-6)
Anyone have ideas? I'd appreciate it!
Thanks in advance!
-Chris
-
Blob,
FWIW,
Maybe PyUnicodeUCS2_AsEncodedString is the culprit?.
Found this via google
(http://www.egenix.com/files/python/mxODBC-Zope-DA.html):
Python Unicode versions: If you get errors mentioning "unresolved
symbol PyUnicodeUCS2_AsEncodedString" during loading of the mxODBC
Zope DA product, you are likely using a Linux distribution which ships
with a UCS4-build (4-byte Unicode) of Python.
RedHat 9 and SuSE 9 and later ship with UCS4 builds of Python and
Zope, so please download the UCS4 versions of the product.
To find out which Python Unicode you have, please run the following
command using the Python interpreter used by your Zope installation: python
-c "import sys; print (sys.maxunicode < 66000) and 'UCS2' or 'UCS4'"
David
|