Scribus > Installation and Setup

Build Scribus 1.5.5 - specfy to CMAKE libpoppler path

(1/5) > >>

scriber:
Hi all!
I'm trying to build Scribus 1.5.5 on my Slackware stable, which is 14.2 version.
This system has an outdated version of poppler (0.45). I can't upgrade it because on that depend many other software installed.
On the other hand Scribus-1.5.5 needs a libpoppler newer than 0.58, if I well understood... Actually it fails with a CMAKE error (lipoppler not found >= 0.58)

So I successfuly tried to build a more recent version poppler (0.68) along the old one. I built it so that it is installed in an "alternative" path:

--- Code: ---/opt/poppler-new
--- End code ---


--- Code: ---# ls /opt/poppler-new/
bin/  doc/  include/  lib64/  man/  share/

# ls /opt/poppler-new/lib64/
girepository-1.0/     libpoppler-cpp.so.0.5.0*  libpoppler-glib.so.8.9.0*  libpoppler-qt4.so.4.11.0*  libpoppler.so.79.0.0*
libpoppler-cpp.so@    libpoppler-glib.so@       libpoppler-qt4.so@         libpoppler.so@             pkgconfig/
libpoppler-cpp.so.0@  libpoppler-glib.so.8@     libpoppler-qt4.so.4@       libpoppler.so.79@
--- End code ---

I also read a bit of scribus sources and I found this:
https://gitlab.com/scribus/scribus/blob/master/cmake/modules/FindPOPPLER.cmake

If I'm not mistaken, it contains paths where CMAKE looks for poppler libs, headers and so on...

Now the question:
Is there a way to build scribus linking it to a poppler installation located in an alternative path?
(in mi specific case /opt/poppler-new ?

a.l.e:
i had to do some research:

you should add

-DPOPPLER_DIR=/opt/poppler

to your cmake command.

and we are very gratefull to our debian / ubuntu maintainer for all the work he has done for getting poppler to work with scribus and debian!

i think it's one of the (important) dependencies that has given us the most headaches!

scriber:
Thanks for reply!

Build script I'm using launches cmake as follows:

--- Code: ---export CC=clang
export CXX=clang++
cmake . \
  -DCMAKE_C_FLAGS="$SLKCFLAGS" \
  -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
  -DCMAKE_INSTALL_PREFIX:PATH=/usr \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_SKIP_RPATH=ON \
  -DLIB_SUFFIX=${LIBDIRSUFFIX} \
  -DPOPPLER_DIR=/opt/poppler-new \
  -DWANT_CPP11=1 \
  -DRENDER_LIB=CAIRO \
  -DWANT_GRAPHICSMAGICK=1
--- End code ---

Tried to add:

--- Code: ----DPOPPLER_DIR=/opt/poppler-new
--- End code ---

But still it can't find new libpoppler version... :(

a.l.e:
a/ you should not install in /usr. really. but well, slackware might be a different world...
b/ you should not use the main source directory as the compile directory. you should create a build directory and do a "cmake .." instead of a "cmake .".

c/ did you run the command in a clean build directory? (if you had a build directory, the answer to this question would be more straight forward...)

sadly, if -D directive does not work, i don't really know how to get there...
you might want to ask in the cmake community (and then post here your findings as soon as you have sorted it out).

scriber:
Yes /usr dir as target follows Slackware guidelines. It could be installed in something different like /usr/local, but it's just a usual line Slackware packagers follow.
Some resources:
https://slackbuilds.org/howto/
https://www.slackwiki.com/Writing_A_SlackBuild_Script

Main source dir is deleted at the begining of the slackbuild script.
I'm using this one (slackbuilds are just bash scripts):

https://github.com/gperon/mmyy_slackbuilds/blob/master/office/scribus/scribus.SlackBuild

And there you find all few files needed by slackware pkgtools (slack-desc, doinst.sh, info file etc):

https://github.com/gperon/mmyy_slackbuilds/blob/master/office/scribus

So, the environment should be clean, because build directory is re-created any time I launch slackbuild script.

Have you any links to cmake community to ask to?
Thanks anyway for your answer!  :)

Navigation

[0] Message Index

[#] Next page

Go to full version