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--