#48332 closed defect (fixed)
gettext autoconf circular dependency
Reported by: | attie.raphael@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | nerdling (Jeremy Lavergne) | |
Port: | gettext |
Description
After a first issue related with gettext reported (and apparently fixed) in ticket:48314, gcc49 still fails to install on Snow Leopard 10.6.8.
sudo port install gcc49
last error line is
Error: The following dependencies were not installed: libgcc libmpc mpfr xz gettext autoconf automake
MacPorts was previously selfupdated, earlier installs (to my knowledge) were cleaned.
Attachments (2)
Change History (19)
Changed 9 years ago by attie.raphael@…
comment:1 Changed 9 years ago by attie.raphael@…
Tried also with other versions earlier than gcc49, down to gcc43, same issue. Maybe something's wrong in my macports ? I did an uninstall of macports, and reinstalled, same issue. Could there be some conflicts with non macports install of gcc that was done in the past ? I see gcc-4.3 in my /usr/local/bin/
I don't understand the main.log that I attached. I see plenty of
:debug:main Didn't find receipt
that i never had before with MacPorts. Any idea what's going on?
comment:2 follow-up: 4 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
You've attached the main.log of gcc49, but it looks like gcc49 is not the port that failed; rather, one of its dependencies did. What terminal output did you see? It should say which port failed, and which port's main.log you should supply.
Yes, having software installed in /usr/local can definitely negatively affect MacPorts, which is why we do not support doing that. See wiki:FAQ#usrlocal. You should remove what you have installed in /usr/local, to avoid the possibility of it interfering.
comment:4 follow-up: 5 Changed 9 years ago by attie.raphael@…
Replying to ryandesign@…:
You've attached the main.log of gcc49, but it looks like gcc49 is not the port that failed; rather, one of its dependencies did. What terminal output did you see? It should say which port failed, and which port's main.log you should supply.
Yes, having software installed in /usr/local can definitely negatively affect MacPorts, which is why we do not support doing that. See wiki:FAQ#usrlocal. You should remove what you have installed in /usr/local, to avoid the possibility of it interfering.
Thank you for your reply. On this one it didn't give me any main.log path (although it should, right? ) so I manually searched for the only main.log I could find, which was just the one about gcc49. From what I read in your wiki link, I could try using -t to ignore my /usr/local/ , is that sensible for building gcc? Or does it still need to use things /usr/local/? In which case I shall not use -t?
comment:5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to attie.raphael@…:
On this one it didn't give me any main.log path (although it should, right? )
It should. There is a bug somewhere in MacPorts that prevents this from happening, sometimes, though I haven't been able to narrow it down. Repeating the command seems to help. It may have to do with whether any of the dependencies are already installed and need to be upgraded.
so I manually searched for the only main.log I could find, which was just the one about gcc49.
Please try running
sudo port install gcc49
again and show us what it says in response.
From what I read in your wiki link, I could try using -t to ignore my /usr/local/ , is that sensible for building gcc? Or does it still need to use things /usr/local/? In which case I shall not use -t?
Yes, using the -t
flag to turn on trace mode should block access to files in /usr/local, and anywhere else the port does not explicitly state it requires access to. Because trace mode is not the default, it is not as well tested, so you may run into other problems, which may be other bugs that need to be fixed.
comment:6 Changed 9 years ago by attie.raphael@…
Ok, so i just tried with -t, no joy. And same issue, main.log unchanged.
Last lines being:
DEBUG: dlist_eval: all entries in dependency list have unsatisfied dependencies; can't process Error: The following dependencies were not installed: libgcc libmpc mpfr xz gettext autoconf automake To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port gcc49 failed
comment:7 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
I need more lines of output than that. The port that failed is apparently one of libgcc libmpc mpfr xz gettext autoconf automake.
comment:8 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Actually, I'm now wondering if the fix for gettext that was committed in r138553 might have introduced a circular dependency. MacPorts' output in such situations doesn't clearly identify the problem.
comment:9 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | gcc removed |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
Yup, the fix made gettext depend on autoconf, but autoconf already depends on gettext, so that can't work. We need to fix gettext in a different way that doesn't involve using autoconf. Let's deal with this in #48314.
comment:10 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | gettext added; gcc49 removed |
---|---|
Resolution: | duplicate |
Status: | closed → reopened |
Summary: | gcc49 fails to install on snow leopard 10.6.8 → gettext autoconf circular dependency |
On second thought, I'll handle it here since it's a new issue.
comment:11 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… removed |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
Status: | reopened → new |
Changed 9 years ago by attie.raphael@…
Attachment: | main.2.log added |
---|
comment:12 Changed 9 years ago by attie.raphael@…
oh, ok, i was going to give my last logfile as you asked. Here it is anyway, in case it helps more than the first one. Thanks
comment:14 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Doh. I think the best way to handle it is to make the change I made in Makefile.in rather than Makefile.am (and then skip the autoreconf).
comment:15 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Yes, I've confirmed it builds, and will commit it momentarily.
comment:16 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Committed in r138584. Wait 30 minutes, then run "sudo port selfupdate" and try again.
comment:17 Changed 9 years ago by attie.raphael@…
Thank you very much, got gcc49 compiled on my snow leopad 10.6.8!
main.log for port install gcc49