Opened 9 years ago

Closed 4 years ago

#47108 closed defect (fixed)

GQRX saying it can't install gnu radio because of a py27-scipy dependency conflict- but gnuradio is already installed.

Reported by: patrickmccanna@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: iibov@…
Port: GQRX

Description (last modified by ryandesign (Ryan Carsten Schmidt))

sudo port install gqrx
--->  Computing dependencies for gnuradio
Error: Cannot install gnuradio for the arch(s) 'i386 x86_64' because
Error: its dependency py27-scipy does not build for the required arch(s) by default
Error: and does not have a universal variant.

port installed active reports the following (snipped for brevity):

gnuradio @3.7.6.1_1+docs+grc+jack+orc+portaudio+qtgui+sdl+swig+uhd+wavelet+wxgui (active)
py27-scipy @0.15.1_0+gfortran (active)

Not sure why it wants to install gnuradio again.

uname -a: 14.1.0 Darwin Kernel Version 14.1.0: Mon Dec 22 23:10:38 PST 2014; root:xnu-2782.10.72~2/RELEASE_X86_64 x86_64

Attachments (12)

portInstalled.txt (17.9 KB) - added by patrickmccanna@… 9 years ago.
port installed output
gnuradioConfig.txt (34.3 KB) - added by patrickmccanna@… 9 years ago.
main.log (23.0 KB) - added by iibov@… 8 years ago.
py27-scipy-log
main-gcc47.log (250.3 KB) - added by iibov@… 8 years ago.
py27-scipy-log-2
main-131492.log (197.0 KB) - added by iibov@… 8 years ago.
py27-scipy-log-0.15.0
main-py-scipy0.7.1.log (22.2 KB) - added by iibov@… 8 years ago.
scipy0701
main-py-scipy0.15.0.log (10.3 KB) - added by iibov@… 8 years ago.
scipy0.15.0
main-py-scipy0.13.log (24.2 KB) - added by iibov@… 8 years ago.
main-py-scipy0.13
gqrx-main-8mar.log (698.8 KB) - added by iibov@… 8 years ago.
gnuradio-main-8mar.log (15.3 KB) - added by iibov@… 8 years ago.
doxygen-main-8mar.log (15.3 KB) - added by iibov@… 8 years ago.
installed-8mar.txt (11.9 KB) - added by iibov@… 8 years ago.

Download all attachments as: .zip

Change History (36)

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

Description: modified (diff)
Owner: changed from macports-tickets@… to michaelld@…

MacPorts believes something in the dependency chain of gqrx requires gnuradio to be installed universal. It's not installed universal on your system, so MacPorts is trying to rebuild it universal. To do that, it has to first rebuild gnuradio's dependencies universal. One of gnuradio's dependencies is py27-scipy, and it does not have a universal variant (#19397), so it cannot be built universal, so the operation fails.

I don't yet know why MacPorts believes the universal variant is required here. Typically that happens on 64-bit systems when one of the ports declares that it requires a 32-bit build using the line supported_archs i386 ppc but I don't see that line in gqrx or any of the ports it depends on.

comment:3 Changed 9 years ago by michaelld (Michael Dickens)

Can you attach the whole output of "port installed"?

Also, can you try doing (watch the use of backquotes "`", -not- regular single quotes "'"):

sudo port clean `/bin/ls /opt/local/var/macports/build/* | grep -v /opt/local`
sudo port selfupdate

and then try installing gnuradio again. If that fails in a similar fashion then we'll try other things.

Changed 9 years ago by patrickmccanna@…

Attachment: portInstalled.txt added

port installed output

comment:4 Changed 9 years ago by patrickmccanna@…

woof. Installing gnuradio again is causing trouble.

--->  Extracting gnuradio
--->  Applying patches to gnuradio
--->  Configuring gnuradio
Error: org.macports.configure for port gnuradio returned: configure failure: command execution failed
Please see the log file for port gnuradio for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_gnuradio/gnuradio/main.log
Error: Unable to upgrade port: 1
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

I'll attach main.log.

The attachment seems to suggest that NUMPY is missing- but if i open python and import numpy, I don't get any errors.

Changed 9 years ago by patrickmccanna@…

Attachment: gnuradioConfig.txt added

comment:5 Changed 9 years ago by michaelld (Michael Dickens)

Try this:

sudo port activate py27-numpy @1.9.1_2+gfortran
sudo port clean gnuradio
sudo port install gnuradio

comment:6 Changed 9 years ago by patrickmccanna@…

Error: Cannot install gnuradio for the arch(s) 'i386 x86_64' because
Error: its dependency py27-scipy is only installed for the arch 'x86_64'
Error: and does not have a universal variant.
Error: Unable to execute port: architecture mismatch

I guess this brings us back to Ryan's observation about the absent universal variant of py27-scipy.

comment:7 Changed 9 years ago by michaelld (Michael Dickens)

OK; how about this:

  1. make sure that py27-numpy and py27-scipy are installed -without- +universal;
  2. Do:
    sudo port clean gnuradio
    sudo port install gnuradio -universal
    
Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:8 Changed 9 years ago by michaelld (Michael Dickens)

Any word on this issue? Has it been resolved one way or the other?

Changed 8 years ago by iibov@…

Attachment: main.log added

py27-scipy-log

comment:9 Changed 8 years ago by iibov@…

Hi Michael,

I'm also trying to install gqrx (OS X 10.5.8/PowerPC) and py27-scipy is failing. I did try the suggested above (sudo port clean gnuradio/sudo port install gnuradio -universal), however that didn't help. I've attached the log to the ticket.

Let me know if anything else might be helpful.

comment:10 Changed 8 years ago by iibov@…

Cc: iibov@… added

Cc Me!

comment:11 in reply to:  9 Changed 8 years ago by michaelld (Michael Dickens)

Replying to iibov@…:

I'm also trying to install gqrx (OS X 10.5.8/PowerPC) and py27-scipy is failing. I did try the suggested above (sudo port clean gnuradio/sudo port install gnuradio -universal), however that didn't help. I've attached the log to the ticket. Let me know if anything else might be helpful.

OK; well, first off PowerPC is not longer officially supported. Nor is 10.5.8. You might be able to get GNU Radio installed and working; maybe not too; no promises!

The issue here is that py27-scipy +gfortran uses the new gcc5 for Fortran, and this does not seem to recognize that the host computer is a PowerPC; it is trying to build as x86_64 for some reason. Here's my recommendation:

sudo port clean py27-scipy
sudo port install py27-scipy +gcc47

Try using an older compiler that might provided better support for PowerPC. I've no idea if the above will work, but it's worth a try. It might be that the new SciPy just does not work with PowerPC systems; they are pretty old, after all -- nothing personal, just being real here.

comment:12 Changed 8 years ago by iibov@…

Yeah, it's an old machine but I wanted to see if I can make use of it for my FCD+ and since this is the first time I'm using MacPorts I wasn't sure if gqrx is supported for it.

So anyway, I did try your suggestion (port clean/port install py27-scipy +gcc47) and here is the outcome after several hours of waiting:

--->  Building py27-scipy
Error: org.macports.build for port py27-scipy returned: command execution failed
Please see the log file for port py27-scipy for details:

New log attached.

Changed 8 years ago by iibov@…

Attachment: main-gcc47.log added

py27-scipy-log-2

comment:13 Changed 8 years ago by michaelld (Michael Dickens)

Same result: trying to build as x86_64. My only thoughts for advice is for you to try an older version of SciPy. There's a guide for how to do this here: https://trac.macports.org/wiki/howto/InstallingOlderPort . I'd tend to believe that going back to 0.15.1 first & testing it; if it fails, try 0.14.1; then 0.13.3. I'd guess that if you get far enough back one of those will work. It'll be quite a bit of work on your end, but I think those older versions will still work with GNU Radio and Gqrx.

comment:14 Changed 8 years ago by iibov@…

Alright Michael, I did the following:

  1. sudo port clean py27-scipy
  2. svn checkout -r 131492 https://svn.macports.org/repository/macports/trunk/dports/python/py-scipy/
  3. cd py-scipy
  4. sudo port install
    --->  Computing dependencies for py-scipy
    --->  Dependencies to be installed: py27-scipy
    --->  Fetching archive for py27-scipy
    --->  Attempting to fetch py27-scipy-0.16.0_1+gfortran.darwin_9.ppc.tbz2 from http://nue.de.packages.macports.org/macports/packages/py27-scipy
    --->  Attempting to fetch py27-scipy-0.16.0_1+gfortran.darwin_9.ppc.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/py27-scipy
    --->  Attempting to fetch py27-scipy-0.16.0_1+gfortran.darwin_9.ppc.tbz2 from http://packages.macports.org/py27-scipy
    --->  Fetching distfiles for py27-scipy
    --->  Verifying checksums for py27-scipy
    --->  Extracting py27-scipy
    --->  Configuring py27-scipy
    --->  Building py27-scipy
    Error: org.macports.build for port py27-scipy returned: command execution failed
    Error: Failed to install py27-scipy
    Please see the log file for port py27-scipy for details:
        /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-scipy/py27-scipy/main.log
    Error: The following dependencies were not installed: py27-scipy
    To report a bug, follow the instructions in the guide:
        http://guide.macports.org/#project.tickets
    Error: Processing of port py-scipy failed
    

