[ python-Bugs-1306253 ] Python 2.4.2c1 fails to build on 64-bit Solaris 10

SourceForge.net noreply at sourceforge.net
Thu Sep 29 18:08:41 CEST 2005


Bugs item #1306253, was opened at 2005-09-27 23:10
Message generated for change (Comment added) made by loewis
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1306253&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Build
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: John Stone (jestone)
Assigned to: Nobody/Anonymous (nobody)
Summary: Python 2.4.2c1 fails to build on 64-bit Solaris 10

Initial Comment:
I have not yet succeeded in compiling Python 2.4.2c1 in
64-bit mode on Solaris 10.  I used the following flags
and configuration options, which are the same as what I
used on S9, except for the addition of the
"-xc99=%none" flag to prevent compilation failures due
to some of the other changes from S9 to S10:
setenv CC cc
setenv CXX CC
setenv BASECFLAGS "-native -xc99=%none -xarch=native64
-mt -xO3"
setenv LDFLAGS "-xarch=native64"
./configure --without-gcc

At build time I get these errors:
%  make
cc -c -native -xc99=%none -xarch=native64 -mt -xO3
-DNDEBUG -O -I. -I../Include  -DPy_BUILD_CORE -o
Modules/python.o ../Modules/python.c
"/usr/include/limits.h", line 290: invalid type combination
"/usr/include/limits.h", line 290: warning: useless
declaration
"/usr/include/limits.h", line 290: warning: typedef
declares no type name
"/usr/include/stdio.h", line 146: warning: useless
declaration
"/usr/include/stdio.h", line 146: warning: typedef
declares no type name
"/usr/include/sys/types.h", line 344: warning:
modification of typedef with "int" ignored
"/usr/include/sys/types.h", line 344: invalid type
combination
"/usr/include/sys/types.h", line 344: warning: useless
declaration
"/usr/include/sys/types.h", line 344: warning: typedef
declares no type name
"/usr/include/sys/types.h", line 484: invalid type
combination
"/usr/include/sys/types.h", line 484: warning: useless
declaration
"/usr/include/sys/types.h", line 484: warning: typedef
declares no type name
"../Include/pyport.h", line 612: #error: "LONG_BIT
definition appears wrong for platform (bad gcc/glibc
config?)."
cc: acomp failed for ../Modules/python.c
*** Error code 2
make: Fatal error: Command failed for target
`Modules/python.o'


----------------------------------------------------------------------

>Comment By: Martin v. Löwis (loewis)
Date: 2005-09-29 18:08

Message:
Logged In: YES 
user_id=21627

If I see a message

"/usr/include/limits.h", line 290: invalid type combination
"/usr/include/limits.h", line 290: warning: useless
declaration

then I'm certain that this is an OS bug. The system compiler
reports an error in the system headers! how could this not
be an OS bug?

What is line 290 of limits.h, anyway?

I don't know what -xc99=%none does, but it looks suspicious:
such a thing should not be necessary to do.

----------------------------------------------------------------------

Comment By: John Stone (jestone)
Date: 2005-09-29 17:46

Message:
Logged In: YES 
user_id=48806

It's not an OS bug, it seems certain to be a build system
bug in Python, 
please read on.

I did some more digging, and it appears that I can avoid
this problem by removing the "--without-gcc" flag to
configure.  This flag is somehow interfering with the build
process.  If I remove that flag and instead do the build
like this, I get much farther:
setenv CC "cc -xc99=%none -xarch=native64"
./configure
>From there, I run make and the build proceeds much much
farther successfully linking the python interpreter itself,
but ultimately fails just past that when using the
interpreter to do the rest:

ranlib libpython2.4.a
cc -xc99=%none -xarch=native64   -o python                 Modules/python.o                 libpython2.4.a -lresolv -lsocket -lnsl -lrt
-ldl   -lm  
case $MAKEFLAGS in *-s*)  CC='cc -xc99=%none -xarch=native64' LDSHARED='cc
-xc99=%none -xarch=native64 -G' OPT='-DNDEBUG -O' ./python
-E ./setup.py -q build;; *)  CC='cc -xc99=%none -xarch=native64' LDSHARED='cc
-xc99=%none -xarch=native64 -G' OPT='-DNDEBUG -O' ./python
-E ./setup.py build;; esac
running build
running build_ext
db.h: found (4, 2) in /usr/local/include
db lib: using (4, 2) db-4.2
INFO: Can't locate Tcl/Tk libs and/or headers
building 'struct' extension
creating build
creating build/temp.solaris-2.10-sun4u-2.4
Traceback (most recent call last):
  File "./setup.py", line 1184, in ?
    main()
  File "./setup.py", line 1178, in main
    scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
  File "/tmp/Python-2.4.2c1/Lib/distutils/core.py", line
149, in setup
    dist.run_commands()
  File "/tmp/Python-2.4.2c1/Lib/distutils/dist.py", line
946, in run_commands
    self.run_command(cmd)
  File "/tmp/Python-2.4.2c1/Lib/distutils/dist.py", line
966, in run_command
    cmd_obj.run()
  File "/tmp/Python-2.4.2c1/Lib/distutils/command/build.py",
line 112, in run
    self.run_command(cmd_name)
  File "/tmp/Python-2.4.2c1/Lib/distutils/cmd.py", line 333,
in run_command
    self.distribution.run_command(command)
  File "/tmp/Python-2.4.2c1/Lib/distutils/dist.py", line
966, in run_command
    cmd_obj.run()
  File
"/tmp/Python-2.4.2c1/Lib/distutils/command/build_ext.py",
line 279, in run
    self.build_extensions()
  File "./setup.py", line 178, in build_extensions
    build_ext.build_extensions(self)
  File
"/tmp/Python-2.4.2c1/Lib/distutils/command/build_ext.py",
line 405, in build_extensions
    self.build_extension(ext)
  File "./setup.py", line 183, in build_extension
    build_ext.build_extension(self, ext)
  File
"/tmp/Python-2.4.2c1/Lib/distutils/command/build_ext.py",
line 470, in build_extension
    depends=ext.depends)
  File "/tmp/Python-2.4.2c1/Lib/distutils/ccompiler.py",
line 699, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs,
pp_opts)
  File "/tmp/Python-2.4.2c1/Lib/distutils/unixccompiler.py",
line 112, in _compile
    self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
  File "/tmp/Python-2.4.2c1/Lib/distutils/ccompiler.py",
line 1040, in spawn
    spawn (cmd, dry_run=self.dry_run)
  File "/tmp/Python-2.4.2c1/Lib/distutils/spawn.py", line
37, in spawn
    _spawn_posix(cmd, search_path, dry_run=dry_run)
  File "/tmp/Python-2.4.2c1/Lib/distutils/spawn.py", line
122, in _spawn_posix
    log.info(string.join(cmd, ' '))
  File "/tmp/Python-2.4.2c1/Lib/distutils/log.py", line 33,
in info
    self._log(INFO, msg, args)
  File "/tmp/Python-2.4.2c1/Lib/distutils/log.py", line 23,
in _log
    print msg % args
TypeError: not enough arguments for format string
*** Error code 1





----------------------------------------------------------------------

Comment By: John Stone (jestone)
Date: 2005-09-29 17:33

Message:
Logged In: YES 
user_id=48806

It's not an OS bug, it seems certain to be a build system
bug in Python, 
please read on.

I did some more digging, and it appears that I can avoid
this problem by removing the "--without-gcc" flag to
configure.  This flag is somehow interfering with the build
process.  If I remove that flag and instead do the build
like this, I get much farther:
setenv CC "cc -xc99=%none -xarch=native64"
./configure
>From there, I run make and the build proceeds much much
farther successfully linking the python interpreter itself,
but ultimately fails just past that when using the
interpreter to do the rest:

ranlib libpython2.4.a
cc -xc99=%none -xarch=native64   -o python                 Modules/python.o                 libpython2.4.a -lresolv -lsocket -lnsl -lrt
-ldl   -lm  
case $MAKEFLAGS in *-s*)  CC='cc -xc99=%none -xarch=native64' LDSHARED='cc
-xc99=%none -xarch=native64 -G' OPT='-DNDEBUG -O' ./python
-E ./setup.py -q build;; *)  CC='cc -xc99=%none -xarch=native64' LDSHARED='cc
-xc99=%none -xarch=native64 -G' OPT='-DNDEBUG -O' ./python
-E ./setup.py build;; esac
running build
running build_ext
db.h: found (4, 2) in /usr/local/include
db lib: using (4, 2) db-4.2
INFO: Can't locate Tcl/Tk libs and/or headers
building 'struct' extension
creating build
creating build/temp.solaris-2.10-sun4u-2.4
Traceback (most recent call last):
  File "./setup.py", line 1184, in ?
    main()
  File "./setup.py", line 1178, in main
    scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
  File "/tmp/Python-2.4.2c1/Lib/distutils/core.py", line
149, in setup
    dist.run_commands()
  File "/tmp/Python-2.4.2c1/Lib/distutils/dist.py", line
946, in run_commands
    self.run_command(cmd)
  File "/tmp/Python-2.4.2c1/Lib/distutils/dist.py", line
966, in run_command
    cmd_obj.run()
  File "/tmp/Python-2.4.2c1/Lib/distutils/command/build.py",
line 112, in run
    self.run_command(cmd_name)
  File "/tmp/Python-2.4.2c1/Lib/distutils/cmd.py", line 333,
in run_command
    self.distribution.run_command(command)
  File "/tmp/Python-2.4.2c1/Lib/distutils/dist.py", line
966, in run_command
    cmd_obj.run()
  File
"/tmp/Python-2.4.2c1/Lib/distutils/command/build_ext.py",
line 279, in run
    self.build_extensions()
  File "./setup.py", line 178, in build_extensions
    build_ext.build_extensions(self)
  File
"/tmp/Python-2.4.2c1/Lib/distutils/command/build_ext.py",
line 405, in build_extensions
    self.build_extension(ext)
  File "./setup.py", line 183, in build_extension
    build_ext.build_extension(self, ext)
  File
"/tmp/Python-2.4.2c1/Lib/distutils/command/build_ext.py",
line 470, in build_extension
    depends=ext.depends)
  File "/tmp/Python-2.4.2c1/Lib/distutils/ccompiler.py",
line 699, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs,
pp_opts)
  File "/tmp/Python-2.4.2c1/Lib/distutils/unixccompiler.py",
line 112, in _compile
    self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
  File "/tmp/Python-2.4.2c1/Lib/distutils/ccompiler.py",
line 1040, in spawn
    spawn (cmd, dry_run=self.dry_run)
  File "/tmp/Python-2.4.2c1/Lib/distutils/spawn.py", line
37, in spawn
    _spawn_posix(cmd, search_path, dry_run=dry_run)
  File "/tmp/Python-2.4.2c1/Lib/distutils/spawn.py", line
122, in _spawn_posix
    log.info(string.join(cmd, ' '))
  File "/tmp/Python-2.4.2c1/Lib/distutils/log.py", line 33,
in info
    self._log(INFO, msg, args)
  File "/tmp/Python-2.4.2c1/Lib/distutils/log.py", line 23,
in _log
    print msg % args
TypeError: not enough arguments for format string
*** Error code 1





----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2005-09-29 08:21

Message:
Logged In: YES 
user_id=21627

These look like bugs in the operating system. Please report
them to Sun.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1306253&group_id=5470


More information about the Python-bugs-list mailing list