Opened 9 months ago

Closed 8 months ago

Last modified 7 months ago

#13328 closed Bug Report - General (fixed)

commit b9c5f8b2ff breaks source build mythtv-fixes-29

Reported by: sergiomb2 Owned by: Stuart Auchterlonie
Priority: major Milestone: 29.2
Component: MythTV - General Version: v29.1
Severity: medium Keywords:
Cc: Ticket locked: no

Description

(0) it breaks build on RPMFusion, I have to revert this commit to be able to build packages again .

the builds end with a weird error (1) you may check a build.log (2)

(0) https://github.com/MythTV/mythtv/commit/b9c5f8b2ff983343d2545ec87022d18fcf65fe1f

(1) make[2]: * No rule to make target '/usr/lib64/libmyth-29.so', needed by 'libmythgallery.so'. Stop.

(2) http://koji.rpmfusion.org/kojifiles/work/tasks/5368/265368/build.log http://koji.rpmfusion.org/koji/taskinfo?taskID=265368

Attachments (1)

b9c5f8_fix.patch (936 bytes) - added by sergiomb2 8 months ago.

Download all attachments as: .zip

Change History (41)

comment:1 Changed 9 months ago by jpilk

The logfile has other instances of No rule... Stop

They are for the plugins

comment:2 Changed 9 months ago by jpilk

I hadn't noticed when I added comment 1 that the quoted commit was specifically for the plugins.

I added the comment because I had had problems building rpms for the plugins in master when first trying to use Gary B's script with Sergio's suggested patch for mockchain. Builds of recent master for Fedora 27 have been successful with Gary's patch and his updated script. I haven't tried mythtv-fixes. I've posted about this on the dev, users, lists and on kde-fedora about an el7/kde problem.

comment:3 Changed 8 months ago by jpilk

I should add that the rpms produced by this script are probably incompatible with those built from earlier rpmfusion specfiles. I 'dnf remove'd all earlier mythtv packages before installing the new ones, and have not seen any problems arising from incompatibilities.

https://github.com/garybuhrmaster/packaging/blob/master/MythTV/rpm/README

comment:4 Changed 8 months ago by Stuart Auchterlonie

Owner: set to Stuart Auchterlonie
Status: newaccepted

comment:5 Changed 8 months ago by sergiomb2

No rule to make target '/usr/lib64/libmyth-29.so', needed by 'libmythbrowser.so'.  Stop.

because libmyth-29.so was installed in /builddir/build/BUILD/mythtv-74fff5c2856d592b8b2dfd41ac5cc08f372a8993/fakeroot/usr/lib64/libmyth-29.so

make target should be %{buildroot}/usr/lib64/libmyth-29.so and not /usr/lib64/libmyth-29.so , it miss a prefix I guess

comment:6 Changed 8 months ago by Stuart Auchterlonie

Exactly. Was trying to see if we'd fixed it already in master, but it doesn't look like it.

comment:7 Changed 8 months ago by jpilk

I'm back home now and have just tried building rpms for fixes/29 MythTV and plugins,in case there had been a glitch in the transfer from master to fixes.

[john@HP_Fed rpm]$ ./BUILD_MYTHTV_RPMS -r /etc/mock/fedora-27-x86_64-rpmfusion_free.cfg fixes/29

and ~ 80 minutes later

Packages successfully built in this order: /tmp/tmp.Om2vlDOdwb/mythtv-29.1.40.g951f1fe7ea-100.src.rpm /tmp/tmp.Om2vlDOdwb/mythtv-plugins-29.1.40.g951f1fe7ea-100.src.rpm

where 'built' means that installable rpms have been created. I have no hardware available to test that they work.

comment:8 Changed 8 months ago by jpilk

...but an attempt to build master has just failed. Yet another tweak needed...

Wrote: /builddir/build/SRPMS/mythtv-plugins-30.Pre.837.g4651002fc0-100.fc27.src.rpm

