[cooker] Spacefm and Lnav packages (contrib/unsupported repo) will not update.

(Ben Bullard) #1

Spacefm
the root.log starts with DEBUG on second line, I’ve not seen that
before. Of course I’m learning, and don’t really know much yet.
The build.log and script_output.log both have a lot, I mean a lot
of “BUILDSTDERR:”.

  The Lnav package does not seem to even try to build: I'm not sure but this one

looks unhappy with mock, or it isn’t feeding mock correctly,
“Build failed: mock encountered a problem.” Or maybe something I’m
not seeing.

  Part of me reporting this is that I hope to learn better how to

read to logs to see what is wrong when packages don’t build. And
also to help ‘either update and keep’ or identify packages we
should remove as unworkable, to damn old, or whatever. Or move
them to an archive so someone could work on them at some future
time.

0 Likes

#2

Read root.log

**Lnav: **

error: Bad source: /builddir/build/SOURCES/lnav-0.8.4.tar.bz2: No such file or directory
And now look at .abf.yml and .spec
You have uploaded the source archive with the extension "tar.gz", whereas in .spec you still have them defined as .tar.bz2
Just change extension in spec on line 8 from .tar.bz2 to .tar.gz

**Spacefm:**

this: main.c:189:42: error: implicit declaration of function 'major' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
not sure here, but you can try this, maybe it help a bit.
Add at the beginning of .spec this:
%define Werror_cflags %nil


0 Likes

(Neal Gompa) #3

We fail on this because that's broken code. Implicit function
declaration means something is being used without a definition. C has
a dumb behavior in which it'll just accept it anyway and create an
empty definition. This is generally _not_ what you want and will cause
segfaults at runtime. Something is broken, codewise.

0 Likes

(Bero) #4

Getting rid of -Werror=implicit-function-declaration just hides an error in the code.
The better fix is to replace major with gnu_dev_major (and add #include <sys/sysmacros.h> near the beginning of the file if it isn't there already).

ttyl
bero

0 Likes

(Ben Bullard) #5

OK, this is where I admit I don’t know how
to edit spec files. " replace major with gnu_dev_major
(and add #include <sys/sysmacros.h> near the beginning of
the file if it isn’t there already)" is over my head knowledge
wise. Part of the problem is that in the past when I’ve studied
bash scripting I learn it in the moment but don’t remember what
I’ve learned because I did not use it. I suspect that is about to
change.

How would I write " replace major
with gnu_dev_major":

%define gnu_dev_major

and then literally add:

#include <sys/sysmacros.h>

somewhere at beginning of file?

0 Likes

(Ben Bullard) #6

Also worth mentioning is that if this
package is broken as at the level of it’s code that is not
something for me to be dealing with. Me better stick to learning
.spec files and updating the simple and easy to update packages
and leave the broken stuff to people that know what they are
doing.

0 Likes

#7

Source file need to be patched. I made this patch and change in .spec from GTK2 to GTK3 and rename one buildrequires.
Look here https://github.com/OpenMandrivaAssociation/spacefm/commit/a5381a20d70c25ef9b5ee604629bd37d871afcf8

about Lnav:

It’s almost done. Now you need to add unpacked files to .spec. See this:

error: Installed (but unpackaged) file(s) found:
usr/share/man/man1/lnav.1.xz
so add this file in spec in %files section.
Should be somethings like:
%{_mandir}/man1/lnav.1.xz
0 Likes

(Ben Bullard) #8

So thanks to AngryPenguin for help on both
of these packages. They are built and both install on my 64 bit
system. Specefm works lnav does not. It fails to run with:

    lnav: symbol lookup error: lnav: undefined

symbol: _ZN7pcrecpp2RE4InitERKSsPKNS_10RE_OptionsE

    if someone wants to fix that great, if

not, so be it.

    Thanks to Bero's input for making me think

and prompting me to review some bash scripting stuff I learned
in a course last year and seem to have promptly forgotten. Like
Grandpa said “to learn it you have to use it”.

0 Likes

(Ben Bullard) #9

So thanks to AngryPenguin for help on both
of these packages. They are built and both install on my 64 bit
system. Specefm works lnav does not. It fails to run with:

        lnav: symbol lookup error: lnav:

undefined symbol: _ZN7pcrecpp2RE4InitERKSsPKNS_10RE_OptionsE

    if someone wants to fix that great, if

not, so be it.

    Thanks to Bero's input for making me think

and prompting me to review some bash scripting stuff I learned
in a course last year and seem to have promptly forgotten. Like
Grandpa said “to learn it you have to use it”.

    **Post-Edit:** I'm bumfoozled by no edit

button in Discourse Cooker forum.

0 Likes