Re: [Gimp-developer] how to build json-glib in a prefix when building gimp from git in a prefix?

On Sat, Sep 29, 2018 at 06:21:36PM -0400, Elle Stone wrote:
On 09/29/2018 05:18 PM, Ken Moffat via gimp-developer-list wrote:
On Sat, Sep 29, 2018 at 03:23:24PM -0400, Elle Stone wrote:

I don't know how OpenSUSE splits packages into sub-packages (-dev or
something for headers), but the upstream packages you will need are
meson, ninja, and python3.

Well, on my main computer I run Gentoo. Failing to build json-glib on the
upstairs computer (which runs OpenSUSE), I thought I'd try on my main
computer, but I'm having the same problems.

For building meson in /usr, see

Note that is still on 1.4.2 which is probably older than what you
are going to build.

I don't know what version json-glib from git is on. I cloned it as follows:
git clone But I'd be happy to
download a specific tarball, if anyone knows what version of json-glib is
currently required by GIMP.

I've no idea (I stick to releases) but looking at gimp's configure
script you will probably find a pkg-config test (always a bit
hit-and-miss, look for json-glib throughout the configure script,
until you find a test for pkg-config, then look for any variable it
uses such as json_glib_version or JSON_VERSION or whatever).

I don't think the _process_ of using meson has changed recently:
create a build directory, change to it, invoke meson with whatever
switches you need (a minimum of --prefix=) followed by .. to point
to where the meson files are.

I've never built anything using meson before. So I don't know how it was
done before or how it should be done now. I made a directory called "build"
within the clonse json-glib folder and cd'ed to is, and then used this
command to set the prefix:

meson configure --prefix=$PREFIX

No, maybe I confused you.

meson --prefix=$PREFIX ..

Meson is what does the configuration, and from a build directory it
needs '..' to point to its files.

Which resulted in this error:

Meson configurator encountered an error:

ERROR: Directory /hdd/data1/code-build/gimp299/build/json-glib/build does
not seem to be a Meson build directory.

I have found it necessary to export LC_ALL with a UTF-8 value, e.g.
en_GB.UTF-8, if invoking meson from a script running under the C or
POSIX locales.

I don't know what you are talking about. I have my locale information set to
UTF-8. I don't know what "script running under the C or POSIX locales"
actually means - can you explain?

If you are already using UTF-8, as expected, then that is fine.

C and POSIX locales are the old-style "everything is ASCII"
variants.  Sometimes (particularly for building some old packages
which got confused by modern locales) I have used scripts which
included "LC_ALL=C".

Please, having cd'ed to the "build" folder inside the json-glib folder,
what's the next thing to type?

As above, just meson with --prefix=$PREFIX  and .. to poitn to the
meson files.
Personally I don't care if I never build json-glib from source as the Gentoo
version is plenty recent enough for building GIMP from git. But I'm trying
to update my website article for people who *do* need to build json-glib
from source.


Gentoo uses "lib". OpenSUSE uses "lib64" or at least used to. Probably I
should check to see what's currently being used on OpenSUSE. But right now
I'm sitting at my Gentoo machine trying to do a test install of json-glib.


On Gentoo I have dev-util/meson-0.46.1 and dev-util/ninja-1.8.2 installed
from portage. And I have at least glib > 2.44 installed in the prefix. I
also have gobject-introspection installed from portage.

I don't think the problem is missing dependencies. I think the problem is
that I just don't know what to type at the command line.


Why is json-glib even a requirement for running GIMP? glib-json is described
on LFS as "The JSON GLib package is a library providing serialization and
deserialization support for the JavaScript Object Notation (JSON) format
described by RFC 4627. " -

Why does GIMP need anything even remotely related to javascript to run? GIMP
is an image editor.


The JSON format is popular in mnany places which have nothing to do with
javascript.  I assume they invented it so they got naming rights.

                      Well grubbed , old mole!

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]