BUILDSTDERR: /usr/bin/ld: cannot find -lomxil-bellagio
BUILDSTDERR: collect2: error: ld returned 1 exit status
BUILDSTDERR: make[2]: *** [Makefile:239: libmytharchive.so] Error 1

comment:9 Changed 8 months ago by David Hampton

I'm not sure how this would happen. My fc27 system builds cleanly without the libomxil-bellagio and libomxil-bellagio-devel. It also builds cleanly with those two packages installed. What's your output from:

ls -l /usr/include/bellagio/omxcore.h \

/usr/lib64/libomxil-bellagio.so \ /usr/lib64/libomxil-bellagio.so.0.0.0

comment:10 Changed 8 months ago by jpilk

I don't think I can do this at present, because the chroot has been cleared on failure. The libomoxil-bellagio package was installed during the build from the plugins srpm, but not libomoxil-bellagio.devel

comment:11 Changed 8 months ago by jpilk

I saw that Gary had updated the plugins specfile, so re-ran the build: similar failure.

But after 'git pull' another attempt worked and is running now.

2018-10-13 08:49:32.910582 C  mythfrontend version: HEAD -> master [v30-Pre-3d6f3e2e475] www.mythtv.org
2018-10-13 08:49:32.910596 C  Qt version: compile: 5.9.6, runtime: 5.9.6

comment:12 Changed 8 months ago by jpilk

Correction. That was before the new install.

2018-10-13 09:15:04.510994 C  mythfrontend version: HEAD -> master [v30-Pre-4651002fc0c] www.mythtv.org
2018-10-13 09:15:04.511007 C  Qt version: compile: 5.9.6, runtime: 5.9.6

Changed 8 months ago by sergiomb2

Attachment: b9c5f8_fix.patch added

comment:13 Changed 8 months ago by sergiomb2

Well found the issue problem is with [1], I sent in attach one fix, I tested .

[1]

--- a/mythplugins/targetdep.pro
+++ b/mythplugins/targetdep.pro
@@ -10,7 +10,7 @@ MYTH_SHLIB_EXT=$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB}
 MYTH_LIB_EXT  =$${LIBVERSION}.$${QMAKE_EXTENSION_LIB}
 
 
-DEPLIBS = $${LIBDIR}
+DEPLIBS = $${SYSROOT}$${LIBDIR}
 
 # On Windows, dlls were installed with exes:
 mingw : DEPLIBS = $${PREFIX}/bin

comment:14 Changed 8 months ago by Mark Spieth <mspieth@…>

Resolution: fixed
Status: acceptedclosed

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:14 Changed 8 months ago by Mark Spieth <mspieth@…>

Resolution: fixed
Status: acceptedclosed

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:15 Changed 8 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:16 Changed 8 months ago by sergiomb2

Sorry but the fix is : https://code.mythtv.org/trac/attachment/ticket/13328/b9c5f8_fix.patch and was not applied (yet). Thanks

comment:17 Changed 8 months ago by Stuart Auchterlonie

The fix I cherry-picked back, updates DEPLIBS as follows DEPLIBS = $${SYSROOT}$${LIBDIR} as does your patch. The lines which follow this use DEPLIBS to set the POST_TARGETDEPS, which means that SYSROOT is already included in the path being referenced.

Adding SYSROOT again to the POST_TARGETDEPS doesn't make sense, as you would then have the SYSROOT twice in the path to the libs.

Regards Stuart

comment:18 Changed 8 months ago by sergiomb2

For some reason we can't use DEPLIBS = $${SYSROOT}$${LIBDIR} in mythplugins/targetdep.pro , it breaks builds on Fedora 29+ ,

we need use DEPLIBS = $${LIBDIR}

comment:19 Changed 8 months ago by jpilk

I haven't tried to follow this in detail, but it looks to me as if it's fighting quite hard against the native mythtv layouts :-)

https://github.com/rpmfusion/mythtv/blob/master/mythtv.spec

