Author Topic: rpmbuild on RHEL6 (64bit): "File not found by glob"  (Read 16132 times)

Offline hotshot

  • New user
  • *
  • Posts: 12
    • View Profile
rpmbuild on RHEL6 (64bit): "File not found by glob"
« on: February 14, 2011, 10:02:33 am »
Hi

I try to build a rpm packet, but without any goals:

First, i install some additional rpm's:
Code: [Select]
yum install gcc openssl-devel pam-devel openldap-devel mysql-server mysql-client mysql-devel ncurses-devel libcap-devel postgresql-devel libacl-devel rpm-build tcp_wrappers-devel
I replace in the "proftpd.spec" file all "PreReq" to "Requires", next i "chown root.root proftpd.spec". ./configure and make works perfect.

But the rpmbuild not:
Code: [Select]
RPM build errors:
rpmbuild -ba --with ctrls --with dso --with mod_sftp --with mod_readme --with mod_auth_pam --with mod_quotatab --with mod_exec --with mod_ldap --with mod_quotatab_sql --with mod_sql --with mod_sql_mysql proftpd.spec
Result is:
Code: [Select]
RPM build errors:
    File not found by glob: /root/rpmbuild/BUILDROOT/proftpd-1.3.3d-1.el6.x86_64/usr/lib64/pkgconfig/*.pc

I have only a "proftpd.pc" in the "/usr/lib/pkgconfig" directory, not in the "/usr/lib64/pkgconfig".

What i to wrong?

ivo

Offline madmrpancake

  • New user
  • *
  • Posts: 2
    • View Profile
Re: rpmbuild on RHEL6 (64bit): "File not found by glob"
« Reply #1 on: February 24, 2011, 02:03:33 pm »
I am having the same problem when I attempt to use rpm-build on proftpd 1.3.3d and the .spec file that comes with it. Did you find a solution?

I am building on CentOS 5.5 x64. 

Here are the last file lines of the output from rpmbuild:

Code: [Select]
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/proftpd-1.3.3d-root
error: Installed (but unpackaged) file(s) found:
   /usr/lib/pkgconfig/proftpd.pc


RPM build errors:
    File not found by glob: /var/tmp/proftpd-1.3.3d-root/usr/lib64/proftpd/*.pc
    Installed (but unpackaged) file(s) found:
   /usr/lib/pkgconfig/proftpd.pc


This is the rpmbuild command i've used:

Code: [Select]
rpmbuild -ba --with mod_ctrls --with mod_tls --with ctrls --with dso --with nls --with mod_sftp --with mod_vroot proftpd.spec
While attempting to investigate the issue I found the file:
/var/tmp/proftpd-1.3.3d-root/usr/lib/pkgconfig/proftpd.pc

and the directory:
/var/tmp/proftpd-1.3.3d-root/usr/lib64/proftpd/

but the directory is empty.

I tried copying the proftpd.pc from the /var/tmp/proftpd-1.3.3d-root/usr/lib/pkgconfig/ to /var/tmp/proftpd-1.3.3d-root/usr/lib64/proftpd  and running rpmbuild again, but the build process must have deleted and recreated the contents of the /var/tmp/proftpd-1.3.3d-root/ directory

I grep'ed for proftpd.pc in the proftpd-1.3.3d source and found on line 381 of the configure.in file :

Code: [Select]
dnl Configurable location of the pkgconfig file
pkgconfigdir=NONE
AC_ARG_WITH(pkgconfig,
  [AC_HELP_STRING(
    [--with-pkgconfig=PATH],
    [configure directory that will contain the proftpd.pc pkgconfig file (default=lib/pkgconfig)])
  ],
  [
    if test x"$withval" != x; then
      pkgconfigdir=`echo "$withval"`
    fi
  ])

Can those lines be modified to fix this issue?  I tried copying proftpd.pc to /tmp and setting the pkgconfigdir=NONE line to pkgconfigdir=/tmp/proftpd.pc  but that didn't help.  I don't know didlly squat about autoconf and looking at the documentation for autoconf makes me think it's scary beast. :(

I successfully built the proftpd 1.3.3d rpms on a 32bit CentOS 5.5 machine.


Offline hotshot

  • New user
  • *
  • Posts: 12
    • View Profile
Re: rpmbuild on RHEL6 (64bit): "File not found by glob"
« Reply #2 on: February 24, 2011, 02:42:48 pm »

No, i didn't, but i take the proftp-version from the EPEL Repository: http://download.fedora.redhat.com/pub/epel/6/x86_64/ for my RHEL6. It includes all the modules, that i need (SFTP, LDAP, exec etc.).


Offline castaglia

  • Administrator
  • Support Hero
  • *****
  • Posts: 5041
    • View Profile
    • http://www.castaglia.org/
Re: rpmbuild on RHEL6 (64bit): "File not found by glob"
« Reply #3 on: February 24, 2011, 05:37:55 pm »
The problem is not the autoconf/configure script, but rather in the .spec file.  RPM .spec files use a _libdir variable which is supposed to point to the llb/ directory (for 32-bit builds) and apparently to lib64/ (for 64-bit builds).  The configure script doesn't know or care about this rpm-specific distinction.  To fix this, please open a bug report at bugs.proftpd.org.  Keep in mind that the .spec file provided by ProFTPD is community-maintained; it is not guaranteed to work, since the proftpd developers don't use rpmbuild, and don't distribute RPMs as part of the standard release process.

Offline castaglia

  • Administrator
  • Support Hero
  • *****
  • Posts: 5041
    • View Profile
    • http://www.castaglia.org/
Re: rpmbuild on RHEL6 (64bit): "File not found by glob"
« Reply #4 on: February 27, 2011, 04:26:06 am »
By the way, it looks like the %{_libdir} expansion in .spec files, for lib/ versus lib64/, is a known and rather thorny issue to solve; see:

  https://bugzilla.redhat.com/show_bug.cgi?id=194123

 

sighted planning