Opened 5 years ago
Closed 5 years ago
Last modified 5 years 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)
Change History (41)
comment:1 Changed 5 years ago by
comment:2 Changed 5 years ago by
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 5 years ago by
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 5 years ago by
Owner: | set to Stuart Auchterlonie |
---|---|
Status: | new → accepted |
comment:5 Changed 5 years ago by
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 5 years ago by
Exactly. Was trying to see if we'd fixed it already in master, but it doesn't look like it.
comment:7 Changed 5 years ago by
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 5 years ago by
...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 5 years ago by
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 5 years ago by
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 5 years ago by
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 5 years ago by
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 5 years ago by
Attachment: | b9c5f8_fix.patch added |
---|
comment:13 Changed 5 years ago by
Well found the issue problem is with [1], I sent in attach one fix, I tested .
--- 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 5 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
In d8a2db77f/mythtv:
comment:14 Changed 5 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
In d8a2db77f/mythtv:
comment:16 Changed 5 years ago by
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 5 years ago by
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 5 years ago by
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 5 years ago by
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 5 years ago by
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
comment:21 Changed 5 years ago by
Resolution: | fixed |
---|---|
Status: | closed → new |
need to reopen it because is not fixed
comment:22 Changed 5 years ago by
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 5 years ago by
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 5 years ago by
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 follow-up: 27 Changed 5 years ago by
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:27 Changed 5 years ago by
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:29 Changed 5 years ago by
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 5 years ago by
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 5 years ago by
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:34 Changed 5 years ago by
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 5 years ago by
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.
The logfile has other instances of No rule... Stop
They are for the plugins