#36637 closed defect (invalid)
GDB port is incompatible with GCC
Reported by: | david.krauss@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt), blair (Blair Zajac) | |
Port: | gdb |
Description
Installing gcc47 first installs cctools (which builds Clang; surprising since I'm already running Mountain Lion with Clang 3.1). This includes cctools-headers, which is marked as incompatible with GDB.
Attempting to install GDB prompts me to deactivate cctools-headers. Attempting to do that prompts me to uninstall cctools. Attempting that prompts to uninstall gcc47 and libstdcxx.
Rebuilding GCC (and perhaps Clang too?) would take a long time, and it seems unbelievable that is the right approach.
Change History (4)
comment:1 Changed 12 years ago by blair (Blair Zajac)
comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Milestone: | MacPorts Future |
---|---|
Resolution: | → invalid |
Status: | new → closed |
gdb is not incompatible with gcc; gdb merely has a build-time conflict with cctools-headers:
$ sudo port install gdb ---> Computing dependencies for gdb ---> Fetching distfiles for gdb ---> Verifying checksum(s) for gdb ---> Extracting gdb ---> Configuring gdb Error: gdb cannot be built while cctools-headers is active. Error: Please deactivate cctools-headers and try again. Error: You can reactivate cctools-headers again later. Error: org.macports.configure for port gdb returned: cctools-headers is active
Do what it says: deactivate cctools-headers, then install gdb, then re-activate cctools-headers.
This will fail of course:
$ sudo port deactivate cctools-headers ---> Deactivating cctools-headers @829_0 ---> Unable to deactivate cctools-headers @829_0, the following ports depend on it: ---> cctools @829_2+llvm31
For the purposes of installing gdb, we don't care about cctools, and we're going to re-activate cctools-headers again as soon as we're done installing gdb, so it's fine to force the deactivation to make this work:
$ sudo port -f deactivate cctools-headers ---> Deactivating cctools-headers @829_0 ---> Unable to deactivate cctools-headers @829_0, the following ports depend on it: ---> cctools @829_2+llvm31 Warning: Deactivate forced. Proceeding despite dependencies. $ sudo port install gdb ... $ sudo port activate cctools-headers ---> Activating cctools-headers @829_0 ---> Cleaning cctools-headers
comment:3 Changed 12 years ago by david.krauss@…
OK, thanks, I did "port help deactivate" looking for a force option but didn't look at the manpage. That did the trick!
It might be helpful (and more similar to other tools with "help" commands) to mention options that apply to a command.
comment:4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
"port help deactivate" does mention options that apply only to the deactivate command, but does not mention global options like "-f" that apply in many situations.
Did you do a 'port deactivate cctools-headers' or a 'port uninstall cctools-headers'? In my experience, the first doesn't ask you to uninstall and dependent ports.