python / cpython

The Python programming language
https://www.python.org
Other
63.49k stars 30.41k forks source link

LINKCC incorrectly set #36755

Closed d2343f72-a427-4277-8b16-894a356c8c7f closed 21 years ago

d2343f72-a427-4277-8b16-894a356c8c7f commented 22 years ago
BPO 569668
Nosy @akuchling

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields: ```python assignee = 'https://github.com/akuchling' closed_at = created_at = labels = ['build'] title = 'LINKCC incorrectly set' updated_at = user = 'https://bugs.python.org/cardou' ``` bugs.python.org fields: ```python activity = actor = 'akuchling' assignee = 'akuchling' closed = True closed_date = None closer = None components = ['Build'] creation = creator = 'cardou' dependencies = [] files = [] hgrepos = [] issue_num = 569668 keywords = [] message_count = 3.0 messages = ['11213', '11214', '11215'] nosy_count = 3.0 nosy_names = ['akuchling', 'nnorwitz', 'cardou'] pr_nums = [] priority = 'normal' resolution = 'fixed' stage = None status = 'closed' superseder = None type = None url = 'https://bugs.python.org/issue569668' versions = ['Python 2.2'] ```

d2343f72-a427-4277-8b16-894a356c8c7f commented 22 years ago

I was building Python 2.2.1 on Debian/GNU Linux 3.0 (testing pre-release) with gcc and g++ of version 3.0.4, using --with-cxx=g++ configure option. Then linking of the "python" executable fails due to an unresolved symbol (__gxx_personality_v0) in Modules/ccpython.o, because linking is still done with gcc: LINKCC is set to gcc ($CC) by configure, rather than to g++ ($CXX).

The configure script attempts to determine the value of LINKCC and sets it to $CC if the latter can successfully link the simplest program "int main(){return 0;}" which was compiled with $CXX. In this case, linking apparently succeeds, setting LINKCC to $CC. Yet linking of Modules/ccpython.o with $CC fails, probably because Modules/ccpython.c is slightly more complex than the above configuration test, hence an extra unresolved symbol generated by g++.

I am not sure how the correct value of LINKCC can be determined at config time without unnecessarily using $CXX all the time when it is available. Maybe the makefile should be modified so it always starts from $CC and falls through to $CXX if the former fails?

Sincerely, Dr. Leonid Timochouk Computing Laboratory University of Kent at Canterbury England

d21744ff-f396-4c71-955e-7dbd2e886779 commented 22 years ago

Logged In: YES user_id=33168

I believe there were some changes made which should fix this problem. Can you try the latest CVS for the 2.2 branch or 2.3?

cvs update -r release22-maint will get the 2.2.1+ version (what will become 2.2.2).

Thanks.

akuchling commented 21 years ago

Logged In: YES user_id=11375

As Neal suggested, this problem seems to be fixed in Python 2.2.2 and 2.3CVS. Marking as closed.