Subject: popt is evil on 64-bit (was: Problems building gedit, gimp, etc)
To: Jeremy C. Reed <reed@reedmedia.net>
From: Jan Danielsson <jan.m.danielsson@gmail.com>
List: pkgsrc-users
Date: 05/13/2007 16:33:52
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig055A8B6881266714BDB20380
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Jeremy C. Reed wrote:
[---]
>> configure:23891: checking for poptStrippedArgv in -lpopt
>> configure:23926: cc -o conftest -O2 -pipe -I/usr/pkg/include
>> -I/usr/include -I/usr/pkg/include -I/usr/include -L/usr/pkg/lib -Wl,-R=
/
>> ld: cannot find -lpopt
>>
>> [wrapper.sh] note: The real command line, after the pkgsrc wrapper, wa=
s:
>> /pkg_comp/obj/pkgsrc/devel/libbonobo/default/.gcc/bin/gcc -o conftest
>> -O2 -pipe -I/pkg_comp/obj/pkgsrc/devel/libbonobo/default/.buil
>=20
> It needs to be buildlinked. For example, I have (under libbonobo):
>=20
> $ cat work/.buildlink/.buildlink_popt_done=20
> /usr/pkg/include/popt.h
> /usr/pkg/lib/libpopt.a
> /usr/pkg/lib/libpopt.la (created)
> /usr/pkg/lib/libpopt.so
> /usr/pkg/lib/libpopt.so.0
> /usr/pkg/lib/libpopt.so.0.0.0
>=20
> $ ls -l work/.buildlink/lib/libpopt.*
> lrwxrwxrwx 1 reed reed  22 2007-05-12 17:11 work/.buildlink/lib/libpopt=
=2Ea -> /usr/pkg/lib/libpopt.a
> -rw-r--r-- 1 reed reed 878 2007-05-12 17:11 work/.buildlink/lib/libpopt=
=2Ela
> lrwxrwxrwx 1 reed reed  23 2007-05-12 17:11 work/.buildlink/lib/libpopt=
=2Eso -> /usr/pkg/lib/libpopt.so
> lrwxrwxrwx 1 reed reed  25 2007-05-12 17:11 work/.buildlink/lib/libpopt=
=2Eso.0 -> /usr/pkg/lib/libpopt.so.0
> lrwxrwxrwx 1 reed reed  29 2007-05-12 17:11 work/.buildlink/lib/libpopt=
=2Eso.0.0.0 -> /usr/pkg/lib/libpopt.so.0.0.0

   What an idiot I am. When I checked if I had libpopt, I checked
outside my chroot. I'm going yo whip myself with my belt 20 times as
punishment.

   I know what the problem is now.. I noticed that my chroot suddenly
has a /usr/pkg/lib64, in which only one library exists:

pkg_comp:default.conf# pwd
/usr/pkg/lib64
pkg_comp:default.conf# ls -l
total 82
-rw-r--r--  1 root  wheel  43088 May 12 16:36 libpopt.a
-rwxr-xr-x  1 root  wheel    859 May 12 16:36 libpopt.la
lrwxr-xr-x  1 root  wheel     16 May 12 16:36 libpopt.so -> libpopt.so.0.=
0.0
lrwxr-xr-x  1 root  wheel     16 May 12 16:36 libpopt.so.0 ->
libpopt.so.0.0.0
-rwxr-xr-x  1 root  wheel  35406 May 12 16:36 libpopt.so.0.0.0
pkg_comp:default.conf#


   So, that's the problem. libpopt installs itself into /usr/pkg/lib64,
while everything else seems to be expecting it to be where all other
libraries are (i.e. /usr/pkg/lib).

   IMHO, since this is a 64-bit system, it makes more sense to place all
the "native 64-bit" libraries in /usr/pkg/lib, and in case I would
install a 32-bit library, they would go into /usr/pkg/lib32.

   I'm guessing this is all popt's fault for not installing itself where
everyone else expects.



--=20
Kind regards,
Jan Danielsson



--------------enig055A8B6881266714BDB20380
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (NetBSD)

iD8DBQFGRyHVuPlHKFfKXTYRCpilAJ0WhEk0imqR8lSJI1QDIuYLsJI8TgCfV0pw
LmtviJ+i1xuMdBGqvoWPoxI=
=ttOk
-----END PGP SIGNATURE-----

--------------enig055A8B6881266714BDB20380--