# Fix things up so they can find our "temp" install location for mythtv-libs

comment:20 Changed 8 months ago by sergiomb2

Hi , suddenly though that may be a bug somewhere in new Fedora 29 pre-beta , so I tried build on centos 7 and without my fix (​https://code.mythtv.org/trac/attachment/ticket/13328/b9c5f8_fix.patch) fails (2) and with my fix builds successfully (3) . Since I know what patch breaks the build, I just try partial parts of the patch until find what part breaks the build and the part that breaks the build is (1):

(1)

--- a/mythplugins/targetdep.pro
+++ b/mythplugins/targetdep.pro
@@ -10,7 +10,7 @@ MYTH_SHLIB_EXT=$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB}
 MYTH_LIB_EXT  =$${LIBVERSION}.$${QMAKE_EXTENSION_LIB}
 
 
-DEPLIBS = $${LIBDIR}
+DEPLIBS = $${SYSROOT}$${LIBDIR}
 
 # On Windows, dlls were installed with exes:
 mingw : DEPLIBS = $${PREFIX}/bin

(2) http://koji.rpmfusion.org/koji/taskinfo?taskID=268869

(3) http://koji.rpmfusion.org/koji/taskinfo?taskID=268870

comment:21 Changed 8 months ago by sergiomb2

Resolution: fixed
Status: closednew

need to reopen it because is not fixed

comment:22 Changed 8 months ago by jpilk

I suspect that your specfile will need much more tweaking as you try to move towards MythTV v30. I may well be wrong; but this is what I have running in f27 now, built yesterday, as described above.

2018-10-16 15:20:50.601687 C  mythfrontend version: HEAD -> master [v30-Pre-5f18eb435ca] www.mythtv.org

comment:23 Changed 8 months ago by sergiomb2

ah yes at the end maybe is RPMFusion spec , I will check it later . Thanks for y our feedback , and I'm sorry if the fault is in RPMFusion spec

 echo "QMAKE_PROJECT_DEPTH = 0" >> settings.pro
    find . -name \*.pro \
        -exec sed -i -e "s,INCLUDEPATH += .\+/include/mythtv,INCLUDEPATH += $temp%{_includedir}/mythtv," {} \; \
        -exec sed -i -e "s,DEPLIBS = \$\${LIBDIR},DEPLIBS = $temp%{_libdir}," {} \; \
        -exec sed -i -e "s,\$\${PREFIX}/include/mythtv,$temp%{_includedir}/mythtv," {} \;

comment:24 Changed 8 months ago by Stuart Auchterlonie

There is an issue with the spec file which I had hoped would help, but it hasn't cured the situation

$ diff -u mythtv.spec.orig mythtv.spec
--- mythtv.spec.orig	2018-10-16 13:05:29.716284095 +0100
+++ mythtv.spec	2018-10-16 15:08:49.930850173 +0100
@@ -961,7 +961,7 @@
     echo "INCLUDEPATH -= \$\${SYSROOT}/\$\${PREFIX}/include" >> settings.pro
     echo "INCLUDEPATH -= %{_includedir}"       >> settings.pro
     echo "INCLUDEPATH += $temp%{_includedir}"  >> settings.pro
-    echo "LIBS *= -L$temp%{_libdir}"           >> settings.pro
+    echo "LIBS += -L$temp%{_libdir}"           >> settings.pro
     echo "QMAKE_LIBDIR += $temp%{_libdir}"     >> targetdep.pro
 
     ./configure \

It certainly doesn't look correct in it's original form

comment:25 Changed 8 months ago by Stuart Auchterlonie

The current problem is that the generated makefile mytharchive/mytharchive/Makefile doesn't include the build_root paths. Investigation continues.

