Hello, I was trying to install an the LTIB on Ubuntu 12.04. I have got through all of the package installs and changed the Ltibutils.pm to find the glibc-devel and zlib. I am stuck when running it errors with a host_config.log that contains only this:
rpmdb: --force-debian: unknown option
Died at ./ltib line 2337.
traceback:
main::setup_rpmdb:2337
main::check_rpm_setup:2400
main::host_checks:1423
main:542
Started: Tue Aug 7 11:15:31 2012
Ended: Tue Aug 7 11:15:31 2012
Elapsed: 0 seconds
Build Failed
When I attempt to use ltib on Ubuntu 10.0 the root.squashfs does not get built
The P1020MSBG_WLAN_RDB-release-notes.txt release notes say:
IV. How to update the image:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Open tftp server and secureCRT with a baud rate of 115200
2. Run script file tftpdown-p1020wlan-nor.vbs in secureCRT to update P1020WLAN image, or tftpdown-p1020rdb-nand.vbs for P1020RDB board, or tftpdown-p1020msbg-nor.vbs for P1020MSBG.
3. uImage, root.squashfs and rootfs.image.gz can be used for both P1020WLAN and P1020RDB boards.
4. p1020wlan.dtb is used for P1020WLAN, p1020rdb.dtb is only for P1020RDB board, and p1020msbg.dtb for P1020MSBG board.
5. u-boot-rdb.bin is used for P1020RDB board, and as u-boot.bin is used for P1020WLAN X5 REV B board,
V. Known Issues and Workaround:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Features are supported in Beta release:
1. Squashfs filesytem compiled with Ubuntu Linux on some PC cannot run on this board.
Hi,
I'm trying to build an image from L3.0.35_12.09.01, on Ubuntu 12.04. Each step went well, but I have an error with Busybox. I tried all the modifications and pateches quoted in the previous posts.
networking/udhcp/common.c: In function 'udhcp_str2optset':
networking/udhcp/common.c:512:218: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/common.c:530:242: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/common.c:530:242: error: invalid 'asm': invalid operand for code 'w'
make[1]: *** [networking/udhcp/common.o] Error 1
make[1]: *** Waiting for unfinished jobs....
networking/udhcp/dhcpd.c: In function 'select_lease_time':
networking/udhcp/dhcpd.c:136:255: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/dhcpd.c:136:255: error: invalid 'asm': invalid operand for code 'w'
make[1]: *** [networking/udhcp/dhcpd.o] Error 1
networking/udhcp/dumpleases.c: In function 'dumpleases_main':
networking/udhcp/dumpleases.c:85:251: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/dumpleases.c:85:251: error: invalid 'asm': invalid operand for code 'w'
make[1]: *** [networking/udhcp/dumpleases.o] Error 1
networking/udhcp/dhcprelay.c: In function 'dhcprelay_main':
networking/udhcp/dhcprelay.c:291:24: error: impossible constraint in 'asm'
make[1]: *** [networking/udhcp/dhcprelay.o] Error 1
networking/udhcp/dhcpc.c: In function 'init_packet':
networking/udhcp/dhcpc.c:583:218: error: invalid 'asm': invalid operand for code 'w'
make[1]: *** [networking/udhcp/dhcpc.o] Error 1
networking/udhcp/files.c: In function 'read_config':
networking/udhcp/files.c:116:336: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/files.c:116:336: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/files.c:117:332: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/files.c:117:332: error: invalid 'asm': invalid operand for code 'w'
make[1]: *** [networking/udhcp/files.o] Error 1
networking/udhcp/leases.c: In function 'find_free_or_expired_nip':
networking/udhcp/leases.c:169:234: error: invalid 'asm': invalid operand for code 'w'
networking/udhcp/leases.c:169:234: error: invalid 'asm': invalid operand for code 'w'
make[1]: *** [networking/udhcp/leases.o] Error 1
make: *** [networking/udhcp] Error 2
networking/httpd.c: In function 'handle_incoming_and_exit':
networking/httpd.c:1939:285: error: invalid 'asm': invalid operand for code 'w'
networking/httpd.c:1939:285: error: invalid 'asm': invalid operand for code 'w'
make[1]: *** [networking/httpd.o] Error 1
make: *** [networking] Error 2
error: Bad exit status from /home/bruno/ltib/tmp/rpm-tmp.39174 (%build)
RPM build errors:
Bad exit status from /home/bruno/ltib/tmp/rpm-tmp.39174 (%build)
Build time for busybox: 4 seconds
The files are not always the same, but I get always the same error. I guess it's that there is a mixup between the host and the target headers, so as explained here : Invalid Operand for Code W « Nerdland
I don't find where I should specify the correct path...
I found another quirk while building an LTIB image from L3.0.35_12.09.03. It appears that the configure script for alsa-utils leaks information from the host ncurses installation. In particular, it uses a script named 'ncurses5-config' to determine which libraries to link against.
On Ubuntu 12.04, ncurses5 depends on a library named 'tinfo', which isn't present in the LTIB source package.
The attached patch is a hack to get around this.
To use it, you'll also need to hack dist/lfs-5.1/alsa-utils/alsa-utils.spec like so:
--- dist/lfs-5.1/alsa-utils/alsa-utils.spec.bak 2012-12-18 10:35:59.750755780 -0700 +++ dist/lfs-5.1/alsa-utils/alsa-utils.spec 2012-12-18 10:35:59.750755780 -0700 @@ -11,6 +11,7 @@ Source : alsa-utils-%{version}.tar.bz2 #Patch1 : alsa-utils-1.0.10-cf.patch #Patch2 : alsa-utils-1.0.11rc2-ldl.patch +Patch1 : alsa-utils-1.0.24.2-1355852159.patch BuildRoot : %{_tmppath}/%{name} Prefix : %{pfx} @@ -24,6 +25,7 @@ %setup #%patch1 -p1 #%patch2 -p1 +%patch1 -p1 %Build if [ -n "$UCLIBC" ]
For those using Ubuntu 12.04, there is a script with do all the necessary patching. Please refer to
In fact, you don't even need to download it, just go to the above link, COPY the download link and under your ltib folder, run the following command:
$ curl -L <link> | bash
where <link> should be something like
https://community.freescale.com/servlet/JiveServlet/downloadBody/<latest version>/patch-ltib-ubuntu12.04.sh
I hope it works.
Not quite.
...
gcc -O2 -Wall -Wno-implicit -o wget cmpt.o connect.o convert.o cookies.o ftp.o ftp-basic.o ftp-ls.o ftp-opie.o hash.o headers.o host.o html-parse.o html-url.o http.o init.o log.o main.o gen-md5.o netrc.o progres
gen_sslfunc.o: In function `init_ssl':
gen_sslfunc.c:(.text+0x343): undefined reference to `SSLv2_client_method'
collect2: ld returned 1 exit status
make[1]: *** [wget] Error 1
make[1]: Leaving directory `/opt/freescale/ltib/usr/src/rpm/BUILD/wget-1.9.1/src'
make: *** [src] Error 2
error: Bad exit status from /home/jstashluk/software/seemore/os/ltib/tmp/rpm-tmp.31174 (%build)
RPM build errors:
Bad exit status from /home/jstashluk/software/seemore/os/ltib/tmp/rpm-tmp.31174 (%build)
Build time for wget: 14 seconds
Failed building wget
Died at ./ltib line 1392.
traceback:
main::build_host_rpms:1392
main::host_checks:1447
main:554
Started: Thu Oct 11 10:03:53 2012
Ended: Thu Oct 11 10:04:08 2012
Elapsed: 15 seconds
These packages failed to build:
wget
Build Failed
Hi Jeremy,
I have not seen that error before. Can you try these commands:
$ ./ltib -m prep -p wget
$ ./ltib -m scbuild -p wget
Also please execute this command
dpkg --get-selections | grep ssl
and send me log. Are you using the Desktop or Server version?
Leo
Hi,
I meet the same error with Jeremy. I tried your solution listed below:
$ ./ltib -m prep -p wget
$ ./ltib -m scbuild -p wget
but the error still occurs. I attached two log files (one is my original log file, the other one is the log file after I did the above two commands).
and I also did
$ dpkg --get-selections | grep ssl
and the output is listed below.
$ dpkg --get-selections | grep ssl
libio-socket-ssl-perl install
libnet-smtp-ssl-perl install
libnet-ssleay-perl install
libssl-dev install
libssl-doc install
libssl0.9.8:i386 install
libssl1.0.0 install
libssl1.0.0:i386 install
openssl install
python-openssl install
ssl-cert install
Can you help me to solve the problem?
Any ideas?
Jeremy's solution was to edit wget.spec to remove openssl as shown above.
I'm seeing a different error. I'm using Ubuntu 12.04 for ltib for the iMX6 kernel L3.0.35_12.09.01_ER_SOURCE. I applied the patch file above. When I ran ./ltib, it failed with "error: failed to stat /home/jc3/.gvfs: Permission denied". Partial host_config.log below:
done |
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/BUILD
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/SOURCES
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/SPECS
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/SRPMS
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS/i386
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS/i486
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS/i586
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS/i686
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS/athlon
/bin/sh ./mkinstalldirs /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS/noarch
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/opt/freescale/ltib/usr/src/rpm/RPMS/noarch
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/var
mkdir /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386/var/tmp
make[2]: Leaving directory `/tmp/rpm-jc3/BUILD/rpm-4.0.4'
make[1]: Leaving directory `/tmp/rpm-jc3/BUILD/rpm-4.0.4'
+ echo /opt/freescale/ltib/usr
+ sed -e s,/usr$,,
+ var=/opt/freescale/ltib/var
+ echo /opt/freescale/ltib/usr
+ sed -e s,/usr$,,
+ etc=/opt/freescale/ltib/etc
+ mkdir -p /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/pkgs
+ chmod 777 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/pkgs
+ mkdir -p /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/var/tmp
+ chmod 777 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/var/tmp
+ chmod 777 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/BUILD /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/RPMS /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/SOURCES /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/SPECS /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/SRPMS
+ chmod 777 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/RPMS/athlon /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/RPMS/i386 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/RPMS/i486 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/RPMS/i586 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/RPMS/i686 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/src/rpm/RPMS/noarch
+ mkdir -p /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/etc/rpm
+ chmod 777 /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/etc/rpm
+ chmod -x /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/lib/rpm/perl.req
+ cd /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386//opt/freescale/ltib/usr/lib/rpm
+ perl -pi -e s,([ :])/usr/lib/rpm,\1/opt/freescale/ltib/usr/lib/rpm,g cpanflute cpanflute2 find-provides find-provides.perl find-requires find-requires.perl macros rpmpopt-4.0.4 rpmrc trpm
+ cd -
/tmp/rpm-jc3/BUILD/rpm-4.0.4
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip strip
+ /usr/lib/rpm/brp-strip-static-archive strip
+ /usr/lib/rpm/brp-strip-comment-note strip /usr/bin/objdump
Processing files: rpm-fs-4.0.4-1.i686
unknown, 0: Warning: using regular magic file `/etc/magic'
Provides: libbeecrypt.so.2 libpopt.so.0 librpm-4.0.4.so librpmbuild-4.0.4.so librpmdb-4.0.4.so librpmio-4.0.4.so libtool(/opt/freescale/ltib/usr/lib/libbeecrypt.la) libtool(/opt/freescale/ltib/usr/lib/libpopt.la) libtool(/opt/freescale/ltib/usr/lib/librpm.la) libtool(/opt/freescale/ltib/usr/lib/librpmbuild.la) libtool(/opt/freescale/ltib/usr/lib/librpmdb.la) libtool(/opt/freescale/ltib/usr/lib/librpmio.la) perl(RPM::Specfile) = 1.02
Requires(interp): /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires: /bin/bash /bin/sh /usr/bin/perl libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.15) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.2) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libpopt.so.0 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.2) libpthread.so.0(GLIBC_2.3.2) librpm-4.0.4.so librpmbuild-4.0.4.so librpmdb-4.0.4.so librpmio-4.0.4.so librt.so.1 librt.so.1(GLIBC_2.1) libz.so.1 perl(Archive::Tar) perl(CGI) perl(Data::Dumper) perl(File::Basename) perl(File::Copy) perl(File::stat) perl(Getopt::Long) perl(POSIX) perl(Specfile) perl(Sys::Hostname) perl(lib) perl(strict) perl(vars) rtld(GNU_HASH)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386
Wrote: /tmp/rpm-jc3/RPMS/i686/rpm-fs-4.0.4-1.i686.rpm
Executing(%clean): /bin/sh -e /home/jc3/mx6/ltib/tmp/rpm-tmp.WQxWTZ
+ umask 022
+ cd /tmp/rpm-jc3/BUILD
+ cd rpm-4.0.4
+ rm -rf /tmp/rpm-jc3/BUILDROOT/rpm-fs-4.0.4-1.i386
+ exit 0
Executing(--clean): /bin/sh -e /home/jc3/mx6/ltib/tmp/rpm-tmp.knTAbH
+ umask 022
+ cd /tmp/rpm-jc3/BUILD
+ rm -rf rpm-4.0.4
+ exit 0
Build time for rpm-fs: 140 seconds
warning: Generating 12 missing index(es), please wait...
sudo rpm --force-debian --root / --dbpath /tmp/rpm-jc3/rpmdb -e --allmatches --nodeps --define '_tmppath /home/jc3/mx6/ltib/tmp' rpm-fs 2>/dev/null
sudo rpm --force-debian --root / --dbpath /tmp/rpm-jc3/rpmdb --ignorearch -ivh --force --nodeps --excludedocs --define '_tmppath /home/jc3/mx6/ltib/tmp' /tmp/rpm-jc3/RPMS/i686/rpm-fs-4.0.4-1.i686.rpm
Preparing... | ################################################## |
rpm-fs | ################################################## |
sudo /opt/freescale/ltib/usr/bin/rpm --root / --dbpath /opt/freescale/ltib/var/lib/rpm -Uv --justdb --notriggers --noscripts --nodeps /tmp/rpm-jc3/RPMS/i686/rpm-fs-4.0.4-1.i686.rpm
error: failed to stat /home/jc3/.gvfs: Permission denied
Preparing packages for installation...
Updating lpp from local packages
+ cp -dp /home/jc3/mx6/ltib/pkgs/16colors.txt /opt/freescale/pkgs/16colors.txt
+ cp -dp /home/jc3/mx6/ltib/pkgs/16colors.txt.md5 /opt/freescale/pkgs/16colors.txt.md5
+ cp -dp /home/jc3/mx6/ltib/pkgs/alsa-lib-1.0.24.1 /opt/freescale/pkgs/alsa-lib-1.0.24.1
cp: omitting directory `/home/jc3/mx6/ltib/pkgs/alsa-lib-1.0.24.1'
Died at ./ltib line 2518.
traceback:
main::check_dirs:2518
main::host_checks:1438
main:554
Started: Fri Nov 30 12:52:22 2012
Ended: Fri Nov 30 12:54:45 2012
Elapsed: 143 seconds
Build Failed
Hi John,
Did you get past this one? It looks like you have root ownership on your /opt/freescale tree.
I got to the ltib menu, selected various options, and proceeded to build the kernel image. Busybox fails:
LINK | busybox_unstripped |
Trying libraries: m
Failed: -Wl,--start-group -lm -Wl,--end-group
Output of:
gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -Os -o busybox_unstripped -Wl,--start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,--end-group -Wl,--start-group -lm -Wl,--end-group
==========
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find /lib/libc.so.6
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find /usr/lib/libc_nonshared.a
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find /lib/ld-linux.so.3
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
error: Bad exit status from /home/jc3/mx6/ltib/tmp/rpm-tmp.89700 (%build)
RPM build errors:
Bad exit status from /home/jc3/mx6/ltib/tmp/rpm-tmp.89700 (%build) |
Build time for busybox: 10 seconds
Failed building busybox
f_buildrpms() returned an error, exiting
traceback:
main:572
Started: Mon Dec 3 09:30:40 2012
Ended: Mon Dec 3 09:30:52 2012
Elapsed: 12 seconds
These packages failed to build:
busybox
Build Failed
Exiting on error or interrupt
jc3@jc3-ubuntu:~/mx6/ltib$
Any suggestions would be most appreciated...
Hi John,
I just noticed that my earlier note was cryptic, but in this case, you're seeing the same problem as I had: LTIB is trying to find libraries in your host system directories. In other words, it's trying to load /lib/libc.so.6 instead of finding the library within the LTIB tree.
The answer seems to be simple. Go into ltib/dist/lfs/base_libs/base_libs.spec and find these lines:
# remove absolute paths from text search files (if they exist)
perl -w -e '
@ARGV = grep { `file $_` =~ m,ASCII C program text, } @ARGV;
exit(0) unless @ARGV;
Remove the last two (the lines beginning with "@ARGV" and "exit(0)" and you should be good to go.
I have this exact problem:
https://community.freescale.com/message/289362#289362
Adding "--without-ssl" to the configure line in the wget.spec file gets me past it.
Next problem:
Ubuntu 12.04-64 has no: /usr/include/sys/types.h
I made it a symbolic link to /usr/include/x86_64-linux-gnu/sys/types.h
Next problem:
while building busybox
/lib/libc.so.6: file not recognized: File format not recognized
logs are attached.
Hi Jeremy -
First off is that types.h problem in elftosb? I had the same problem and the right way to fix it is to change the source code headers (stdafx.h and common/stdafx.h) to use <sys/types.h> rather than an absolute path.
Regarding the busybox build issue - Have you had any luck on this? I'm in the same boat here.
Yes, it was with elfosb. Thanks for the correct fix.
As for the busybox problem. I'm not sure if/why we are not really in the LTIB shell when it reads the ..../ltib/rootfs/usr/lib/libc.so linker script, but the build script tries to find the files on the normal host filesystem instead of the LTIB filesystem/toolchain.
I changed the last line of the linker script to:
GROUP ( /home/jstashluk/software/project/os/ltib/rootfs/lib/libc.so.6 /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/default/usr/lib/libc_nonshared.a AS_NEEDED ( /home/jstashluk/software/project/os/ltib/rootfs/lib/ld-linux.so.3 ) )
Perhaps it would be better to remove the path info altogether as it appears in the libc.so script on my Ubuntu 10.10 VM?
Thanks Jeremy. Which linker script are you referring to? A busybox script (scripts/trylink)?
These aren't really shared libraries, they are linker scripts. I'm not sure what is responsible for generating them:
rootfs/usr/lib/libc.so
rootfs/usr/lib/libpthread.so
Removing the path information from them allows LTIB to proceed:
GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.3 ) )
The busybox package is just the first one that has a problem with this, there are others.
Thanks Jeremy,
This allowed my build to complete.
I looked on a 10.10 LTIB installation and found that the references in libc.so and libpthread.so didn't contain any path information, so I did the same:
~/ltib_201103/rootfs/usr/lib$ cat libc.so /* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf32-littlearm) GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.3 ) )
I traced this down to this snippet in dist/lfs/base_libs:
# remove absolute paths from text search files (if they exist) perl -w -e ' @ARGV = grep { `file $_` =~ m,ASCII C program text, } @ARGV; exit(0) unless @ARGV; $^I = ".bak"; while(<>) { s,[\S/]+/,,g if m,^GROUP,; print; } ' $RPM_BUILD_ROOT/%{pfx}/lib/libc.so \ $RPM_BUILD_ROOT/%{pfx}/lib/libpthread.so \ $RPM_BUILD_ROOT/%{pfx}/usr/lib/libc.so \ $RPM_BUILD_ROOT/%{pfx}/usr/lib/libpthread.so
I'm not very strong in perl, but I believe the first two lines prevent the body of this in-line perl program from removing the absolute paths for both libc.so and libpthread.so:
@ARGV = grep { `file $_` =~ m,ASCII C program text, } @ARGV; exit(0) unless @ARGV;
I did verify that if you replace libc.so and libpthread.so with softlinks to ../../lib/libc.so.6 and ../../lib/libpthread.so.0, respectively, the build does NOT work. So, I wouldn’t try that.
Wow. I would never have found that. Thanks! Talk about something that is completely wrong. I wonder if putting softlinks to ../../lib/libc.so.6 and the libpthread would work as well?
John