On Wed, 20 Apr 2005, Alberto Troiano wrote:
> You're so right and I apologize for my mistake > > Do you or anybody knows where the error.log for this kind o things is????? > > or how can I capture the output in a file???????????Cause is so damn > long that I barely see the 10% of all the things its print out Hi Alberto, On Unix, we can use a program called "script". It's enormously useful. Let's go through an example. In my own copy of MySQL-python-1.2.0, I've damaged my own setup.py: I've deliberately broken parts of the include directory stuff to illicit a compile-time error. This will show what kind of errors we might expect to see from a missing MySQL setup. Ok, let's start up the transcript. ###### [EMAIL PROTECTED] dyoo]$ script Script started, file is typescript ###### At this point, a file called 'typescript' is saved in the current working directory. It'll continue to record output until we 'exit'. ###### [EMAIL PROTECTED] dyoo]$ cd MySQL-python-1.2.0 [EMAIL PROTECTED] MySQL-python-1.2.0]$ python setup.py build running build running build_py running build_ext building '_mysql' extension ... [output follows, as well as a LOT of error messages] error: command 'gcc' failed with exit status 1 [EMAIL PROTECTED] MySQL-python-1.2.0]$ exit exit Script done, file is typescript ###### Once things are done, I've 'exit'ed, and I have a nice 'typescript' which records everything that I've done. Let's do a quick inspection of that typescript: ###### [EMAIL PROTECTED] dyoo]$ head -n 10 typescript Script started on Wed Apr 20 14:15:02 2005 [EMAIL PROTECTED] dyoo]$ cd MySQL-python-1.2.0 [EMAIL PROTECTED] MySQL-python-1.2.0]$ python setup.py build running build running build_py running build_ext building '_mysql' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC -I/usr/include/python2.3 -c _mysql.c -o build/temp.linux-i686-2.3/_mysql.o _mysql.c:41:19: mysql.h: No such file or directory _mysql.c:42:26: mysqld_error.h: No such file or directory ###### This is an example of an error message log. The whole file contains exact information that we need to see to duplicate the error. I'll attach a gzipped copy of it, just so you understand what we'd like to get back. I'm only showing the first few lines of the transcript, but it includes invaluable information. What's most valuable here is seeing what flags are being passed to gcc. That is, it is very interesting that we see something like: gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC -I/usr/include/python2.3 -c _mysql.c -o build/temp.linux-i686-2.3/_mysql.o because, for those C hackers amongst us, this looks wrong, because there's a missing reference to the MySQL include directory. And our suspicions are confirmed when we see that gcc has trouble finding header files. In this particular case, we'd figure out that something has happened so that setup.py isn't including a '-I/usr/include/mysql' as part of the compiler argument list. This is exactly why a full transcript is so useful: we see how things are really running through the system. There are lots of silly little details, but they're invaluable when we're tracing errors. I hope this helps!
sample-typescript.gz
Description: Binary data
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor