Opened 9 years ago

Closed 9 years ago

#34131 closed defect (fixed)

pypy doesn't build

Reported by: DanielO (Daniel O'Connor) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: lion Cc:
Port: pypy

Description

pypy fails to build on my MBP running Lion.

Attachments (1)

pypy-main.log (530.9 KB) - added by DanielO (Daniel O'Connor) 9 years ago.

Download all attachments as: .zip

Change History (7)

Changed 9 years ago by DanielO (Daniel O'Connor)

Attachment: pypy-main.log added

comment:1 Changed 9 years ago by ryandesign (Ryan Schmidt)

Owner: changed from macports-tickets@… to jmr@…
Port: pypy added

comment:2 Changed 9 years ago by mf2k (Frank Schima)

In the future, please fill in the Port field and Cc the port maintainer(s).

The error appears to be the following:

:info:build [translation:ERROR] 	Undefined symbols for architecture x86_64:
:info:build [translation:ERROR] 	  "_libintl_textdomain", referenced from:
:info:build [translation:ERROR] 	      _pypy_g_textdomain in module__locale_interp_locale.o
:info:build [translation:ERROR] 	      _pypy_g_textdomain__arrayPtr_star_1 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	  "_libintl_dgettext", referenced from:
:info:build [translation:ERROR] 	      _pypy_g_dgettext__arrayPtr_arrayPtr_star_2 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	      _pypy_g_dgettext__NoneConst_arrayPtr_star_2 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	  "_libintl_bindtextdomain", referenced from:
:info:build [translation:ERROR] 	      _pypy_g_bindtextdomain__arrayPtr_arrayPtr_star_2 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	      _pypy_g_bindtextdomain__arrayPtr_NoneConst_star_2 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	  "_libintl_gettext", referenced from:
:info:build [translation:ERROR] 	      _pypy_g_gettext__arrayPtr_star_1 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	  "_libintl_bind_textdomain_codeset", referenced from:
:info:build [translation:ERROR] 	      _pypy_g_bind_textdomain_codeset__arrayPtr_arrayPtr_star_ in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	      _pypy_g_bind_textdomain_codeset__arrayPtr_NoneConst_star in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	  "_libintl_dcgettext", referenced from:
:info:build [translation:ERROR] 	      _pypy_g_dcgettext__arrayPtr_arrayPtr_INT_star_3 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	      _pypy_g_dcgettext__NoneConst_arrayPtr_INT_star_3 in rpython_lltypesystem_rffi.o
:info:build [translation:ERROR] 	  "_libintl_setlocale", referenced from:
:info:build [translation:ERROR] 	      _pypy_g_setlocale_1 in rlib_rlocale.o
:info:build [translation:ERROR] 	ld: symbol(s) not found for architecture x86_64
:info:build [translation:ERROR] 	clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build [translation:ERROR] 	make: *** [pypy-c] Error 1

But it was not a complete log. Please clean the port and attach the complete log if it fails again.

comment:3 Changed 9 years ago by jmroot (Joshua Root)

The buildbot reproduced this, but there's nothing obvious in the log to suggest why it happens. It's fine on 10.6. I don't have a Lion machine with enough RAM to build pypy.

comment:4 Changed 9 years ago by jmroot (Joshua Root)

Keywords: lion added

comment:5 Changed 9 years ago by seanfarley (Sean Farley)

The issue is that libintl (port:gettext) is not found / linked. Running the linking commands by hand while adding the -lintl flag fixes the undefined symbols. Some googling suggests that this is the issue:

http://stackoverflow.com/questions/5287050/specifying-installed-native-library-paths-during-pypy-translate

and, indeed, changing the following:

-build.env PYPY_USESSION_DIR=${workpath}
+build.env PYPY_USESSION_DIR=${workpath} PYPY_LOCALBASE=${prefix}

fixes the build for me.

comment:6 Changed 9 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.