Ticket #91 (closed defect: fixed)

Opened 3 years ago

Last modified 2 years ago

Cross emerging dev-python/python-ecore-20090313 tries to link '/usr/lib/libecore_fb.so' from the host

Reported by: Daniel Benoy Owned by:
Priority: minor Milestone: milestone4
Component: target Keywords:
Cc: maxposedon@…

Description

To get to this point, I've followed the instructions at cross-compiling.

When I try to install python-ecore, I get the error '/usr/lib/libecore_fb.so: file not recognized: File format not recognized'

(Full build log will be attached)

I guess when it searched for libecore it looked in the paths of my host system.

emerge-armv4tl-softfloat-linux-gnueabi --info:

!!! Invalid PORTDIR_OVERLAY (not a dir): '/usr/armv4tl-softfloat-linux-gnueabi/usr/local/portage'
Portage 2.1.6.7 (!/usr/portage/local/layman/openmoko/trunk/openmoko-target/profiles/openmoko, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.23.16 x86_64)
=================================================================
System uname: Linux-2.6.23.16-x86_64-Intel-R-_Core-TM-2_Quad_CPU_@_2.40GHz-with-glibc2.2.5
Timestamp of tree: Fri, 13 Mar 2009 20:00:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.2-r8
dev-python/pycrypto: 2.0.1-r8
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="arm"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-Os -pipe -march=armv4t -mtune=arm920t -fomit-frame-pointer -I/usr/armv4tl-softfloat-linux-gnueabi/usr/include/ -I/usr/armv4tl-softfloat-linux-gnueabi/include/"
CHOST="armv4tl-softfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-Os -pipe -march=armv4t -mtune=arm920t -fomit-frame-pointer -I/usr/armv4tl-softfloat-linux-gnueabi/usr/include/ -I/usr/armv4tl-softfloat-linux-gnueabi/include/"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg distlocks fixpackages noinfo parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-L/usr/armv4tl-softfloat-linux-gnueabi/usr/lib -L/usr/armv4tl-softfloat-linux-gnueabi/lib"
LINGUAS="en"
MAKEOPTS="-j7"
PKGDIR="/usr/armv4tl-softfloat-linux-gnueabi/packages/"
PORTAGE_CONFIGROOT="/usr/armv4tl-softfloat-linux-gnueabi/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/usr/armv4tl-softfloat-linux-gnueabi/tmp/"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/openmoko/trunk/openmoko-target"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X arm bindist cracklib iconv make-symlinks midi minimal multicall ncurses nls python readline sqlite ssl unicode zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse tslib" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="fbdev glamo dummy"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Attachments

emergefail.log (6.2 kB) - added by Daniel Benoy 3 years ago.
cross-fix-root.patch (507 bytes) - added by Daniel Benoy 3 years ago.
python-ecore.cross.build.log (5.3 kB) - added by max_posedon 3 years ago.

Change History

Changed 3 years ago by Daniel Benoy

Changed 3 years ago by max_posedon

Strange, could you plz sync and install latest libtool-2.2.6a from portage or overlay, to your host. Latest libtool(at least overlays version) fixes most of the such bugs.

Changed 3 years ago by Daniel Benoy

Yes that was one of the instructions on the cross compiling wiki page. I just did it again just now to be sure.

olbetsy ~ # emerge -q1 libtool
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) sys-devel/libtool-2.2.6a from openmoko-target
>>> Installing sys-devel/libtool-2.2.6a
 * GNU info directory index is up-to-date.

The problem remains. No change when I try to emerge python-ecore again.

Also, I've just found another instance of this problem while trying to cross emerge bluez 4.

/usr/lib/libpython2.5.so: file not recognized: File format not recognized

Should I open another ticket for that, or do you think it may be all the same issue?

Changed 3 years ago by Daniel Benoy

Erm.. sorry I should clarify. It's while I was trying to emerge bluez 4, but the package that gave that error was cracklib-2.8.13

Changed 3 years ago by max_posedon

Yes, plz, open another bug, hm... also plz check that /usr/armv4tl-softfloat-linux-gnueabi/etc/bashrc exists for you and that the output from cross-fix-root armv4tl-softfloat-linux-gnueabi don't returns any errors.

Anyway all it strange for me, thats packages wasn't brokern(some others is), but I'm using ~x86 on host.

So, you can try fix it yourself, or may be somebody else know a solution - but I don't.

Changed 3 years ago by max_posedon

  • cc maxposedon@… added

Changed 3 years ago by max_posedon