I noticed it was trying to fetch 0.16.0... Am I doing something wrong or is it really trying to install 0.16.0 even though I've specified 0.15.0?

Last edited 8 years ago by iibov@… (previous) (diff)

Changed 8 years ago by iibov@…

Attachment: main-131492.log added

py27-scipy-log-0.15.0

comment:15 Changed 8 years ago by michaelld (Michael Dickens)

You can find the revision log for this Portfile at https://trac.macports.org/log/trunk/dports/python/py-scipy/Portfile .

I think that when you do the "sudo port install" without a portname for py*-scipy, you'll get "py-scipy" which then becomes py27-scipy. But, the py27-scipy will be the one from within MacPorts, not the one from the current Portfile. The only way I know of to do what you want is to replace the Portfile for py-scipy with the one you want to use. In this manner you'll always get the correct version of py27-scipy. As you found out, you got 0.16.0, not 0.15.0. You can test this via "port info" on the local Portfile (with or without a name).

Keep hacking!

comment:16 Changed 8 years ago by iibov@…

Yeah, I see when I cat /py-scipy/Portfile
[...]
name py-scipy
version 0.15.0
platforms darwin
[...]

I wanted to test whether anything else needs to be specified after sudo port install once in the local directory where Portfile is and I did the following:

$ sudo port uninstall airspy
Password:
--->  Deactivating airspy @20151008_0
--->  Cleaning airspy
--->  Uninstalling airspy @20151008_0
--->  Cleaning airspy

$ svn checkout -r 134151 https://svn.macports.org/repository/macports/trunk/dports/science/airspy
A    airspy/files
A    airspy/files/patch-disable-std-gnu90.diff
A    airspy/Portfile
Checked out revision 134151.

$ cd airspy/

$ sudo port install
--->  Computing dependencies for airspy
--->  Fetching archive for airspy
--->  Attempting to fetch airspy-20150318_0.darwin_9.ppc.tbz2 from http://nue.de.packages.macports.org/macports/packages/airspy
--->  Attempting to fetch airspy-20150318_0.darwin_9.ppc.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/airspy
--->  Attempting to fetch airspy-20150318_0.darwin_9.ppc.tbz2 from http://packages.macports.org/airspy
--->  Fetching distfiles for airspy
--->  Attempting to fetch host-49df6bfb99291388aa4b834b572b14d1b2746ec0.tar.gz from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/airspy
--->  Verifying checksums for airspy
--->  Extracting airspy
--->  Applying patches to airspy
--->  Configuring airspy
--->  Building airspy
--->  Staging airspy into destroot
--->  Installing airspy @20150318_0
--->  Activating airspy @20150318_0
--->  Cleaning airspy
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.

$ cat Portfile
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 134151 2015-03-19 13:25:50Z michaelld@macports.org $

PortSystem          1.0
PortGroup           cmake 1.0
PortGroup           github 1.0

name                airspy

github.setup        airspy host 49df6bfb99291388aa4b834b572b14d1b2746ec0
version             20150318

$ port installed
The following ports are currently installed:
  airspy @20150318_0 (active)

comment:17 Changed 8 years ago by michaelld (Michael Dickens)

Right. Installing prior versions only works with the default port. Since airspy is the only port provided, it is the default & hence works with this way of doing things. For Python ports, py-FOO is the default port, but it doesn't actually exist; it just redirects to some pyXY-FOO port, typically py27 still I think. And, that port will NOT come from the current Portfile unless you're in the main dports repo. Thus, the best way to do what you want is to just overwrite the current py-scipy Portfile with the older one & give it a try. Worst case is it won't work and you can always re-sync to the current Portfile.

comment:18 Changed 8 years ago by iibov@…

