Ray-V / tde-slackbuilds

A fork of Thorn Inurcide's SlackBuilds for the Trinity Desktop Environment
17 stars 5 forks source link

TDE InkScape build stops at 17% #30

Closed dchmelik closed 2 years ago

dchmelik commented 2 years ago

TDE InkScape builds to 17%: make error log gist.

Ray-V commented 2 years ago

inkscape.SlackBuild: line 42: ldconfig: command not found

This is installed with glibc in /sbin which should be in the PATH variable

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

Looks as though there's a problem with the double-conversion archive, although it does build, but no package is created:

inkscape.SlackBuild: line 67: makepkg: command not found
inkscape.SlackBuild: line 68: installpkg: command not found

These are installed with pkgtools in /sbin which should be in the PATH variable

But where does this come from? Was it previously installed?

-- Found DoubleConversion: /usr/lib64/libdouble-conversion.a

Line 42 in the SlackBuild ldconfig -p|grep libdouble-conversion ... has been added to find double conversion in any library location, but obviously isn't working here as ldconfig can't be found.
And may not work anyway because the static library is installed.

I've set double conversion to build if the shared library can't be found and my log shows

-- Found DoubleConversion: /usr/local/lib64/libdouble-conversion.so


-- Checking for module 'ImageMagick++<=7'
-- No package 'ImageMagick++' found
-- Checking for module 'GraphicsMagick++'
-- No package 'GraphicsMagick++' found

Inkscape will be limited without one of these installed, preferably GraphicsMagick.
I haven't tested the build for ImageMagick.


-- Found Cython: /usr/bin/cython

I don't have Cython installed, so if there is any problem with that, I can't help


make[2]: No rule to make target 'po/en_GB.gmo', needed by 'share/templates/default_templates.timestamp'. Stop.
make[1]:
[CMakeFiles/Makefile2:5293: share/templates/CMakeFiles/default_templates.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

This is where the build fails - but then:

[ 1%] Generating en_GB.gmo

So has it been built or not?

The rest of the build to [ 17%] Built target 2geom is other make processes completing

The cmake log will have more details on this, but given the above command not found errors, I would guess that some other command can't be found.

po/CMakeLists.txt sets up gettext for this, but that has been found:

-- Found Gettext: /usr/bin/msgmerge (found version "0.21")
-- Found gettext + msgfmt to convert language files. Translation enabled

so maybe there is a dependent library/header missing.


Maybe the PATH issue is responsible for the tdeinit error?


If none of this is any help, selecting verbose output in the 'Build options' dialog screen will give a more detailed log.
And CMakeOutput.log should show missing commands/libraries/headers.

dchmelik commented 2 years ago

I have ldconfig 2.36 (which is in $PATH) ImageMagick 7.1.0_45 (and InkScape so don't want to build it unless necessary). I don't know what was generated but tried without en_GB and still stopped. I'll try again, but isn't there log what command wasn't found or is that logged somewhere else?

Ray-V commented 2 years ago

I have ldconfig 2.36 (which is in $PATH)

So, ldconfig can be found from the command line, but not from the SlackBuild script [?].

ImageMagick 7.1.0_45

I don't use that so let's hope it's not affecting the build - according to the gist it wasn't found in the cmake configuration!.
It will be easier to help if your setup is identical to mine - would you be willing to remove ImageMagick and any other double-conversion from your system and build GraphicsMagick and double-conversion from BUILD-TDE.sh?

(and InkScape so don't want to build it unless necessary).

So why are you trying to build inkscape and raising this issue if you already have it installed?
Just curious - I'm not implying you shouldn't because there might be something here which I ought to modify in the SlackBuild.

.. isn't there log what command wasn't found or is that logged somewhere else?

It will normally show in the console and the build log.

Try running BUILD-TDE.sh in verbose mode - check item [4] [*] verbose show command lines in the 'Build options' dialog screen [the one before the final summary screen].



I've been able to reproduce the 'en_GB.gmo' error.

Stop the inkscape build [Ctrl-C] after cmake has finished configuring, and just after make starts, and look in
/tmp/build/tmp-inkscape/inkscape-1.2.1_2022-07-14_9c6d41e410/build-inkscape/CMakeFiles/Makefile2.

Look for # Target rules for target share/templates/CMakeFiles/default_templates.dir and the following 5 lines and there are two make commands - the first succeeds, but the second fails.
This comes at [ 10%] of a successful build.
Run:

cd /tmp/build/tmp-inkscape/inkscape-1.2.1_2022-07-14_9c6d41e410/build-inkscape

make -f share/templates/CMakeFiles/default_templates.dir/build.make share/templates/CMakeFiles/default_templates.dir/depend

make -f share/templates/CMakeFiles/default_templates.dir/build.make share/templates/CMakeFiles/default_templates.dir/build

and the output is:

make: *** No rule to make target 'po/en_GB.gmo', needed by 'share/templates/default_templates.timestamp'.  Stop.

However, running:

cd /tmp/build/tmp-inkscape/inkscape-1.2.1_2022-07-14_9c6d41e410/po && /usr/bin/msgfmt -o /tmp/build/tmp-inkscape/inkscape-1.2.1_2022-07-14_9c6d41e410/build-inkscape/po/en_GB.gmo /tmp/build/tmp-inkscape/inkscape-1.2.1_2022-07-14_9c6d41e410/po/en_GB.po

which comes at [ 7%] of a successful build, and then the above make sequence again, the output is:

[  0%] Generating localized default templates

So given the 'command not found' errors, my guess is that msgfmt is not being found either, but how then do the other packages build?

Or there might be a race condition problem here where required stages of the build aren't available when needed.
Try a different value for the make '-j' option.
-j1 wouldn't be practical normally, but it would prove the point.

dchmelik commented 2 years ago
  • Is PATH being exported from the command line so that it is available in the script?

Yes.

What do you get if you add echo $PATH > /tmp/PATH to inkscape.SlackBuild?

Where?

  • Are you running the script as a user which gives a limited number of bin directories in the PATH?

No: typically root SlackBuilds.

  • Is your setup for the inkscape build identical to the setup for building the other packages? I can't understand how other packages have built. These issues would have caused those builds to fail I would have thought.

I build all at once.

ImageMagick 7.1.0_45

I don't use that so let's hope it's not affecting the build - according to the gist it wasn't found in the cmake configuration!. It will be easier to help if your setup is identical to mine - would you be willing to remove ImageMagick and any other double-conversion from your system and build GraphicsMagick and double-conversion from BUILD-TDE.sh?

I don't know what 'double-conversion' is but tried: worked!

So why are you trying to build inkscape and raising this issue if you already have it installed? Just curious - I'm not implying you shouldn't because there might be something here which I ought to modify in the SlackBuild.

I selected to build everything and it happened so I reported.

Try running BUILD-TDE.sh in verbose mode - check item [4] [*] verbose show command lines in the 'Build options' dialog screen [the one before the final summary screen].

Okay.

So given the 'command not found' errors, my guess is that msgfmt is not being found either, but how then do the other packages build?

gettext-tools-0.21-x86_64-3:usr/bin/msgfmt

Or there might be a race condition problem here where required stages of the build aren't available when needed. Try a different value for the make '-j' option. -j1 wouldn't be practical normally, but it would prove the point.

Okay (I typically use something -j24 to -j32).