Google+

Translate

25 July 2014

Star Conflict Linux Arch / Manjaro libcurl openssl FIX

Ok So After a system update and a Star Conflict update (not sure which caused the issue but most likely the system update) on my Manjaro machine Star Conflict decided to stop working, I thought I had fixed this previously by installing the needed libs, but the System update must have undone this and updated my version of libcurl.

Star Conflict needs an older version of libcurl than what is available via Manjaro, Installing and old version via AUR is only a temporary fix as system updates can undo this, so Until this changes eg the developers do something about it the solution is this:

To make a local version of the libcurl.so.4.2.0 in the star conflict directory so that it uses that version and not your system version.

Here is a PKGBUILD file for for the correct libcurl

Download the file:  PKGBUILD


# $Id: PKGBUILD 60263 2011-12-08 19:46:25Z bluewind $
# Maintainer: Florian Pritz 

_pkgbasename=curl
pkgname=lib32-$_pkgbasename
pkgver=7.23.1
pkgrel=1
pkgdesc="An URL retrieval utility and library (32-bit)"
arch=('x86_64')
url="http://curl.haxx.se"
license=('MIT')
depends=('lib32-zlib' 'lib32-openssl' 'bash' 'ca-certificates' 'lib32-libssh2' $_pkgbasename)
makedepends=(gcc-multilib)
options=('!libtool')
source=("http://curl.haxx.se/download/${_pkgbasename}-${pkgver}.tar.bz2")
md5sums=('0296d3196b4bf82c896a869b38dbc5f2')
srcdir=src/

build() {
  export CC="gcc -m32"
  export CXX="g++ -m32"
  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"

  cd ${srcdir}/${_pkgbasename}-${pkgver}

  ./configure \
      --with-random=/dev/urandom \
      --prefix=/usr \
      --mandir=/usr/share/man \
      --disable-dependency-tracking \
      --enable-ipv6 \
      --disable-ldaps \
      --disable-ldap \
      --disable-manual \
      --enable-versioned-symbols \
      --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
      --with-random=/dev/urandom \
      --without-libidn \
      --libdir=/usr/lib32 \
      --enable-threaded-resolver
  make
}

package() {
  cd ${srcdir}/${_pkgbasename}-${pkgver}

  make DESTDIR=${pkgdir} install

  rm -rf "${pkgdir}"/usr/{share,bin}
  #we need curlbuild.h
  find ${pkgdir}/usr/include/curl -type f -not -name curlbuild.h -delete
  #now save it as curlbuild-32.h
  mv ${pkgdir}/usr/include/curl/curlbuild.h ${pkgdir}/usr/include/curl/curlbuild-32.h

  mkdir -p "$pkgdir/usr/share/licenses"
  ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
}

Save that as a text file called "PKGBUILD" and put it into a directory where you can safely build it e.g. /home/username/libcurl or whatever you like, note that it does not like any spaces in the directory path so "/home/username/lib curl" will throw up errors

Anyway, open a terminal in that directory and type "makepkg"

Once that is done you'll have

lib32-curl-7.23.1-1-x86_64.pkg.tar.xz

This is a package that is installable via pacman, but we're not going to install it, we're going to extract

libcurl.so.4.2.0

From this and put it in a folder in the Star Conflict directory and then create a symlink for it.

Navigate to SteamApps/common/star conflict/ and make a folder called "libs"

Copy or move libcurl.so.4.2.0 to that folder

Open a terminal in the star conflict directory and type:

ln -s libs/libcurl.so.4.2.0 libcurl.so.4

To check if Star Conflict finds the lib, in terminal in Star Conflict directory type:

ldd StarConflict

You should get something like this:


[synrgy87@syndesktop star conflict]$ ldd StarConflict 
./StarConflict: /media/ntfs1/SteamLibrary/SteamApps/common/star conflict/libcurl.so.4: no version information available (required by ./StarConflict)
./StarConflict: /media/ntfs1/SteamLibrary/SteamApps/common/star conflict/libcrypto.so.1.0.0: no version information available (required by ./StarConflict)
        linux-gate.so.1 (0xf774a000)
        libfmodevent-4.44.08.so => /media/ntfs1/SteamLibrary/SteamApps/common/star conflict/libfmodevent-4.44.08.so (0xf769b000)
        libfmodex-4.44.08.so => /media/ntfs1/SteamLibrary/SteamApps/common/star conflict/libfmodex-4.44.08.so (0xf7515000)
        libcrypto.so.1.0.0 => /media/ntfs1/SteamLibrary/SteamApps/common/star conflict/libcrypto.so.1.0.0 (0xf731f000)
        libcurl.so.4 => /media/ntfs1/SteamLibrary/SteamApps/common/star conflict/libcurl.so.4 (0xf72b0000)
        libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf725d000)
        libudev.so.0 => /usr/lib32/libudev.so.0 (0xf7246000)
        libsteam_api.so => /media/ntfs1/SteamLibrary/SteamApps/common/star conflict/libsteam_api.so (0xf7236000)
        libSDL2-2.0.so.0 => /usr/lib32/libSDL2-2.0.so.0 (0xf7123000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf6feb000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf6f4f000)
        libdl.so.2 => /usr/lib32/libdl.so.2 (0xf6f4a000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf6e54000)
        libm.so.6 => /usr/lib32/libm.so.6 (0xf6e08000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf6dec000)
        libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf6dcf000)
        libc.so.6 => /usr/lib32/libc.so.6 (0xf6c0d000)
        libz.so.1 => /usr/lib32/libz.so.1 (0xf6bf6000)
        libssh2.so.1 => /usr/lib32/libssh2.so.1 (0xf6bc7000)
        libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf6b58000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf6b44000)
        libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf6b39000)
        librt.so.1 => /usr/lib32/librt.so.1 (0xf6b30000)
        /lib/ld-linux.so.2 (0xf7729000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf6b0a000)
        libatiuki.so.1 => /usr/lib32/libatiuki.so.1 (0xf6aef000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf6aea000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf6ae3000)

No need to worry about the "no version information available" that's fine, the game should now launch and run :) and will always use the local lib for libcurl rather than your system version.

If you are missing any other libs they will show up as (not found) and it may be a good idea to find and install these.

1 comment:

  1. Coin Casino Bonus Codes | Claim $10 Free Chip
    Get the best casino bonuses 인카지노 & promotions and find the best 제왕카지노 no deposit bonuses and free spins offers at Coin Casino today.🎲 Total number of worrione games: 1500+💸 Minimum deposit: C$10

    ReplyDelete