You are not logged in.

#1 2014-06-27 19:33:57

isaacenrique89
Member
Registered: 2014-06-27
Posts: 5

Build STXXL as a static library

Greetings.

Recently I install the STXXL library  using yaourt  (all went well, apparently). However, when trying to build a test program using CMake (as indicated on the website STXXL library) a problem arises with the command "find_package (STXXL REQUIRED)". This command looks for a static library (/ usr / lib / libstxxl.a), however when installing stxxl using yaourt, a dynamic link library (/ usr/lib/libstxxl.so.1.4.0) is created. Because of this, the building with CMake fails and an error message is generated.

Now, I think to solve the problem previously raised finger do one of two things:

(1) Reinstall stxxl using yaourt, but somehow saying to yaour to build a static library (I have no idea how to do that?).

or

(2) Find a way to say to "find_package ()" that look and work with dynamic link library that I built with yaourt (/ usr/lib/libstxxl.so.1.4.0) ... I'm not sure how to do that.
I figured that this forum could find someone to help me with the first option, but any help to solve this problem is welcome.


Thanks in advance for any help and / or suggestions.

Offline

#2 2014-06-27 20:13:52

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Build STXXL as a static library

Add option=(staticlibs) to the PKGBUILD and run makepkg on it.


Edit: Which package did you install https://aur.archlinux.org/packages/?O=0 … _Search=Go ?
libstxxl may provide static libs: https://aur.archlinux.org/packages/li/libstxxl/PKGBUILD

cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON

Last edited by karol (2014-06-27 20:31:00)

Offline

#3 2014-06-30 16:05:54

isaacenrique89
Member
Registered: 2014-06-27
Posts: 5

Re: Build STXXL as a static library

Thanks for your reply.

I've never edited a PKGBUILD. Then, I must add literally "option = (staticlibs)".

Where into the PKGBUILD I must add that text?

Again thanks in advance for any help and/or suggestions.

Offline

#4 2014-06-30 16:39:18

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Build STXXL as a static library

You didn't say which package were you trying to compile. Have you tried libstxxl?
The other two were removed: https://mailman.archlinux.org/pipermail … 00007.html

Offline

#5 2014-07-01 13:56:32

isaacenrique89
Member
Registered: 2014-06-27
Posts: 5

Re: Build STXXL as a static library

Yes, I am trying to compile libstxxl.
The problem what I have described it's about this package.

Offline

#6 2014-07-01 14:28:45

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Build STXXL as a static library

Add it before the build() e.g.

# Maintainer: Henry de Valence <hdevalence@hdevalence.ca>
pkgname=libstxxl
pkgver=1.4.0
pkgrel=1
pkgdesc="Standard Template Library for Extra Large Data Sets"
arch=('i686' 'x86_64')
url="http://stxxl.sourceforge.net/"
license=('custom:Boost')
depends=('gcc-libs-multilib')
source=("http://downloads.sourceforge.net/project/stxxl/stxxl/1.4.0/stxxl-1.4.0.tar.gz")
md5sums=('4d2d9d46e80b71345e1bd78388044997')
options=(staticlibs)

build() {
	cd "$srcdir/stxxl-$pkgver"
    mkdir -p build
    cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON
	make
}

package() {
	cd "$srcdir/stxxl-$pkgver/build"
	make DESTDIR="$pkgdir/" install
    mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
    cp ../LICENSE_1_0.txt "$pkgdir/usr/share/licenses/$pkgname/"
}

Last edited by karol (2014-07-01 14:29:47)

Offline

Board footer

Powered by FluxBB