How to update one package and rebuild?

Help with using MiniMyth's build system

Moderator: Pablo

emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

How to update one package and rebuild?

Post by emlsnws »

Hi,

I want to update the LIRC package to 0.8.4a in my Minimyth build I made in September.

How is this done?

I've taken a guess at
- remove the old lirc-0.8.3 directory and the patches within it
- create a new lirc-0.8.4 directory and wget the .bz2 from the LIRC website into that
- cd ${build-root}
- make clean
- make garchive
- cd ${build-root}/script/meta/minimyth
- make build

That is still running, so in true cart-before-the-horse fashion I thought I'd see if I've taken the right steps.

I have a suspicion that there's a list of packages somewhere I need to revise lirc-0.8.3 -> 0.8.4a in, but I cannot find it....?

Thanks,
Simon.
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo »

The latest stable release (59) has the LIRC 0.8.4a. As the patch files are needed, I think the best thing to do would be to copy the files from the system/lirc package from latest stable release.

After that, run 'make clean-all' in 'system/lirc', 'make clean' in 'meta/minimyth', and 'make build' in 'meta/minimyth'.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

OK looks like I've done the wrong thing a bit.

What if I want to change to svn 18900 at the same time? I checked the Myth protocol, version 40, and the database schema, 1214, are all the same.

This is for my system with the legacy-nvidia drivers so _have_ to compile it myself. I remember from last time the places it needed to change, so does that make it not worthwhile to copy system/lirc from the latest stable build?

Thanks,
Simon.
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo »

emlsnws wrote:OK looks like I've done the wrong thing a bit.

What if I want to change to svn 18900 at the same time? I checked the Myth protocol, version 40, and the database schema, 1214, are all the same.

This is for my system with the legacy-nvidia drivers so _have_ to compile it myself. I remember from last time the places it needed to change, so does that make it not worthwhile to copy system/lirc from the latest stable build?

Thanks,
Simon.
If you want to update the MythTV 0.21 version to the latest SVN fixes, I would suggest building the MiniMyth 59 rather than just pulling packages from 59. Actually, given that there were a few bugs in 59, you might wait until 60.

Also, what legacy-nvidia driver are you using (71.x or 96.x)? I periodically upload a version built with the 96.x driver. When it exists, the stable version can be found here http://minimyth.org/download/stable/lat ... ia.96.x.x/. Also, when it exists, the test version can be found here http://minimyth.org/download/test/latest-nvidia.96.x.x/.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

Hi again,

I have picked out your svn 3890, it's the last one before build system 59 was begun.

I noticed that that one has the up-to-date lirc version plus some files which were added a bit later, as they were missing.

I'll report back how that builds....

Thanks,
Simon.
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

After my initial flush with success, which I reported in September, I didn't think it would be too difficult to repeat - but that was with build system 57.

I guess I should explain why I'm picking all these versions (apparently at random) and trying to get them to build.....

I have a new enclosure for Frontend #2, which is the infamous Antec Fusion Black Remote - with the Imon LCD, which not many people have got working. A recent development which should help is that the LCD is, apparently, supported by lirc-0.8.4a.

Picking a version with this included would save applying patches to older versions of lirc & recompiling (which isn't too difficult in a conventional distribution, but has to be done at build stage with MM). So if I pick the correct svn number it will be slicker all round...!

I have a minimyth (shell) script so I'd prefer to keep all my FEs the same and avoid perl scripts for the time being.

So I'm now trying to build svn 3890 which still has build system 58 and was before the kernel was changed to 2.6.27 (also something I don't need). So my real needs are a old-style minimyth.script, and lirc-0.8.4a.

So I thought that svn 3890 would suit me fairly well. All I have changed from the svn download is the nvidia '96.43.07' driver name, and added mame to the list of packages.

I have a couple of puzzling errors still. These are the errors:

Code: Select all

