Opened 11 years ago

Closed 4 years ago

Last modified 4 years ago

#42051 closed defect (fixed)

llvm-3.3: found python 2.3.5 (/usr/bin/python); required >= 2.5

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: tiger Cc: cooljeanius (Eric Gallager), larryv (Lawrence Velázquez), Serge3leo (Serguei E. Leontiev), kencu (Ken)
Port: llvm-3.3

Description

llvm-3.3 failed to configure on Tiger i386:

checking for python... /usr/bin/python
checking for python >= 2.5... not found
configure: error: found python 2.3.5 (/usr/bin/python); required >= 2.5
See `config.log' for more details.

Attachments (1)

python.patch (2.5 KB) - added by jeremyhu (Jeremy Huddleston Sequoia) 11 years ago.
possible patch

Download all attachments as: .zip

Change History (22)

Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Attachment: python.patch added

possible patch

comment:1 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Damn. I don't want to add more dependencies to llvm, but... how does this work for you?

comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

I haven't tried it yet, but to avoid adding more variants and dependencies for everyone, you could do what I did in glib2 in r87671: just add a python27 dependency for Tiger.

comment:3 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:4 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Owner: changed from jeremyhu@… to ryandesign@…

I don't have a Tiger box and don't have the cycles to invest in that old OS. If you want to make a change like you did for glib2 for 3.4 and earlier, that'd be fine. Note that 3.5 and later require Snow Leopard or later due to the dependence on libc++

comment:5 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: larryv@… added

Cc Me!

comment:6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

A similar problem occurs now for llvm-3.6 on Snow Leopard.

comment:7 in reply to:  6 ; Changed 10 years ago by larryv (Lawrence Velázquez)

#46321. I might just cut out the configure check, since LLVM doesn’t need Python.

comment:8 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

llvm-3.6 seems to build on Snow Leopard now, but now llvm-3.7 has the same problem.

comment:9 in reply to:  8 Changed 10 years ago by larryv (Lawrence Velázquez)

Jeremy stopped applying the relevant patch in [131780/trunk/dports/lang/llvm-3.7]. It looks like an accident to me, so I’ve restored it in r133040.

comment:10 in reply to:  7 ; Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to larryv@…:

I might just cut out the configure check, since LLVM doesn’t need Python.

Are you sure? #32575 says llvm doesn't build if python 3 is selected. That tells me that it does use python while building (specifically, the utils/llvm-build/llvm-build script), and that it only works with specific versions of python.

Still, the python version check removal patch is already in the llvm-3.4, llvm-3.5, llvm-3.6, and llvm-3.7 ports, so perhaps it's ok to add it to llvm-3.3 as well. I'll try it on Tiger first and see if that fixes the problem there.

comment:11 in reply to:  10 Changed 9 years ago by larryv (Lawrence Velázquez)

What versions of Python are available on Tiger? Anything other than 2.3?

comment:12 Changed 9 years ago by asiganael@…

This bug is stopping me from installing midori on Tiger because it has llvm-3.3 as requisite (honestly, I don't know if midori will work on Tiger at all once built, but just got this bug when most of the requisites had been built, after more than a day of build time, and found no way to workaround it... I see the discussion considered adding variants, by I don't see any llvm-3.3 variant that could help go past this error).

Also, I don't see any midori variant that would let me avoid having llvm-3.3 as requisite...

Do you know of any workaround that could help me?

Thanks!

comment:13 Changed 9 years ago by asiganael@…

I succeeded in running ./configure manually. I just needed to add --with-python=/opt/local/bin/python2.7 to the configure execution, as well as previously doing export LDFLAGS=-L/opt/local/lib/ because otherwise configure won't find -lffi After succeeding in a manual configure run, I thought that issuing a 'sudo port -v install llvm-3.3' would take the configure results (which should be cached) and avoid the error.

Unfortunately, when 'port' runs configure, it runs from scratch (!) and fails again in not finding a suitable python version.

Isn't there any environment variable where I could tell 'port' "please be so kind of adding -with-python=/opt/local/bin/python2.7" when you run configure?

Or at least any way of preventing port from running configure from scratch?

Thanks!

comment:14 in reply to:  13 ; Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to asiganael@…:

Isn't there any environment variable where I could tell 'port' "please be so kind of adding -with-python=/opt/local/bin/python2.7" when you run configure?

There is intentionally not a way to do that. Providing a supported way for users to override the Portfile at the command line opens the door for users to do things they should not do, which will cause problems, which will cause them to ask us for help.

But you can edit the Portfile by running:

sudo port edit llvm-3.3

and add a line like:

configure.args-append --with-python=${prefix}/bin/python2.7

We should fix the portfile to do that, and of course add a dependency on port:python27.

comment:15 in reply to:  14 Changed 9 years ago by asiganael@…

Replying to ryandesign@…:

Replying to asiganael@…:

Isn't there any environment variable where I could tell 'port' "please be so kind of adding -with-python=/opt/local/bin/python2.7" when you run configure?

There is intentionally not a way to do that. Providing a supported way for users to override the Portfile at the command line opens the door for users to do things they should not do, which will cause problems, which will cause them to ask us for help.

But you can edit the Portfile by running [...]

Thanks a lot for the clarification. I didn't know it was so easy to modify a Portfile. It worked. Well, I later faced bug https://trac.macports.org/ticket/39849 but was able to easily fix it with the edit suggested in the ticket discussion. Anyway, the purpose was installing midori, and after a number of packages installed, I now hit another problem with webkit-gtk-2.0 which seems to be unreported (an Internet search got no results about the error I'm getting). I'm going to open a ticket right now, in the webkit-gtk-2.0 port. Thanks!

Last edited 9 years ago by asiganael@… (previous) (diff)

comment:16 Changed 7 years ago by Serge3leo (Serguei E. Leontiev)

Cc: Serge3leo added

comment:17 Changed 5 years ago by kencu (Ken)

Cc: kencu added

comment:18 Changed 4 years ago by programmingkidx

This is still a problem. I have Mac OS 10.4.11 (x86) with Python 2.3.

Last edited 4 years ago by programmingkidx (previous) (diff)

comment:19 Changed 4 years ago by kencu (Ken)

I fixed that in my TigerPorts repo about six months ago <https://github.com/kencu/TigerPorts/tree/master/lang>. I know you've seen that repo.

I'm still deciding if the main MacPorts repo administrators will accept these very Tiger-specific fixes into MacPorts. I guess they would -- I'm a maintainer of llvm now, so if I do it carefully enough, I can likely sell it.

comment:20 Changed 4 years ago by kencu (Ken)

Resolution: fixed
Status: newclosed

In 5747168bf3803c322e279791ba4833a402a5dd80/macports-ports (master):

llvm-3.3: use a newer python on Tiger

closes: #42051

comment:21 Changed 4 years ago by kencu (Ken)

There you go -- thanks for the reminder.

Note: See TracTickets for help on using tickets.