$(TARGET):  $(OBJECTS) $(SUBLIBS) $(OBJCOMP)  /usr/lib64/libmyth-29.so /usr/lib64/libmythbase-29
.so /usr/lib64/libmythui-29.so /usr/lib64/libmythupnp-29.so /usr/lib64/libmyth-29.so /usr/lib64/
libmythbase-29.so /usr/lib64/libmythui-29.so /usr/lib64/libmythupnp-29.so
	-$(DEL_FILE) $(TARGET)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)

comment:26 Changed 8 months ago by Mark Spieth <mspieth@…>

Resolution: fixed
Status: newclosed

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:27 in reply to:  25 Changed 8 months ago by sergiomb2

Fixing RPMFusion mythtv.spec with (1) fix the builds , sorry for the noise .

(1)

-        -exec sed -i -e "s,DEPLIBS = \$\${LIBDIR},DEPLIBS = $temp%{_libdir}," {} \; \
+        -exec sed -i -e "s,DEPLIBS = \$\${SYSROOT}\$\${LIBDIR},DEPLIBS = $temp%{_libdir}," {} \; \

In reply of comment 25 :

yes, I also have problems on built mytharchive plugin, when clean all scriplets around find *.pro with sed -i and add to ./configure --mythroot=${temp} , also still investigate

Thanks

comment:28 Changed 8 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:29 Changed 8 months ago by jpilk

Perhaps this should be a pull request on Gary's page, but I'm still finding github difficult.

The new mythexternrecorder needs to be in the specfile, and the two fonts that are in there spam the frontend log. I added a line like the one for mythfilerecorder and commented out the 'font' lines.

After that the build was 'successful' but the rpms could not be installed; they were 'disabled,' perhaps because a new commit was made after my fork sync but before the build.

https://github.com/garybuhrmaster/packaging/blob/master/MythTV/rpm/SPECS/mythtv.spec

comment:30 Changed 8 months ago by jpilk

Attempts to sync the fork seemed to revert to earlier versions, so I went back to the original, did 'git pull' and edited mythtv.spec before running the build.

Packages successfully built in this order:
/tmp/tmp.ADmQ38AxIp/mythtv-30.Pre.871.g402f35a8ef-100.src.rpm
/tmp/tmp.ADmQ38AxIp/mythtv-plugins-30.Pre.871.g402f35a8ef-100.src.rpm

[root@HP_Fed RPMS]# dnf install noarch/*30.Pre.871*100.fc27.noarch.rpm  x86_64/*30.Pre.871*100.fc27.x86_64.rpm

Problem 31: conflicting requests
  - package mythtv-setup-debuginfo-30.Pre.871.g402f35a8ef-100.fc27.x86_64 is disabled

Is this a result of flags set by illegal or uncompleted git operations?

comment:31 Changed 8 months ago by jpilk

After changes to my github setup the build in a fork, with mythtv.spec patched as in comment 29, created a new set of rpms that are installed and working.

The 'fonts' spam continued until I 'dnf removed' the duplicates pulled in as dependencies earlier.

comment:32 Changed 8 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:33 Changed 8 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:34 Changed 8 months ago by jpilk

I committed specfiles for mythtv and mythtv-plugins to my fork of Gary's github page, and have recent master head from rpms running under KDE in f27 and el7. el7 has vpx disabled because KDE is tied to the older version in the distro. I also have an set of rpms for f28.

I tried a build of fixes/29. It failed when unable to find mythexternrecorder.

comment:35 Changed 8 months ago by jpilk

System now upgraded to Fedora 28. Other packages are now requiring google-droid fonts, so the frontend 'fonts' spam will continue, as a minor annoyance.

comment:36 Changed 8 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:37 Changed 8 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:38 Changed 7 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

comment:39 Changed 7 months ago by Mark Spieth <mspieth@…>

In d8a2db77f/mythtv:

Mythplugin build updates

refs #13252
Fixes #13328

(cherry picked from commit 443bbeffabdfd02d334a0df47200332ecf6ee1d1)
Signed-off-by: Stuart Auchterlonie <stuarta@…>

Note: See TracTickets for help on using tickets.