[mythtv@Server gar-minimyth]$ make garchive > logfile
*** GAR GAR GAR!  alsa-driver-1.0.18.tar.bz2 not in checksums file!  GAR GAR GAR! ***
make[3]: *** [checksum-alsa-driver-1.0.18.tar.bz2] Error 1
*** GAR GAR GAR!  alsa-driver-1.0.18.tar.bz2 not in checksums file!  GAR GAR GAR! ***
make[3]: *** [checksum-alsa-driver-1.0.18.tar.bz2] Error 1
*** GAR GAR GAR!  alsa-driver-1.0.18.tar.bz2 failed checksum test!  GAR GAR GAR! ***
make[3]: *** [checksum-alsa-driver-1.0.18.tar.bz2] Error 1
make[4]: *** [mm-all] Error 1
make[3]: *** [pre-everything] Error 2
make[2]: *** [garchive] Error 2
make[4]: *** [file//files/NVIDIA-Linux-x86-,-pkg1.run] Error 1
make[4]: *** [file///home/mythtv/mmbuild/0.21-fixes/gar-minimyth-3890/trunk/gar-minimyth/source/nvidia-,/NVIDIA-Linux-x86-,-pkg1.run] Error 1
--22:04:50--  http://us.download.nvidia.com/XFree86/Linux-x86/,/NVIDIA-Linux-x86-,-pkg1.run
           => `NVIDIA-Linux-x86-,-pkg1.run'
Resolving us.download.nvidia.com... 88.221.26.59
Connecting to us.download.nvidia.com|88.221.26.59|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
22:04:51 ERROR 404: Not Found.

make[4]: *** [http//us.download.nvidia.com/XFree86/Linux-x86/,/NVIDIA-Linux-x86-,-pkg1.run] Error 1
*** GAR GAR GAR!  Failed to download download/NVIDIA-Linux-x86-,-pkg1.run!  GAR GAR GAR! ***
make[3]: *** [download/NVIDIA-Linux-x86-,-pkg1.run] Error 1
*** GAR GAR GAR!  busybox-1.12.1-vi.patch failed checksum test!  GAR GAR GAR! ***
make[3]: *** [checksum-busybox-1.12.1-vi.patch] Error 1
[mythtv@Server gar-minimyth]$
By redirecting to 'logfile' only the stderr output is seen, which is the things I guess we need to fix.

I already tried these things:
* checking the alsa-driver files and all look ok, checksums match the checksum file. Even unlinking the symbolic link and copying in a real file.
* correcting the md5sum of the busybox patch in the checksum file
* checked that I have the correct files in the nvidia directory, so this particular error is perhaps not a big problem. Perhaps it is due to a script issue (the version number is missing from the URL in the output).

But nothing worked when I repeated 'make garchive', it was as if my changes were volatile. Is it a valid approach to make changes under the build directories? I would have thought so, surely.

Are the fixes relatively simple, or should I really wait for 60? (And use perl minimyth.script)
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo »

I am not sure why you are having the problem. However, it is likely that there was something broken in that SVN version.

However, the sh init scripts are still included in the most recent version, although they are no longer the defaults. Since they are not the default, you must add MM_INIT_TYPE=sh to the boot line in order to boot with the sh init scripts. Therefore, you can use either stable version 59 or test version 60b3 and still use the sh init scripts.

Also, as mentioned, there is a test build (60b3) built with the NVIDIA 97.x.x driver: http://minimyth.org/download/test/latest-nvidia.96.x.x/

I am curious, what actions are you performing with minimyth.script? MiniMyth includes minimyth.pm (perl init scripts) and minimyth.script (sh init scripts) so actions not supported by MiniMyth can be performed. However, assuming the actions performed are useful to others, I would rather they be built in to MiniMyth.

Also, with the iMon LCD connected, what is the output of

Code: Select all

lsusb
I ask because there are alot of recent LIRC changes to support newer iMon LCD devices. However, several of these changes were not added until after 0.8.4a.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

Here is the output of lsusb. As you can see, it's an 0038 device. I am reasonably confident that support is included for my device.

Code: Select all

# lsusb
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 1241:f766 Belkin
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 15c2:0038 SoundGraph Inc.
Bus 001 Device 001: ID 0000:0000
root@mythfront-sempron:~ #
That is good news on the sh init scripts. I am just keen to avoid making too many changes at once, really. Could you please give me an example of setting MM_INIT_TYPE=sh on the boot line? That is, obviously, not in minimyth.conf ... is it in syslinux.cfg ? I remember a change to ramdisk size a long time ago.

I am not performing any really clever stuff in the script. Just mounting directories which Minimyth doesn't have variables for yet (posters), and the roms directory. I have not used the MM_ variables for games - yet. I only use Mame so far and haven't got that fully working.

Code: Select all

# Include the MiniMyth configuration variables and functions.
. /etc/rc.d/functions

# Mount the posters directory
mkdir /mnt/posters
mount -o nolock 192.168.x.y:/storage/posters /mnt/posters

# Mount the roms directory
mkdir -p /storage/roms
mount -o nolock 192.168.x.y:/storage/roms /storage/roms
And finally, regarding the build errors I have been seeing. I am using Fedora 8 on a "new" machine (put together from parts). My previous success was on a Fedora 9 laptop.

I think something isn't quite right using the build system on FC8. As a rule, FC8 does not have /sbin in the path (for any user, root or unprivileged).

I have picked up the gar-...bz2 build of 60b3 and am giving that a try rather than the pre-built one, as I wish to get my new build machine functional.

This is the result of executing make build as root in script/meta/minimyth:
BTW root does not have a ~/.minimyth directory.

Code: Select all

[root@Server minimyth]# make build
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
make[1]: Entering directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
        [fetch] complete for minimyth.
        [checksum] complete for minimyth.
        [extract] complete for minimyth.
        [patch] complete for minimyth.
        [configure] complete for minimyth.
        [build] complete for minimyth.
checking ...
  build system binaries ...
    'ar' (from package 'binutils')
    'as' (from package 'binutils')
    'ld' (from package 'binutils')
    'nm' (from package 'binutils')
    'ranlib' (from package 'binutils')
    'bison' (from package 'bison')
    'bzip2' (from package 'bzip2')
    'basename' (from package 'coreutils')
    'cat' (from package 'coreutils')
    'chmod' (from package 'coreutils')
    'chown' (from package 'coreutils')
    'comm' (from package 'coreutils')
    'cp' (from package 'coreutils')
    'cut' (from package 'coreutils')
    'date' (from package 'coreutils')
    'dirname' (from package 'coreutils')
    'echo' (from package 'coreutils')
    'env' (from package 'coreutils')
    'expr' (from package 'coreutils')
    'false' (from package 'coreutils')
    'head' (from package 'coreutils')
    'id' (from package 'coreutils')
    'install' (from package 'coreutils')
    'ln' (from package 'coreutils')
    'ls' (from package 'coreutils')
    'md5sum' (from package 'coreutils')
    'mkdir' (from package 'coreutils')
    'mv' (from package 'coreutils')
    'od' (from package 'coreutils')
    'rm' (from package 'coreutils')
    'rmdir' (from package 'coreutils')
    'sleep' (from package 'coreutils')
    'sort' (from package 'coreutils')
    'split' (from package 'coreutils')
    'su' (from package 'coreutils')
    'tail' (from package 'coreutils')
    'test' (from package 'coreutils')
    'touch' (from package 'coreutils')
    'tr' (from package 'coreutils')
    'true' (from package 'coreutils')
    'uname' (from package 'coreutils')
    'uniq' (from package 'coreutils')
    'wc' (from package 'coreutils')
    'cvs' (from package 'cvs')
    'cmp' (from package 'diffutils')
    'diff' (from package 'diffutils')
    'file' (from package 'file')
    'find' (from package 'findutils')
    'flex' (from package 'flex')
    'awk' (from package 'gawk')
    'gawk' (from package 'gawk')
    'cpp' (from package 'gcc')
    'gcc' (from package 'gcc')
    'git' (from package 'git')
    'getconf' (from package 'glibc')
    'iconv' (from package 'glibc')
    'ldconfig' (from package 'glibc')
    'egrep' (from package 'grep')
    'fgrep' (from package 'grep')
    'grep' (from package 'grep')
    'gzip' (from package 'gzip')
    'm4' (from package 'm4')
    'make' (from package 'make')
    'patch' (from package 'patch')
    'sed' (from package 'sed')
    'svn' (from package 'subversion')
    'tar' (from package 'tar')
    'makeinfo' (from package 'texinfo')
    'wget' (from package 'wget')
  build user uid and gid
error: gar-minimyth cannot be run by the user 'root'.
make[1]: *** [mm-all] Error 1
make[1]: Leaving directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
make: *** [pre-everything] Error 2
[root@Server minimyth]#
[root@Server minimyth]# echo $PATH
/usr/kerberos/sbin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/bin:/usr/bin:/home/mythtv/bin:/sbin
[root@Server minimyth]#

So the check does work!

And here is the result of running the same command as mythtv:

Code: Select all

[mythtv@Server minimyth]# cat ~/.minimyth/minimyth.conf.mk
mm_HOME=/home/mythtv/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07

[mythtv@Server minimyth]$ make build
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
make[1]: Entering directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
        [fetch] complete for minimyth.
        [checksum] complete for minimyth.
        [extract] complete for minimyth.
        [patch] complete for minimyth.
        [configure] complete for minimyth.
        [build] complete for minimyth.
checking ...
  build system binaries ...
    'ar' (from package 'binutils')
error: your system does not contain the program 'ar' (from package 'binutils').
make[1]: *** [mm-all] Error 1
make[1]: Leaving directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
make: *** [pre-everything] Error 2
[mythtv@Server minimyth]$

[mythtv@Server minimyth]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/bin:/usr/bin:/home/mythtv/bin:/sbin:/usr/sbin

I think it may be a path-related issue, but as mythtv I had already executed export PATH=$PATH:/sbin:/usr/sbin" to try to solve it. If you don't do that, the script cannot find ldconfig and stops earlier.

I see a couple of other forum members had similar experiences with Fedora 8 :

http://minimyth.org/forum/viewtopic.php?t=1678
http://minimyth.org/forum/viewtopic.php ... g+compiler

These I also saw, but found I could circumvent by going into the gmp-4.2.2 directory and manually executing make (or make build, I forget). That gets past that issue on a one-time basis, it seems that when running from a makefile gcc cannot be found. Perhaps I have mistakenly used the system's gcc and not the cross gcc (cross compiling is pretty new to me).

And the next issue is the 'cannot find ar' one.

I'll keep investigating - thanks,
Simon.
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

I have added a debug output statement, echo ${PATH}, into the make script to see what's going on.

(I have added backslashes to wrap the long Path lines below)

Code: Select all

[mythtv@Server minimyth]$ make build
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
make[1]: Entering directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
        [fetch] complete for minimyth.
        [checksum] complete for minimyth.
        [extract] complete for minimyth.
        [patch] complete for minimyth.
        [configure] complete for minimyth.
        [build] complete for minimyth.
checking ...
//home/mythtv/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/sbin:\
//home/mythtv/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/bin:\ //home/mythtv/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/usr/sbin:\ 
//home/mythtv/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/usr/bin:\
//home/mythtv/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/usr/kde/bin:\
//home/mythtv/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/bin-build-system
  build system binaries ...
    'ar' (from package 'binutils')
error: your system does not contain the program 'ar' (from package 'binutils').
make[1]: *** [mm-all] Error 1
make[1]: Leaving directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
make: *** [pre-everything] Error 2
[mythtv@Server minimyth]$ 
And as root:

Code: Select all

[root@Server minimyth]# make build
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
make[1]: Entering directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
        [fetch] complete for minimyth.
        [checksum] complete for minimyth.
        [extract] complete for minimyth.
        [patch] complete for minimyth.
        [configure] complete for minimyth.
        [build] complete for minimyth.
checking ...
//root/svnroot/minimyth/gar-minimyth/images/build/sbin:\
//root/svnroot/minimyth/gar-minimyth/images/build/bin:\
//root/svnroot/minimyth/gar-minimyth/images/build/usr/sbin:\
//root/svnroot/minimyth/gar-minimyth/images/build/usr/bin:\
//root/svnroot/minimyth/gar-minimyth/images/build/usr/kde/bin:\
//root/svnroot/minimyth/gar-minimyth/images/build/bin-build-system:\
/usr/kerberos/sbin:\
/usr/lib/qt-3.3/bin:\
/usr/kerberos/bin:\
/usr/lib/ccache:\
/usr/local/bin:\
/bin:/usr/bin:\
/home/mythtv/bin:\
/sbin:\
/usr/sbin
  build system binaries ...
    'ar' (from package 'binutils')
    :
    BIG SNIP
    :
    'wget' (from package 'wget')
  build user uid and gid
error: gar-minimyth cannot be run by the user 'root'.
make[1]: *** [mm-all] Error 1
make[1]: Leaving directory `/mnt/data/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/script/meta/minimyth'
make: *** [pre-everything] Error 2
[root@Server minimyth]#
So the mythtv user has a replacement PATH (compared to the shell) with what looks like mm_HOME inserted before each item. Root has some additional path entries with /root/svnroot (which does not exist on my build system) followed by the vanilla path.

I am unsure what I should be seeing, bearing in mind this is a cross-compiling system, and the PATH inside the Makefile might be intended to be something special. But I can also see that the root situation looks like it might work, if it were not for the special check that stops the script (to avoid potentially crippling the system, very sensible).

I also don't like the double slashes at the beginning of each 'special minimyth' item in the path - perhaps there is a trailing/leading slash in one of the scripts that's fouling things up?

I have a symbolic link to my mmbuild directory, this may also be part of the problem.
Last edited by emlsnws on Mon Nov 10, 2008 2:44 pm, edited 2 times in total.
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

OK on Fedora 8, 'which' is aliased to something clever to give a colour output or somesuch. I unaliased it and there was no change in the error.

So I edited 'files/check.mk' and changed the invocation of 'which' to '/usr/bin/which'.

I have also remounted my mmbuild directory which was through a symbolic link to another HDD - now it's mounted under /home/mythtv/minimyth (so the pathnames have changed in the below log compared to previous ones).

Result of 'make build':

Code: Select all

[mythtv@Server minimyth]$ make build
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
[===== NOW BUILDING:    minimyth-0.21.0-59      =====]
        [fetch] complete for minimyth.
        [checksum] complete for minimyth.
        [extract] complete for minimyth.
        [patch] complete for minimyth.
        [configure] complete for minimyth.
        [build] complete for minimyth.
checking ...
//home/mythtv/minimyth/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/sbin:\
//home/mythtv/minimyth/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/bin:\
//home/mythtv/minimyth/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/usr/sbin:\
//home/mythtv/minimyth/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/usr/bin:\
//home/mythtv/minimyth/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/usr/kde/bin:\
//home/mythtv/minimyth/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/bin-build-system
  build system binaries ...
    'ar' (from package 'binutils')
    :
    BIG SNIP
    :
    'wget' (from package 'wget')
  build user uid and gid
  / and /usr directory access
  build system binaries ... done
  obsolete parameters and parameter values ...
    mm_CHIPSETS
    mm_INSTALL_TFTP_BOOT
    mm_INSTALL_CRAMFS
    mm_INSTALL_NFS
    mm_XORG_VERSION='old'
    mm_XORG_VERSION='new'
  obsolete parameters and parameter values ... done
  build parameters ...
    HOME
    mm_GARCH
    mm_HOME
    mm_DEBUG
    mm_DEBUG_BUILD
    mm_GRAPHICS
    mm_SOFTWARE
    mm_KERNEL_HEADERS_VERSION
    mm_KERNEL_VERSION
    mm_KERNEL_VERSION >= mm_KERNEL_HEADERS_VERSION
    mm_MYTH_VERSION
    mm_NVIDIA_VERSION
    mm_XORG_VERSION
  build parameters ... done
  build system parameters ...
  distribution parameters ...
    mm_DISTRIBUTION_RAM
    mm_DISTRIBUTION_NFS
    mm_DISTRIBUTION_LOCAL
    mm_DISTRIBUTION_SHARE
    mm_INSTALL_RAM_BOOT
    mm_INSTALL_NFS_BOOT
    mm_INSTALL_LATEST
    mm_DISTRIBUTION_RAM
    mm_DISTRIBUTION_NFS
    mm_DISTRIBUTION_LOCAL
  distribution parameters ... done
checking ... done
        [all] complete for minimyth.
        [fetch] complete for minimyth.
        [checksum] complete for minimyth.
        [extract] complete for minimyth.
        [patch] complete for minimyth.
 ==> Building utils/coreutils as a dependency
[===== NOW BUILDING:    coreutils-6.12  =====]
        [fetch] complete for coreutils.
        [checksum] complete for coreutils.
        [extract] complete for coreutils.
        [patch] complete for coreutils.
 ==> Building lang/c as a dependency
[===== NOW BUILDING:    c-none  =====]
        [fetch] complete for c.
        [checksum] complete for c.
        [extract] complete for c.
        [patch] complete for c.
 ==> Building lib/libgcc as a dependency
[===== NOW BUILDING:    libgcc-4.3.0    =====]
        [fetch] complete for libgcc.
        [checksum] complete for libgcc.
        [extract] complete for libgcc.
        [patch] complete for libgcc.
        [configure] complete for libgcc.
[===== NOW BUILDING:    gcc-4.3.0       =====]
        [fetch] complete for gcc.
        [checksum] complete for gcc.
        [extract] complete for gcc.
        [patch] complete for gcc.
 ==> Building lib/gmp as a dependency
[===== NOW BUILDING:    gmp-4.2.4       =====]
        [fetch] complete for gmp.
        [checksum] complete for gmp.
        [extract] complete for gmp.
        [patch] complete for gmp.
 ==> Running configure in work/build.d/gmp-4.2.4
checking build system type... i386-redhat-linux-gnu
checking host system type... i386-redhat-linux-gnu
checking for a BSD-compatible install... //home/mythtv/minimyth/mmbuild/0.21-fixes/gar-minimyth-0.21.0-60b3-nvidia.96.43.07/images/build/bin-build-system/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking ABI=32
checking compiler gcc -pipe -march=i686 -O2 -m32  ... no
configure: error: could not find a working compiler, see config.log for details
make[9]: *** [configure-work/build.d/gmp-4.2.4/configure] Error 1
make[8]: *** [../../lib/gmp/cookies/build.d/install] Error 2
make[7]: *** [imgdep-build] Error 2
make[6]: *** [build-custom] Error 2
make[5]: *** [../../lib/libgcc/cookies/build.d/install] Error 2
make[4]: *** [imgdep-build] Error 2
make[3]: *** [../../lang/c/cookies/build.d/install] Error 2
make[2]: *** [imgdep-build] Error 2
make[1]: *** [../../utils/coreutils/cookies/build.d/install] Error 2
make: *** [imgdep-build] Error 2
[mythtv@Server minimyth]$

I still have a double slash despite my turning the path to the build-root from a path including a symbolic link to one involving a mounted disk. This should be less troublesome as there is no duality to the pathname(s). But it doesn't seem to make a difference in the end.

And we now have what others have seen ... " configure: error: could not find a working compiler, see config.log for details "

I guess the problem occurs at gmp because it's the first package to be compiled.
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

We have a solution

Post by emlsnws »

The the build is running now :-)

Thanks are due to Michael J. Hammel (mjhammel on this forum) who posted this thread http://minimyth.org/forum/viewtopic.php?t=1455

... and this on his website:

- on Fedora 7 the default compiler is found using a package called ccache, which is used to speed startup of the compiler. That means "type gcc" (which lists the location of gcc under BASH) will report "/usr/lib/ccache/gcc". That doesn’t work for the Minimyth build - it dies when it tries to build a package called gmp, which is a dependency for building the Minimyth gcc. To get around that you simply start the build by explicitly setting the CC environment variable, such as:

make CC=/usr/bin/gcc build

Says it all really. I started looking at the path to gcc, following symlinks from bin-build-system to ccache and thence to gcc itself, it was all getting a bit suspect (link after link after link) and it seems F8 has the same problem as F7 which Michael has identified.

The build has not yet finished, so as Michael also said, the coreutils compilation may fail. If that's the case I will remove ccache from the system using the package manager.
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

The build did stop at coreutils, so I have now removed ccache ("yum remove ccache") and am continuing.

$ grep BUILDING nohup.out
[===== NOW BUILDING: minimyth-0.21.0-59 =====]
[===== NOW BUILDING: minimyth-0.21.0-59 =====]
[===== NOW BUILDING: minimyth-0.21.0-59 =====]
[===== NOW BUILDING: build-system-bins- =====]
[===== NOW BUILDING: coreutils-6.12 =====]
[===== NOW BUILDING: c-none =====]
[===== NOW BUILDING: libgcc-4.3.0 =====]
[===== NOW BUILDING: gcc-4.3.0 =====]
[===== NOW BUILDING: gmp-4.2.4 =====]
[===== NOW BUILDING: mpfr-2.3.1 =====]
[===== NOW BUILDING: make-3.81 =====]
[===== NOW BUILDING: binutils-2.19 =====]
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
emlsnws
Contributor
Posts: 52
Joined: Wed Sep 03, 2008 9:13 am
Location: Gloucestershire, UK

Post by emlsnws »

The build completed successfully - now I just have to install it in the FE and test/experiment with the LCD.

So, in summary, to build on Fedora 8, it seems a couple of things are needed:

* remove the package ccache if it is installed, or mjhammel stated to change the path order which I have not tried.
* make a local change in files/check.mk to specify '/usr/bin/which' instead of just 'which'. This seemed to be a real problem to me. YMMV.

I don't recall either of these problems when I built on F9. (I still have that machine set up, so I can refer to it).

It seems as though the use of a symbolic link in a path to the build-root directory may not have been a real problem, it just seemed so at the time that error messages were reporting /mnt/data/mmbuild/ instead of /home/mythtv/mmbuild. This is the 'duality' I was talking about. It seemed sensible to remove the possibility of a problem there by mounting the HDD used for building in a different way.

Some of my earlier build attempts may have worked too, if I had sought out the real issues at the time.

So, my next post will report back how it went with the lirc-0.8.4a package with the infamous Imon LCD in my case (which is what all this is for....)
Backend: AN7-Guru w/Athlon XP-M 2400+ running FC8 and Mythtv SVN 17450
Frontend1: EPIA M10000 running Minimyth pre-built
Frontend2: MSI K7N2 (MS-6777) Athlon running Minimyth 66b5, Antec Fusion Black, VGA to Scart PAL
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo »

Thank you for the information. I have updated the MiniMyth build system web page to reflect the need to make sure that ccache is not installed.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo »

emlsnws wrote:

Code: Select all

# Include the MiniMyth configuration variables and functions.
. /etc/rc.d/functions

# Mount the posters directory
mkdir /mnt/posters
mount -o nolock 192.168.x.y:/storage/posters /mnt/posters

# Mount the roms directory
mkdir -p /storage/roms
mount -o nolock 192.168.x.y:/storage/roms /storage/roms
I have added a new minimyth.conf variable MM_MEDIA_GENERIC_LIST that can contain a list of space separated {mountpoint}={url} values. Each {url} in the list will be mounted at its corresponding {mountpoint}. It will be in the next test build.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.
Post Reply