about python-ecore : I think you shouldn't use USE="directfb fbcon (and also xcb)" for any app. X11 should be used on mainstream, and frankly speaking we didn't care about directfb and fbcon.

so, I think if you will reemerge all[ecore] with correct use, python-ecore won't fail

Changed 3 years ago by Daniel Benoy

cross-fix-root does indeed fail with errors. It looks for functions.sh in a place that it's not located on my system. I'll attached a fix. (If there's a better way to fix it I'll leave that up to you :p)

The failure seems to happen, though, after it's done all its business.. so I don't know if this has affected anything to this point.

Also, as far as I can tell I already don't have directfb fbcon or xcb USE flags applied.

Changed 3 years ago by Daniel Benoy

Changed 3 years ago by Daniel Benoy

I don't have '/usr/armv4tl-softfloat-linux-gnueabi/etc/bashrc', but I have '/usr/armv4tl-softfloat-linux-gnueabi/etc/bash/bashrc'

I imagine bash would look for either of those files though.

Changed 3 years ago by max_posedon

  1. This fix is already in crossdev-wrappers-9999 (as for me - I use 9999)
  2. Sorry, I mean /usr/armv4tl-softfloat-linux-gnueabi/etc/portage/bashrc, this file contains very important for crosscompilation post_install hack (fixing la and pc files after emerge-ing every package)
  3. Could you show emerge-armxxx -pv ecore? double check it haven't any fb enabled) also it mightbe connected with host version(if you have it) - I really don't know where is a key to your problems.

Changed 3 years ago by Daniel Benoy

1. Oh. 2. Yes that file is present. 3. Yes, that's how I verified it the first time. Also, I think I've figured it out what the source of this problem is.

fbcon is enabled on my *host* machine. Apparently some script during the python-ecore generation looked at the installation information for my host's ecore, and came to the conclusion that the _fb library was required, but when it tried to link the only one it could find was in /usr/lib, causing the failure.

I removed fbcon from my use flags and re-emerged ecore on my host, and then tried cross emerging python-ecore again. Sucessfully!

Thanks for pointing out that library file is tied to specific use flags. That's what I needed to figure this out.

So I guess whatever process python-ecore is using to determine your ecore installion should be hacked so that it points at the target root to resolve this bug.

Changed 3 years ago by sleipnir

The problem here is:

Downloading http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c9-py2.5.egg

If you look at both the compile and linker lines you will see that is contains -I/usr/include and -L/usr/lib all over. You get over the -Is, as you probably have -I/usr/armv4.../usr/include in your make.conf, but the problem is deeper. We need to prevent the package from downloading the file above, or at least fix it after downloading!

Changed 3 years ago by sleipnir

  • milestone changed from unsorted to milestone3

Changed 3 years ago by max_posedon

Changed 3 years ago by max_posedon

emerge-cross fails for me in such env:

[ebuild   R   ] x11-libs/evas-20090313  USE="X eet fbcon fontconfig gif jpeg mmx opengl png sdl sse svg threads tiff (-altivec) -cairo -directfb -edb -xcb -xpm" 0 kB [1]
[ebuild   R   ] dev-lang/python-2.6.2  USE="berkdb doc gdbm ncurses readline sqlite ssl threads xml -build -examples -ipv6 -tk -ucs2 -wininst" 0 kB [1]
[ebuild   R   ] x11-libs/ecore-20090313  USE="X fbcon opengl sdl ssl -curl -directfb -xcb" 0 kB [1]
[ebuild   R   ] x11-libs/ecore-20090313 to /usr/armv4tl-softfloat-linux-gnueabi/ USE="X opengl sdl ssl -curl -directfb -fbcon -xcb" 0 kB [1]

So, problem isn't connected with setuptools.

Changed 3 years ago by sleipnir

  • status changed from new to closed
  • resolution set to worksforme

Daniel, please reopen this bug if the error still persists. I will close this for now.

Changed 3 years ago by max_posedon

  • priority changed from major to minor
  • status changed from closed to reopened
  • resolution worksforme deleted
  • milestone changed from milestone3 to milestone4

I confirm that bug still reproduces, bad workaround is so simple ( keep ecore at host and target with same USE ), so I'll postpone this bug.

Changed 3 years ago by sleipnir

Ok hope this is fixed with revision r581 now... Could you please test!

Changed 2 years ago by sleipnir

  • status changed from reopened to closed
  • resolution set to fixed

No feedback after two month... Closing this as fixed.

Note: See TracTickets for help on using tickets.