Opened 15 years ago
Closed 9 years ago
#24001 closed defect (fixed)
curl: destroot merge failure of curl-config with +universal variant because of --host and host_alias
Reported by: | ToePeu@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.2 |
Keywords: | Cc: | mcl_guard-netmail@…, neverlunch@…, christian.groon@…, erik.welander@…, cooljeanius (Eric Gallager) | |
Port: | curl |
Description (last modified by mf2k (Frank Schima))
it raise error because ppc and intel has different curl-config file
its difference is occured by --configure options:
echo " '--prefix=/opt/local' '--enable-ipv6' '--without-gnutls' '--without-gssapi' '--without-libssh2' '--without-spnego' '--disable-ares' '--disable-ldap' '--disable-ldaps' '--with-libidn' '--with-zlib=/opt/local' '--disable-dependency-tracking' '--with-ssl' '--with-ca-bundle=/opt/local/share/curl/curl-ca-bundle.crt' 'CC=/usr/bin/gcc-4.2' 'CFLAGS=-O2 ' 'LDFLAGS=-L/opt/local/lib ' 'CPPFLAGS=-I/opt/local/include'"
is for intel, but for ppc, it has more ppc-related options
it raise merge failure in destroot path
since i removed difference of both curl-config as fake, problem resolved.
i think there should not be check curl-config here.
ps. when i failed to destroot, and tried -d to make report, destroot failed for everything because it could not recover its state before destroot. it was terrible and i should remove some output of destroot manually.
Attachments (4)
Change History (25)
comment:1 Changed 15 years ago by jmroot (Joshua Root)
Keywords: | curl destroot removed |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
comment:2 Changed 15 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:3 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Status: | new → assigned |
---|---|
Summary: | curl-7.20 +universal destroot fail → curl +universal (ppc/i386) destroot fails |
Confirmed, for example building ppc/i386 on Tiger Intel:
--- /opt/local/var/macports/build/_Users_rschmidt_macports_dports_net_curl/work/destroot-intel/opt/local/bin/curl-config 2010-03-09 23:47:38.000000000 -0600 +++ /opt/local/var/macports/build/_Users_rschmidt_macports_dports_net_curl/work/destroot-powerpc/opt/local/bin/curl-config 2010-03-09 23:47:40.000000000 -0600 @@ -148,7 +148,7 @@ ;; --configure) - echo " '--prefix=/opt/local' '--enable-ipv6' '--without-gnutls' '--without-gssapi' '--without-spnego' '--disable-ares' '--disable-ldap' '--disable-ldaps' '--with-libidn' '--with-zlib=/opt/local' '--disable-dependency-tracking' '--with-ssl' '--with-ca-bundle=/opt/local/share/curl/curl-ca-bundle.crt' '--with-libssh2' 'CC=/usr/bin/gcc-4.0' 'CFLAGS=-O2 ' 'LDFLAGS=-L/opt/local/lib ' 'CPPFLAGS=-I/opt/local/include'" + echo " '--prefix=/opt/local' '--enable-ipv6' '--without-gnutls' '--without-gssapi' '--without-spnego' '--disable-ares' '--disable-ldap' '--disable-ldaps' '--with-libidn' '--with-zlib=/opt/local' '--disable-dependency-tracking' '--with-ssl' '--with-ca-bundle=/opt/local/share/curl/curl-ca-bundle.crt' '--with-libssh2' '--host=powerpc-apple-darwin8.11.1' 'host_alias=powerpc-apple-darwin8.11.1' 'CC=/usr/bin/gcc-4.0' 'CFLAGS=-O2 ' 'LDFLAGS=-L/opt/local/lib ' 'CPPFLAGS=-I/opt/local/include'" ;; *)
comment:4 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Presumably I should simply remove '--host=.*' and 'host_alias=.*' from curl-config if present.
comment:9 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | christian.groon@… added |
---|
comment:10 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Should be fixed in r75686.
comment:11 follow-up: 13 Changed 11 years ago by erik.welander@…
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Hi, i have tried to build the package for quite some time now using a PowerBook G4, but the build always fails at the destroot stage. I have completely purged macports and all of its ports, and tried install variants such as installing zlib beforehand.
I have set +universal in variants.conf and tried to install with "sudo port install zlib" followed by "sudo port install curl +ssl" Yet i can never get past the destroot stage. Following the other threads of people having the same problem, i am lead here with a status of the bug being "fixed", yet i can't get past the part
---> Staging curl into destroot Error: org.macports.destroot for port curl returned: curl-config differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-powerpc//opt/local/bin and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-intel//opt/local/bin and cannot be merged
Any help in the matter would be appreciated. Maybe this bug should be reopened?
comment:13 follow-up: 14 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to erik.welander@…:
Hi, i have tried to build the package for quite some time now using a PowerBook G4, but the build always fails at the destroot stage. I have completely purged macports and all of its ports, and tried install variants such as installing zlib beforehand.
I have set +universal in variants.conf
Is there a particular reason why you need to build universal? The only reason you would need this is if you need to build software on your PowerBook that can also be run on an Intel Mac.
and tried to install with "sudo port install zlib" followed by "sudo port install curl +ssl" Yet i can never get past the destroot stage. Following the other threads of people having the same problem, i am lead here with a status of the bug being "fixed", yet i can't get past the part
---> Staging curl into destroot Error: org.macports.destroot for port curl returned: curl-config differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-powerpc//opt/local/bin and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-intel//opt/local/bin and cannot be mergedAny help in the matter would be appreciated. Maybe this bug should be reopened?
Please attach the two copies of the curl-config file so that I can see how they differ.
Changed 11 years ago by erik.welander@…
Attachment: | ppc-curl-config added |
---|
In /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-powerpcopt/local/bin
Changed 11 years ago by erik.welander@…
Attachment: | intel-curl-config added |
---|
"curl-config" In /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-intelopt/local/bin
comment:14 Changed 11 years ago by erik.welander@…
Replying to ryandesign@…:
Replying to erik.welander@…:
Hi, i have tried to build the package for quite some time now using a PowerBook G4, but the build always fails at the destroot stage. I have completely purged macports and all of its ports, and tried install variants such as installing zlib beforehand.
I have set +universal in variants.conf
Is there a particular reason why you need to build universal? The only reason you would need this is if you need to build software on your PowerBook that can also be run on an Intel Mac.
The application will be used within a volunteer organization hosting various activities(programming, karaoke, movie nights). The users/members of this organization gets internet access as well as access to network resources by logging in. I love this Powerbook(1.66Ghz 15") so i'm not very keen on upgrading just yet as it's still a wonderful computer to work with, but i do want other people get access to the programs i make.
and tried to install with "sudo port install zlib" followed by "sudo port install curl +ssl" Yet i can never get past the destroot stage. Following the other threads of people having the same problem, i am lead here with a status of the bug being "fixed", yet i can't get past the part
---> Staging curl into destroot Error: org.macports.destroot for port curl returned: curl-config differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-powerpc//opt/local/bin and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_curl/curl/work/destroot-intel//opt/local/bin and cannot be mergedAny help in the matter would be appreciated. Maybe this bug should be reopened?
Please attach the two copies of the curl-config file so that I can see how they differ.
I copied "curl-config" from both folders and named them according to architecture.
comment:15 follow-up: 16 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
There are differences between the two files, but they're irrelevant differences: just a few repeated flags. Off the top of my head I don't know why that would be happening.
comment:16 Changed 11 years ago by erik.welander@…
Replying to ryandesign@…:
There are differences between the two files, but they're irrelevant differences: just a few repeated flags. Off the top of my head I don't know why that would be happening.
Maybe Macports halts as soon as it finds any kind of difference at all? Why does not both versions just share the same file? Any way i can test this theory? Simply copying the intel one to the PPC one did not work since it does not like the fact that the directories already exists.
comment:17 follow-up: 18 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to erik.welander@…:
Maybe Macports halts as soon as it finds any kind of difference at all? Why does not both versions just share the same file? Any way i can test this theory? Simply copying the intel one to the PPC one did not work since it does not like the fact that the directories already exists.
Yes, any difference in a text file will halt the merge; this is intentional because there are not expected to be any differences between the files. MacPorts cannot magically know which one of the two is correct. The question is why the curl build system has produced two different files.
Changed 11 years ago by erik.welander@…
Attachment: | QuickFix.diff added |
---|
A quick and dirty fix but it works like a charm and universal builds works with it.
comment:18 Changed 11 years ago by erik.welander@…
Replying to ryandesign@…:
Replying to erik.welander@…:
Maybe Macports halts as soon as it finds any kind of difference at all? Why does not both versions just share the same file? Any way i can test this theory? Simply copying the intel one to the PPC one did not work since it does not like the fact that the directories already exists.
Yes, any difference in a text file will halt the merge; this is intentional because there are not expected to be any differences between the files. MacPorts cannot magically know which one of the two is correct. The question is why the curl build system has produced two different files.
I made i quick and dirty fix to it and it works like it should now, something similar should be done but maybe a bit more clean?
Much to my suprise bash syntax and commands does not work and i do not have any experience or knowledge about TCL.
Upon examining the configure files in the ppc build directory, the flags do needlessly repeat themselves.
comment:19 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
I'm not comfortable simply ignoring the problem by just picking one of the files and ignoring the other; this will prevent us from learning about any future differences as well, and although the current difference is insignificant, differences future versions of curl might produce might not be. I want to figure out why the curl build system is generating two different files here, and make it stop doing that. Or it might not be the fault of the curl build system; it might be something in the muniversal portgroup causing this, in which case we need to fix that.
comment:21 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Summary: | curl +universal (ppc/i386) destroot fails → curl: destroot merge failure of curl-config with +universal variant because of --host and host_alias |
This ticket was originally about the failure to merge because of the --host
and host_alias
parameters. That was fixed in r75686 by removing the --host
and host_alias
parameters prior to merging, so this ticket should remain closed.
The new problem is about a failure to merge because of repeated SSL flags. Let's handle that issue in #32287.
Please remember to cc the maintainer.