Bug 145091 - vpnc x86 build fails (but x86_64 succeeds)
vpnc x86 build fails (but x86_64 succeeds)
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: distribution (Show other bugs)
3
All Linux
medium Severity medium
: ---
: ---
Assigned To: Seth Vidal
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-01-14 05:31 EST by Warren Togami
Modified: 2014-01-21 17:51 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-05-10 03:24:14 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Warren Togami 2005-01-14 05:31:43 EST
Description of problem:
Seth Vidal said "vpnc builds fine on x86_64, not on x86".  I am unable
to reproduce this failure on my FC3 x86 laptop.  Apparently this build
failure began happening after the latest 64bit patch suggested by davej.

error log is:

vpnc.c:506: error: `hm' undeclared (first use in this function)
vpnc.c:506: error: too many arguments to function `gcry_md_open'
vpnc.c: In function `phase2_authpacket':
vpnc.c:544: error: `gcry_md_hd_t' undeclared (first use in this
function)
vpnc.c:544: error: syntax error before "hm"
vpnc.c:561: error: `hm' undeclared (first use in this function)
vpnc.c:561: error: too many arguments to function `gcry_md_open'
vpnc.c: In function `gen_keymat':
vpnc.c:660: error: `gcry_md_hd_t' undeclared (first use in this
function)
vpnc.c:660: error: syntax error before "hm"
vpnc.c:678: error: `hm' undeclared (first use in this function)
vpnc.c:678: error: too many arguments to function `gcry_md_open'
vpnc.c: In function `do_phase_1':
vpnc.c:843: error: `gcry_md_hd_t' undeclared (first use in this
function)
vpnc.c:843: error: syntax error before "skeyid_ctx"
vpnc.c:1008: error: syntax error before "hm"
vpnc.c:1012: error: `hm' undeclared (first use in this function)
vpnc.c:1012: error: too many arguments to function `gcry_md_open'
vpnc.c:1053: error: `skeyid_ctx' undeclared (first use in this function)
vpnc.c:1053: error: too many arguments to function `gcry_md_open'
vpnc.c:1064: error: syntax error before "hm"
vpnc.c:1079: error: too many arguments to function `gcry_md_open'
vpnc.c:1096: error: too many arguments to function `gcry_md_open'
vpnc.c:1117: error: syntax error before "hm"
vpnc.c:1128: error: too many arguments to function `gcry_md_open'
vpnc.c:1140: error: too many arguments to function `gcry_md_open'
vpnc.c:1153: error: too many arguments to function `gcry_md_open'
vpnc.c:1173: error: too many arguments to function `gcry_md_open'
vpnc.c:1195: error: syntax error before "hm"
vpnc.c:1198: error: too many arguments to function `gcry_md_open'
vpnc.c:1248: error: syntax error before "hm"
vpnc.c:1252: error: too many arguments to function `gcry_md_open'
make[1]: *** [vpnc.o] Error 1
make[1]: Leaving directory
`/rpmbuild/extras/cvs/rpms/vpnc/devel/vpnc-0.3.2'
error: Bad exit status from /var/tmp/rpm-tmp.15559 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.15559 (%build)
make: *** [i386] Error 1

Version-Release number of selected component (if applicable):
vpnc-0.3.2-3
Comment 1 Tomas Mraz 2005-01-14 06:38:42 EST
I don't think it's the patch's fault. It barely touches the vpnc.c
file. Couldn't he have a wrong/broken libgcrypt version?
Comment 2 Seth Vidal 2005-01-14 08:23:38 EST
I have libcgrypt 1.2.0 and libgcrypt1 1.1.12 installed on the extras
build machine.
Which one is it that it needs? Does it only work if one is _not_ present?
Comment 3 Tomas Mraz 2005-01-14 08:51:11 EST
This is the problem probably. It works with libgcrypt-1.2.0, not with
1.1.12. It probably picks up a wrong headers if you have
libgcrypt1-devel installed.
Comment 4 Seth Vidal 2005-01-14 11:55:57 EST
I removed libgcrypt1-devel and libgcrypt1.

I got these Errors
Error: vpnc

vpnc.c:1140: error: too many arguments to function `gcry_md_open'
vpnc.c:1153: error: too many arguments to function `gcry_md_open'
vpnc.c:1173: error: too many arguments to function `gcry_md_open'
vpnc.c:1195: error: syntax error before "hm"
vpnc.c:1198: error: too many arguments to function `gcry_md_open'
vpnc.c:1248: error: syntax error before "hm"
vpnc.c:1252: error: too many arguments to function `gcry_md_open'
make[1]: *** [vpnc.o] Error 1
make[1]: Leaving directory
`/rpmbuild/extras/cvs/rpms/vpnc/devel/vpnc-0.3.2'
error: Bad exit status from /var/tmp/rpm-tmp.70254 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.70254 (%build)
make: *** [i386] Error 1

Comment 5 Tomas Mraz 2005-01-17 03:43:05 EST
You must have the old header file still there. Please reinstall the
libgcrypt-devel-1.2.0 again.
Comment 6 Michael Schwendt 2005-01-17 04:53:14 EST
We should really get rid of libgcrypt1* and related old cruft in extras.

In particular, because libgcrypt1-devel and libgcrypt-devel conflict
(this was intentional, see corresponding fedora.us ticket), but yum
doesn't appear to see this:

$ sudo rpm -e libgcrypt1-devel libgcrypt-devel

$ sudo rpm -ivh libgcrypt1-devel-1.1.12-1.i386.rpm 
Preparing...               
########################################### [100%]
   1:libgcrypt1-devel      
########################################### [100%]

$ sudo rpm -ivh libgcrypt-devel-1.2.0-3.i386.rpm 
Preparing...               
########################################### [100%]
        file /usr/bin/libgcrypt-config from install of
libgcrypt-devel-1.2.0-3 conflicts with file from package
libgcrypt1-devel-1.1.12-1
        file /usr/include/gcrypt.h from install of
libgcrypt-devel-1.2.0-3 conflicts with file from package
libgcrypt1-devel-1.1.12-1
        file /usr/lib/libgcrypt.a from install of
libgcrypt-devel-1.2.0-3 confli
cts with file from package libgcrypt1-devel-1.1.12-1
        file /usr/lib/libgcrypt.so from install of
libgcrypt-devel-1.2.0-3 conflicts with file from package
libgcrypt1-devel-1.1.12-1
        file /usr/share/aclocal/libgcrypt.m4 from install of
libgcrypt-devel-1.2.0-3 conflicts with file from package
libgcrypt1-devel-1.1.12-1
        file /usr/share/info/gcrypt.info.gz from install of
libgcrypt-devel-1.2.0-3 conflicts with file from package
libgcrypt1-devel-1.1.12-1

$ sudo yum -y install libgcrypt-devel
Setting up Install Process
Setting up Repo:  fedora-extras-local
repomd.xml                100% |=========================|  951 B   
00:00     
Setting up Repo:  base
repomd.xml                100% |=========================|  951 B   
00:00     
Setting up Repo:  updates-released
repomd.xml                100% |=========================|  951 B   
00:00     
Reading repository metadata in from local files
fedora-ext: ################################################## 638/638
base      : ################################################## 1652/1652
updates-re: ################################################## 506/506
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package libgcrypt-devel.i386 0:1.2.0-3 set to be installed
--> Running transaction check

Dependencies Resolved
Transaction Listing:
  Install: libgcrypt-devel.i386 0:1.2.0-3
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: libgcrypt-devel 100 % done 1/1 

Installed: libgcrypt-devel.i386 0:1.2.0-3
Complete!

$ rpm -V libgcrypt1-devel libgcrypt-devel
S.5....T    /usr/bin/libgcrypt-config
S.5....T    /usr/include/gcrypt.h
S.5....T    /usr/lib/libgcrypt.a
....L...    /usr/lib/libgcrypt.so
S.5....T    /usr/share/aclocal/libgcrypt.m4
S.5....T  d /usr/share/info/gcrypt.info.gz

What did it? Force-install the package?

My proposal on fedora-devel has not seen any feedback, so after taking
a last look at KMail and GPGME 0.4.x, I'll commit changes which get
rid of libgcrypt1* and newpg.
Comment 7 Seth Vidal 2005-01-17 09:21:01 EST
I don't see that problem:

[root@cutter yum-HEAD]# ./yummain.py -d2 --installroot=/home/foo
install libgcrypt\*
Setting up Install Process
Setting up Repos
extras                    100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
updates-released          100% |=========================|  951 B    00:00
Reading repository metadata in from local files
extras    : ################################################## 673/673
base      : ################################################## 2622/2622
updates-re: ################################################## 506/506
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package libgcrypt-devel.i386 0:1.2.0-3 set to be updated
---> Package libgcrypt1.i386 0:1.1.12-1 set to be updated
---> Package libgcrypt1-devel.i386 0:1.1.12-1 set to be updated
--> Running transaction check
--> Processing Dependency: libgpg-error-devel for package: libgcrypt-devel
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package libgpg-error-devel.i386 0:1.0-1 set to be updated
--> Running transaction check

Dependencies Resolved
Transaction Listing:
  Install: libgcrypt1-devel.i386 0:1.1.12-1 - extras
  Install: libgcrypt1.i386 0:1.1.12-1 - extras
  Install: libgcrypt-devel.i386 0:1.2.0-3 - base

Performing the following to resolve dependencies:
  Install: libgpg-error-devel.i386 0:1.0-1 - base
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Check Error:   file /usr/bin/libgcrypt-config conflicts
between attempted installs of libgcrypt1-devel-1.1.12-1 and
libgcrypt-devel-1.2.0-3
  file /usr/include/gcrypt.h conflicts between attempted installs of
libgcrypt1-devel-1.1.12-1 and libgcrypt-devel-1.2.0-3
  file /usr/lib/libgcrypt.a conflicts between attempted installs of
libgcrypt1-devel-1.1.12-1 and libgcrypt-devel-1.2.0-3
  file /usr/lib/libgcrypt.so conflicts between attempted installs of
libgcrypt1-devel-1.1.12-1 and libgcrypt-devel-1.2.0-3
  file /usr/share/aclocal/libgcrypt.m4 conflicts between attempted
installs of libgcrypt1-devel-1.1.12-1 and libgcrypt-devel-1.2.0-3
  file /usr/share/info/gcrypt.info.gz conflicts between attempted
installs of libgcrypt1-devel-1.1.12-1 and libgcrypt-devel-1.2.0-3

Comment 8 Michael Schwendt 2005-01-17 09:47:09 EST
I can reproduce that. *But* you didn't try the same steps. Try this
exactly:

1. rpm -e libgcrypt-devel libgcrypt1-devel
2. yum install libgcrypt-devel
3. yum install libgcrypt1-devel
4. rpm -V libgcrypt-devel libgcrypt1-devel
Comment 9 Rex Dieter 2005-01-24 08:19:13 EST
libgcrypt1-devel probably ought to contain
Conflicts: libgcrypt-devel
Comment 10 Michael Schwendt 2005-01-24 09:42:54 EST
Would not improve the situation. Would only emphasise that the
conflict is known and/or intentional.

Conflicts are always bad.

Files in libgcrypt1-devel could have been relocated to avoid
conflicts. But libgcrypt1 is close to obsolete anyway, since only
newpg uses it (see fedora-devel-list).

[Side-note on explicit "Conflicts": libgcrypt1-* doesn't know about
libgcrypt-*. If libgcrypt-* changed in a way that would get rid of the
file conflicts, "Conflicts: libgcrypt-devel" in libgcrypt1-devel would
be false. Further, when it comes to querying package sets, explicit
conflicts ought to be circular, so e.g. libgcrypt-devel "Conflicts:
libgcrypt1-devel", too.]
Comment 11 Tomas Mraz 2005-01-31 08:35:58 EST
Reassigning as this doesn't have anything to do with vpnc.
Comment 12 Michael Schwendt 2005-01-31 10:43:38 EST
It's not a bug in libgcrypt1 either. For me it's a bug in yum that
makes this failure possible. Seth, can you reproduce with comment 8?
Comment 13 Warren Togami 2005-02-06 22:15:02 EST
ping seth
Comment 14 Seth Vidal 2005-02-06 23:28:48 EST
What you don't seem to understand is that yum isn't doing the file
conflict determination. rpm is. So if rpm is not complaining of a file
conflict then yum can't and won't say anything one way or the other.

this is definitely not a yum bug to fix.
Comment 15 Michael Schwendt 2005-02-07 05:08:17 EST
How else can I demonstrate (see comment 6) that manual installation
with rpm turns up the conflicts while yum does not detect them?

Apart from that, the reason vpnc can't be built by you is that you
need libgcrypt-devel, not libgcrypt1-devel. Something you could fix in
your build system regardless of these conflicts.

libgcrypt1 won't be used anymore when GPGME 1.0.x and dependencies are
available. And as we still don't have any meta packages or other
features to obsolete old packages in Fedora Extras, there is no other
way than removing libgcrypt1* and no longer shipping it.
Comment 16 Warren Togami 2005-02-12 02:43:01 EST
Is this still an issue?   Wasn't libgcrypt1 removed from the repository?
Comment 17 Warren Togami 2005-02-28 03:00:54 EST
ping Seth
Comment 18 Michael Schwendt 2005-05-10 03:24:14 EDT
vpnc-0.3.2-3.i386.rpm is in the repository since April 5th.

Note You need to log in before you can comment on or make changes to this bug.