diff --git a/common/environment/configure/gnu-configure-args.sh b/common/environment/configure/gnu-configure-args.sh index d46ee36dc21..878cacca62e 100644 --- a/common/environment/configure/gnu-configure-args.sh +++ b/common/environment/configure/gnu-configure-args.sh @@ -4,6 +4,11 @@ if [ -z "$build_style" -o "$build_style" = "gnu-configure" ]; then export configure_args="--prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --localstatedir=/var ${configure_args}" fi +if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then + # on x86 use /usr/lib32 as libdir, but just as fake directory, + # because /usr/lib32 is a symlink to /usr/lib in void. + export configure_args+=" --libdir=/usr/lib32" +fi # Cross compilation vars if [ -z "$CROSS_BUILD" ]; then diff --git a/common/hooks/post-install/98-lib32.sh b/common/hooks/post-install/98-lib32.sh new file mode 100644 index 00000000000..00b92b4e239 --- /dev/null +++ b/common/hooks/post-install/98-lib32.sh @@ -0,0 +1,7 @@ +# This hook removes the /usr/lib32 symlink on x86. + +hook() { + if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then + rm -f ${DESTDIR}/usr/lib32 + fi +} diff --git a/common/hooks/pre-install/00-lib32.sh b/common/hooks/pre-install/00-lib32.sh new file mode 100644 index 00000000000..b0e1f29fa1a --- /dev/null +++ b/common/hooks/pre-install/00-lib32.sh @@ -0,0 +1,8 @@ +# This hook creates the /usr/lib32 symlink for x86. + +hook() { + if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then + vmkdir usr/lib + ln -sf lib ${DESTDIR}/usr/lib32 + fi +}