Closed dchmelik closed 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.
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?
I have ldconfig 2.36 (which is in $PATH)
So, ldconfig can be found from the command line, but not from the SlackBuild script [?].
echo $PATH > /tmp/PATH
to inkscape.SlackBuild?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.
- 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).
TDE InkScape builds to 17%: make error log gist.