I started by trying to install a really old version of py-scipy. What can be seen from the log is that there was no need to replace the Portfile (presumably because it's not a py27 version?!), it worked from issuing the install command from the current directory. Anyway, installing 0.7.0 didn't work: http://pastebin.com/s8JgVgrv

Later on I tried my luck with 0.15.0 and this time I did indeed replace Portfile at /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/python/py-scipy/ That didn't work either: http://pastebin.com/zGc0L9xJ

Last thing I attempted was installing 0.13.3 and the failure was identical to 0.15.0

Is there anything else I can possibly do?!

Changed 8 years ago by iibov@…

Attachment: main-py-scipy0.7.1.log added

scipy0701

Changed 8 years ago by iibov@…

Attachment: main-py-scipy0.15.0.log added

scipy0.15.0

comment:19 Changed 8 years ago by michaelld (Michael Dickens)

OK; my bad. You need to replace the whole directory, not just the Portfile; so, do the svn co then cd into that directory and move all of those files into place; clean py27-scipy and try again. I would think that just going back to 0.14 or 0.13 would be good enough while still providing the modern capabilities needed by GNU Radio (etc).

comment:20 Changed 8 years ago by iibov@…

The instructions at http://www.scipy.org/install.html are

sudo port install py27-numpy py27-scipy py27-matplotlib py27-ipython +notebook py27-pandas py27-sympy py27-nose

I installed everything except py27-pandas since one of its dependencies is py27-scipy itself. So far it seems myriad of other ports work but not py27-scipy :/

$ port installed
The following ports are currently installed:
[...]
  py27-numpy @1.10.0_0+gfortran (active)
  py27-matplotlib @1.4.3_0+cairo+tkinter (active)  
  py27-ipython @4.0.0_0+notebook (active)  
  py27-sympy @0.7.6.1_0 (active)
  py27-nose @1.3.1_1 (active)
[...]

comment:21 in reply to:  19 Changed 8 years ago by iibov@…

Replying to michaelld@…:

OK; my bad. You need to replace the whole directory, not just the Portfile; so, do the svn co then cd into that directory and move all of those files into place; clean py27-scipy and try again. I would think that just going back to 0.14 or 0.13 would be good enough while still providing the modern capabilities needed by GNU Radio (etc).

Hi,

I tried as instructed but again it didn't work.

Changed 8 years ago by iibov@…

Attachment: main-py-scipy0.13.log added

main-py-scipy0.13

comment:22 Changed 8 years ago by michaelld (Michael Dickens)

OK; looks like you've got the correct SciPy version now. Let me give this a go on my home PPC 10.5 box & see what happens. I'm guessing that SciPy itself is messing up the build internally.

comment:23 Changed 8 years ago by michaelld (Michael Dickens)

On my PPC box, I can install py27-scipy as either "py27-scipy @0.17.0_0+gfortran" or "py27-scipy @0.17.0_0+gcc5". Both pass all expected tests. I'm wondering how you're trying to install py27-scipy (the exact command you're issuing to install py27-scipy), and also what's already installed on your PPC setup ("port installed and active").

comment:24 in reply to:  23 Changed 8 years ago by iibov@…

Replying to michaelld@…:

I'm wondering how you're trying to install py27-scipy (the exact command you're issuing to install py27-scipy), and also what's already installed on your PPC setup ("port installed and active").

When I tried to install the old versions of py27-scipy I would cd to the directory where I'd downloaded the files and then issue sudo port install, there is output in reply № 18 above, otherwise I'd type, for example, sudo port install gqrx (gqrx is what I've been trying to install all along and what lead me to MacPorts in first place).

Now, I have some good news: py27-scipy @0.17.0_0+gfortran installed successfully when I tried once again to install gqrx, I guess I really shouldn't have picked up from where I left it a while ago i.e. trying to install an older version of py27-scpipy. I really have no explanation why 0.17 worked for me unlike every other version. Apologies for wasting your time.

However, grqx still won't install because of the following: it still needs gnuradio uhd gr-osmosdr gr-fcdproplus.

gr-osmosdr and gr-fcdproplus report that they cannot build doxygen which I already have: doxygen @1.8.9.1_0; QUESTION: is there a way to make them use the already installed version? I looked at the doxygen tickets and I see others too have problem with it and I've no idea when that's going to be fixed.

I'll upload the logs from:

sudo port install gqrx
sudo port install gnuradio
sudo port install uhd
sudo port install gr-osmosdr 
sudo port install gr-fcdproplus

(each of these failed installs is followed by a clean command, namely: sudo port install gqrx -> sudo clean gqrx -> sudo port install gnuradio etc)

and what I have currently installed so you can get the full picture. Terminal output: http://pastebin.com/eLZ9pPdj

Changed 8 years ago by iibov@…

Attachment: gqrx-main-8mar.log added

Changed 8 years ago by iibov@…

Attachment: gnuradio-main-8mar.log added

Changed 8 years ago by iibov@…

Attachment: doxygen-main-8mar.log added

Changed 8 years ago by iibov@…

Attachment: installed-8mar.txt added

comment:25 Changed 4 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

A -lot- of changes have taken place since this issue was opened. I'm going to go ahead and close the issue. If it is still an issue, please post an update as to what's going on, with updated logs. Please make sure you're using the latest version of MacPorts and latest ports (e.g., as obtained via "sudo port selfupdate").

Note: See TracTickets for help on using tickets.