This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: init_types
Type: Stage:
Components: Build Versions: Python 2.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: kristjan.jonsson Nosy List: bvukov, coatimundi, georg.brandl, kristjan.jonsson, loewis
Priority: high Keywords:

Created on 2006-09-30 09:34 by bvukov, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (10)
msg30083 - (view) Author: Bosko Vukov (bvukov) Date: 2006-09-30 09:34
I tried to build the final version of Python 2.5, and
found that function init_types in file Python-ast.c is
created as
int init_types(void) ....
but in file config.c it's declared as
extern void init_types(void);
Visual Studio 2005 didn't want to build the project
until I changed the config.c to be the same...
extern int  init_types(void);
Nothing big ;)
Regards, Bosko
msg30084 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2006-09-30 11:27
Logged In: YES 
user_id=849994

The problem is another one: The config.c init_types function
belongs to the _types module, while the Python-ast.c
init_types is an internal function. They shouldn't clash.
msg30085 - (view) Author: Bosko Vukov (bvukov) Date: 2006-09-30 17:50
Logged In: YES 
user_id=1292849

I opened solution file from folder PCbuild8, and inside
project file pythoncore.vcproj there is no reference to
_typesmodule.c. It exists in pythoncore.vcproj in the
PBbuild folder ( for older version's ). I added the missing
_typesmodule.c inside, and returned back the changes I made,
and aft er that linker reported 'Python-ast.obj : error
LNK2005: _init_types already defined in _typesmodule.obj'
msg30086 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2006-10-02 14:00
Logged In: YES 
user_id=21627

Notice that the PCbuild8 directory isn't really supported...

In any case, the bug is that PCbuild8 does not have the
reference to _typesmodule, not that init_types in
Python-ast.c is static.

If you revert your change to Python-ast.c, and change
pythoncore.vcproj, it should build fine.

This is already fixed in r51751 in the trunk; not sure
whether backporting it is necessary.
msg30087 - (view) Author: Coatimundi (coatimundi) Date: 2006-10-02 18:28
Logged In: YES 
user_id=1611513

I am expereincing the problem described by the original
poster.  I undertand that MSVC8 is not officially supported,
and I'm trying anyway.

I downloaded the 2.5.0 final tarball and began working in
the PCbuild8 directory.

Firts off, I found that I had to build two projects before
pythoncore would build: 

  make_versioninfo
  make_buildinfo

When I tried to build pythoncore, I got the linker error
saying that _init_types could not be found.  So I added
_typesmodule.c to the pythoncore project.  Finally,
pythoncore built cleanly.

Next up, I wanted to build pythoncore_pgo.  So I added 
_typesmodule to this project also.  But try as I might,
every attempt to build pythoncore_pgo produces the link
error on _init_types.  (I also did a 'clean' on pythoncore
just to be safe.)

I do not understand this.  Unlike the original poster, I
have not modified any source.  It seems like the definition
of pyMODINIT_FUNC as extern "C" void might be involved, but
I agree with gbrandl that the static int in Python-ast.c is
not the issue, because that is a different scope.  

So the linkage problem with pythoncore_pgo remains a mystery
to me.  I hope someone has more clues than me.

msg30088 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2006-10-02 19:08
Logged In: YES 
user_id=21627

I think you should avoid building pythoncore_pgo; it's of no
use. 

Or else, study all documentation you can find on Microsoft's
profile-guided-optimization for a few days, read all web
logs about the bugs in this software, and perhaps you can
succeed in building it, by deleting the right files in the
right order.
msg30089 - (view) Author: Coatimundi (coatimundi) Date: 2006-10-02 19:22
Logged In: YES 
user_id=1611513

Thanks, loewis.  I take your advice.  

I see that things have changed in SVN anyway.  I like the
new approach of using Visual STudio's configuration
management.  

When I (try to) build PGIRelease to instrument the python
dll, I get a curious error:

1>Compiling...
1>zlibmodule.c
1>Compiling resources...
1>Linking...
1>   Creating library
Win32\PGIRelease\pythoncore/python26.lib and object
Win32\PGIRelease\pythoncore/python26.exp
1>Generating code
1>c:\Documents and Settings\kferrio\My
Documents\Dev\Python-2.5\Modules\zipimport.c : fatal error
C1350: error loading dll 'pgodb80.dll': dll not found
1>LINK : fatal error LNK1257: code generation failed
1>Build log was saved at "file://c:\Documents and
Settings\kferrio\My
Documents\Dev\Python-2.5\PCbuild8\Win32\PGIRelease\pythoncore\BuildLog.htm"
1>pythoncore - 2 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0
skipped ==========

I definitely do not understand this -- yet.  Meanwhile, any
clues would be welcome.

Thanks.
msg30090 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2006-10-03 12:11
Logged In: YES 
user_id=21627

Kristijan, can you please backport your changes to the 2.5
trunk and then close this report?
msg30091 - (view) Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) Date: 2006-10-05 09:17
Logged In: YES 
user_id=1262199

the pcbuild8.vcproj in the Python trunk has this fixed.  I
will backport that tho 2.5 shortly.
msg30092 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2006-10-08 07:14
Logged In: YES 
user_id=849994

This is now fixed by rev. 52219.
History
Date User Action Args
2022-04-11 14:56:20adminsetgithub: 44059
2006-09-30 09:34:24bvukovcreate