Opened 11 years ago

Closed 11 years ago

#21372 closed defect (fixed)

qscintilla port fails to handle python25 dependency (snow leopard)

Reported by: tommccullough-tenica Owned by: adfernandes (Andrew Fernandes)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: petr@…, ryandesign (Ryan Schmidt)
Port: qscintilla

Description

Tried to install the qscintilla port, without python25 installed. qscintilla build succeeds and activates, but building of the python wrappers fails, with the message:

DEBUG: Executing proc-post-org.macports.activate-activate-0
Unable to import sipconfig.  Please make sure SIP is installed.
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.
Error: Target org.macports.activate returned: shell command "cd /opt/local/var/macports/build/_opt_local_svnports_dports_devel_qscintilla/work/QScintilla-gpl-2.4/Python;python configure.py;make;make install" returned error 2
Command output: Unable to import sipconfig.  Please make sure SIP is installed.
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.

DEBUG: Backtrace: shell command "cd /opt/local/var/macports/build/_opt_local_svnports_dports_devel_qscintilla/work/QScintilla-gpl-2.4/Python;python configure.py;make;make install" returned error 2
Command output: Unable to import sipconfig.  Please make sure SIP is installed.
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.

    while executing
"$post $targetname"
Warning: the following items did not execute (for qscintilla): org.macports.activate
Error: Status 1 encountered during processing.

Immediately prior to building qscintilla, it gives this message when calculating dependencies:

DEBUG: Searching for dependency: python25
DEBUG: Didn't find receipt, going to depspec regex for: python25
DEBUG: Found Dependency: path: /opt/local/bin filename: python regex: ^python$

Full debug output attached.

This failure is a good thing for me anyways, because the python25 port cannot really build on snow leopard, and apparently never will (?). See ticket #18449

I did check the port for variants before attempting install, and there is only a universal port - I don't know why I thought it would build the python wrappers correctly (feeble?)

Can this problem be resolved by adding variants py25/py26? I don't know what the hell I'm doing, or I'd happily contribute. Thank you guys for all your hard work, I really appreciate it.

Attachments (4)

qscintilla_build.log.gz (9.8 KB) - added by tommccullough-tenica 11 years ago.
Full debug output
qscintilla.Portfile.diff (835 bytes) - added by ghosthound 11 years ago.
Portfile.diff (4.2 KB) - added by adfernandes (Andrew Fernandes) 11 years ago.
Portfile (1.6 KB) - added by adfernandes (Andrew Fernandes) 11 years ago.

Download all attachments as: .zip

Change History (14)

Changed 11 years ago by tommccullough-tenica

Attachment: qscintilla_build.log.gz added

Full debug output

comment:1 Changed 11 years ago by tobypeterson

Port: qscintilla added
Version: 1.8.0

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

Owner: changed from macports-tickets@… to ricci@…

comment:3 Changed 11 years ago by petr@…

Cc: petr@… added

Cc Me!

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

Cc: ryandesign@… added

I can confirm this error; please fix. Furthermore, why is anything being compiled and installed in post-activate? Now I have the port installed and active, yet it ended with an error so apparently it's not complete? This is terribly confusing and not MacPorts-like.

Changed 11 years ago by ghosthound

Attachment: qscintilla.Portfile.diff added

comment:5 Changed 11 years ago by ghosthound

Owner: changed from ricci@… to macports-tickets@…

Please try the attached patch (qscintilla.Portfile.diff) to the Portfile. It changes the dep from py25 to py26 and moves the python bindings build to inside the post-build chunk.

comment:6 Changed 11 years ago by adfernandes (Andrew Fernandes)

Owner: changed from macports-tickets@… to adfernandes@…

Hi, ricci - I'm attempting to update this port right now. Your patch is in the right direction, but only sort-of; the python bits need py-qt and py-sip and all that as well... there is also a qt-designer plugin. I'm guessing that these should be variants.

Give me a couple days and I should have something rolled for testing.

comment:7 Changed 11 years ago by adfernandes (Andrew Fernandes)

Okay - I've almost got it, except for what is either (a) a MacPorts bug or (b) me doing something stupid. Help would be appreciated. :-)

The good news: the qscintilla port now builds and installs cleanly, further installing the QtDesigner component. However, I've moved the python component out to a separate port. Why? I'm creating a port for the eric4 python editor. This editor requires the python qscintilla bindings. If I build python bindings as a variant of qscintilla, there is no way for eric4 to ensure that it has the bindings, since dependencies don't enforce variants.

The weird part is in the new, attached py26-qscintilla port that I've attached. For some reason, it absolutely and completely insists that it depends on python25... but only when configuring or building. I can't figure it out... port -dv extract and port -dv patch both work just fine. But if I use port -dv configure it then somehow decides that python25 is a required dependency. Building, destrooting, and installing with port -dvn configure/build/destroot/install work just fine.

Is the port written in a weird way that I'm screwing up?

Also - testing would be appreciated before I commit. Thanks, all!

Changed 11 years ago by adfernandes (Andrew Fernandes)

Attachment: Portfile.diff added

Changed 11 years ago by adfernandes (Andrew Fernandes)

Attachment: Portfile added

comment:8 in reply to:  7 ; Changed 11 years ago by mf2k (Frank Schima)

Replying to adfernandes@…:

The weird part is in the new, attached py26-qscintilla port that I've attached. For some reason, it absolutely and completely insists that it depends on python25... but only when configuring or building. I can't figure it out... port -dv extract and port -dv patch both work just fine. But if I use port -dv configure it then somehow decides that python25 is a required dependency. Building, destrooting, and installing with port -dvn configure/build/destroot/install work just fine.

Is the port written in a weird way that I'm screwing up?

The problem is that py26-qscintilla depends on qscintilla which depends on python25.

comment:9 in reply to:  8 Changed 11 years ago by adfernandes (Andrew Fernandes)

The problem is that py26-qscintilla depends on qscintilla which depends on python25.

What? Oh, crappers. The real port depends on python25, but I'm used to staring at my svn checkout copy of the ports tree (where I'm working).

Okay. Thanks for that ( as I hide my head in embarrassment).

I'll still wait for a few people to test before committing.

comment:10 Changed 11 years ago by adfernandes (Andrew Fernandes)

Resolution: fixed
Status: newclosed

Committed in r65031.

Note: See TracTickets for help on using tickets.