FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Embedded

 
 
LinkBack Thread Tools
 
Old 10-17-2008, 03:27 PM
Christoph Spielmann
 
Default GenOM (Gentoo on Openmoko)

Hi everybody!

At the moment myself and some other ppl are working on getting Gentoo on
the Openmoko Freerunner. Thanks to TuXXX and crossdev i was able to get
a basic build toolchain with glibc-2.7, gcc-4.3 and binutils-2.18 up and
running quite fast. Till now i was able to cross-compile almost
everything most things needed extra care (i have quite a huge overlay
for crosscompiling packages by now but i don't want to release it just
yet because i want to clean things up a bit before i'll let somebody
else see this). The only thing i'm still fighting with (something i
wanted to merge earlier but wasn't able to convince it to compile so i
pushed it back but now i need it for enlightenment) is perl (and thus
libperl). The first time i tried it wasn't even able to get over the
configuration hurdle (damn i HATE this hand-written pita-configure
script of perl) but with my second try i decided to have a look at how
they are doing it at openembedded (did you realize that
openembedded-bitbake files look almost the same as ebuilds?) and i was
able to make some progress. Now it starts to compile, it uses my
build-hosts' perl-executable to compile the perl-stuff... But sooner or
later the build always fails. The first problem i hit was that if i
don't comment out the following lines in
/usr/lib/perl5/5.8.8/x86_64-linux/Errno.pm the build fails with the
given error message:

"$Config{'archname'}-$Config{'osvers'}" eq
"x86_64-linux-2.6.25-hh1" or
die "Errno architecture (x86_64-linux-2.6.25-hh1) does not match
executable architecture ($Config{'archname'}-$Config{'osvers'})";

When i comment these three lines build goes a bit further but failes
with the following error message afterards:

Making Filter::Util::Call (dynamic)
Writing Makefile for Filter::Util::Call
make[2]: Entering directory
`/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/work/perl-5.8.8/ext/Filter/Util/Call'
Can't load '../../../../lib/auto/File/Glob/Glob.so' for module
File::Glob: ../../../../lib/auto/File/Glob/Glob.so: wrong ELF class:
ELFCLASS32 at ../../../../lib/XSLoader.pm line 70.
at ../../../../lib/File/Glob.pm line 96
Compilation failed in require at ../../../../lib/ExtUtils/Command.pm
line 61.
BEGIN failed--compilation aborted at ../../../../lib/ExtUtils/Command.pm
line 61.
Compilation failed in require.
BEGIN failed--compilation aborted.
make[2]: *** [../../../../lib/Filter/Util/.exists] Error 9

The steps i tried are the same as mentioned in the README-file in the
Cross-Subdirectory of the unpacked perl-tarball:

unpack it (plus do some additional patching) using portage
execute make patch and make perl manually (i want to make it work
manually before i actually try to make it work using portage...)

I guess the error message means that something is linked against Glob.so
that should not be linked against it. What kinda wonders me is the fact
that it's complaining about ELFCLASS32 but if i am correct the
arm-processor uses a 32-bit architecture?? If it would complain about
ELFCLASS64 i would know what the problem is, it linked something against
my build-hosts libs.

Anyway maybe I'll attach my config-file for perl, maybe somebody else is
able to make sense of all this and enlighten me.

Thanks in advance,

Christoph


#!/bin/sh
#
# This file was produced by running the Configure script. It holds all the
# definitions figured out by Configure. Should you modify one of these values,
# do not forget to propagate your changes by running "Configure -der". You may
# instead choose to run each of the .SH files by yourself, or "Configure -S".
#

# Package name : perl5
# Source directory : .
# Configuration time: Thu Apr 5 19:20:23 EST 2007
# Configured by : Open Embedded
# Target system : linux birgitte 2.6.21-rc5 #63 tue mar 27 14:41:54 est 2007 i686 gnulinux

Author='
Date='$Date'
Header='
Id='$Id'
Locker='
Log='$Log'
Mcc='Mcc'
RCSfile='$RCSfile'
Revision='$Revision'
Source='
State='
_a='.a'
_exe='
_o='.o'
afs='false'
afsroot='/afs'
ansi2knr='
aphostname='
api_revision='5'
api_subversion='0'
api_version='8'
api_versionstring='5.8.0'
ar='ar'
archlib='/usr/lib/perl/5.8'
archlibexp='/usr/lib/perl/5.8'
archname64='
archname='armv4tl-softfloat-linux-gnueabi-linux-thread-multi'
archobjs='
asctime_r_proto='REENTRANT_PROTO_B_SB'
awk='awk'
baserev='5.0'
bash='
bin='/usr/bin'
binexp='/usr/bin'
bison='bison'
byacc='byacc'
c='
castflags='0'
cat='cat'
cc='gcc'
cccdlflags='-fPIC'
ccdlflags='-Wl,-E'
ccname='gcc'
ccversion='
cf_by='Open Embedded'
cf_email='Open Embedded@localhost.localdomain'
cf_time='Thu Apr 5 23:06:39 EST 2007'
charsize='1'
chgrp='
chmod='chmod'
chown='
clocktype='clock_t'
comm='comm'
compress='
contains='grep'
cp='cp'
cpio='
cpp='cpp'
cpp_stuff='42'
cpplast='-'
cppminus='-'
cpprun='gcc -E'
cppstdin='gcc -E'
crypt_r_proto='REENTRANT_PROTO_B_CCS'
cryptlib='
csh='csh'
ctermid_r_proto='0'
ctime_r_proto='REENTRANT_PROTO_B_SB'
d_Gconvert='gcvt((x),(n),(b))'
d_PRIEUldbl='define'
d_PRIFUldbl='define'
d_PRIGUldbl='define'
d_PRIXU64='define'
d_PRId64='define'
d_PRIeldbl='define'
d_PRIfldbl='define'
d_PRIgldbl='define'
d_PRIi64='define'
d_PRIo64='define'
d_PRIu64='define'
d_PRIx64='define'
d_SCNfldbl='define'
d__fwalk='undef'
d_access='define'
d_accessx='undef'
d_aintl='undef'
d_alarm='define'
d_archlib='define'
d_asctime_r='define'
d_atolf='undef'
d_atoll='define'
d_attribute_format='define'
d_attribute_malloc='define'
d_attribute_nonnull='define'
d_attribute_noreturn='define'
d_attribute_pure='define'
d_attribute_unused='define'
d_attribute_warn_unused_result='undef'
d_bcmp='define'
d_bcopy='define'
d_bsd='undef'
d_bsdgetpgrp='undef'
d_bsdsetpgrp='undef'
d_bzero='define'
d_casti32='undef'
d_castneg='define'
d_charvspr='define'
d_chown='define'
d_chroot='define'
d_chsize='undef'
d_class='undef'
d_clearenv='define'
d_closedir='define'
d_cmsghdr_s='define'
d_const='define'
d_copysignl='define'
d_crypt='define'
d_crypt_r='define'
d_csh='undef'
d_ctermid_r='undef'
d_ctime_r='define'
d_cuserid='define'
d_dbl_dig='define'
d_dbminitproto='undef'
d_difftime='define'
d_dirfd='define'
d_dirnamlen='undef'
d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
d_drand48_r='define'
d_drand48proto='define'
d_dup2='define'
d_eaccess='undef'
d_endgrent='define'
d_endgrent_r='undef'
d_endhent='define'
d_endhostent_r='undef'
d_endnent='define'
d_endnetent_r='undef'
d_endpent='define'
d_endprotoent_r='undef'
d_endpwent='define'
d_endpwent_r='undef'
d_endsent='define'
d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
d_faststdio='undef'
d_fchdir='define'
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_fcntl_can_lock='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_finite='define'
d_finitel='define'
d_flexfnam='define'
d_flock='define'
d_flockproto='define'
d_fork='define'
d_fp_class='undef'
d_fpathconf='define'
d_fpclass='undef'
d_fpclassify='undef'
d_fpclassl='undef'
d_fpos64_t='undef'
d_frexpl='define'
d_fs_data_s='undef'
d_fseeko='define'
d_fsetpos='define'
d_fstatfs='define'
d_fstatvfs='define'
d_fsync='define'
d_ftello='define'
d_ftime='undef'
d_futimes='define'
d_getcwd='define'
d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='define'
d_getgrent_r='define'
d_getgrgid_r='define'
d_getgrnam_r='define'
d_getgrps='define'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='define'
d_gethname='define'
d_gethostbyaddr_r='define'
d_gethostbyname_r='define'
d_gethostent_r='define'
d_gethostprotos='define'
d_getitimer='define'
d_getlogin='define'
d_getlogin_r='define'
d_getmnt='undef'
d_getmntent='define'
d_getnbyaddr='define'
d_getnbyname='define'
d_getnent='define'
d_getnetbyaddr_r='define'
d_getnetbyname_r='define'
d_getnetent_r='define'
d_getnetprotos='define'
d_getpagsz='define'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='define'
d_getpgid='define'
d_getpgrp2='undef'
d_getpgrp='define'
d_getppid='define'
d_getprior='define'
d_getprotobyname_r='define'
d_getprotobynumber_r='define'
d_getprotoent_r='define'
d_getprotoprotos='define'
d_getprpwnam='undef'
d_getpwent='define'
d_getpwent_r='define'
d_getpwnam_r='define'
d_getpwuid_r='define'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='define'
d_getservbyname_r='define'
d_getservbyport_r='define'
d_getservent_r='define'
d_getservprotos='define'
d_getspnam='define'
d_getspnam_r='undef'
d_gettimeod='define'
d_gmtime_r='define'
d_gnulibc='define'
d_grpasswd='define'
d_hasmntopt='define'
d_htonl='define'
d_ilogbl='define'
d_index='undef'
d_inetaton='define'
d_int64_t='define'
d_isascii='define'
d_isfinite='undef'
d_isinf='define'
d_isnan='define'
d_isnanl='define'
d_killpg='define'
d_lchown='define'
d_ldbl_dig='define'
d_libm_lib_version='define'
d_link='define'
d_localtime_r='define'
d_locconv='define'
d_lockf='define'
d_longdbl='define'
d_longlong='define'
d_lseekproto='define'
d_lstat='define'
d_madvise='define'
d_malloc_good_size='undef'
d_malloc_size='undef'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memchr='define'
d_memcmp='define'
d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
d_mkdtemp='define'
d_mkfifo='define'
d_mkstemp='define'
d_mkstemps='undef'
d_mktime='define'
d_mmap='define'
d_modfl='define'
d_modfl_pow32_bug='undef'
d_modflproto='define'
d_mprotect='define'
d_msg='define'
d_msg_ctrunc='define'
d_msg_dontroute='define'
d_msg_oob='define'
d_msg_peek='define'
d_msg_proxy='define'
d_msgctl='define'
d_msgget='define'
d_msghdr_s='define'
d_msgrcv='define'
d_msgsnd='define'
d_msync='define'
d_munmap='define'
d_mymalloc='undef'
d_nice='define'
d_nl_langinfo='define'
d_nv_zero_is_allbits_zero='define'
d_off64_t='define'
d_old_pthread_create_joinable='undef'
d_oldpthreads='undef'
d_oldsock='undef'
d_open3='define'
d_pathconf='define'
d_pause='define'
d_perl_otherlibdirs='define'
d_phostname='undef'
d_pipe='define'
d_poll='define'
d_portable='define'
d_procselfexe='define'
d_pthread_atfork='define'
d_pthread_attr_setscope='define'
d_pthread_yield='define'
d_pwage='undef'
d_pwchange='undef'
d_pwclass='undef'
d_pwcomment='undef'
d_pwexpire='undef'
d_pwgecos='define'
d_pwpasswd='define'
d_pwquota='undef'
d_qgcvt='define'
d_quad='define'
d_random_r='define'
d_readdir64_r='define'
d_readdir='define'
d_readdir_r='define'
d_readlink='define'
d_readv='define'
d_recvmsg='define'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
d_safebcpy='undef'
d_safemcpy='undef'
d_sanemcmp='define'
d_sbrkproto='define'
d_scalbnl='define'
d_sched_yield='define'
d_scm_rights='define'
d_seekdir='define'
d_select='define'
d_sem='define'
d_semctl='define'
d_semctl_semid_ds='define'
d_semctl_semun='define'
d_semget='define'
d_semop='define'
d_sendmsg='define'
d_setegid='define'
d_seteuid='define'
d_setgrent='define'
d_setgrent_r='undef'
d_setgrps='define'
d_sethent='define'
d_sethostent_r='undef'
d_setitimer='define'
d_setlinebuf='define'
d_setlocale='define'
d_setlocale_r='undef'
d_setnent='define'
d_setnetent_r='undef'
d_setpent='define'
d_setpgid='define'
d_setpgrp2='undef'
d_setpgrp='define'
d_setprior='define'
d_setproctitle='undef'
d_setprotoent_r='undef'
d_setpwent='define'
d_setpwent_r='undef'
d_setregid='define'
d_setresgid='define'
d_setresuid='define'
d_setreuid='define'
d_setrgid='undef'
d_setruid='undef'
d_setsent='define'
d_setservent_r='undef'
d_setsid='define'
d_setvbuf='define'
d_sfio='undef'
d_shm='define'
d_shmat='define'
d_shmatprototype='define'
d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_sigaction='define'
d_sigprocmask='define'
d_sigsetjmp='define'
d_sockatmark='define'
d_sockatmarkproto='define'
d_socket='define'
d_socklen_t='define'
d_sockpair='define'
d_socks5_init='undef'
d_sprintf_returns_strlen='define'
d_sqrtl='define'
d_srand48_r='define'
d_srandom_r='define'
d_sresgproto='define'
d_sresuproto='define'
d_statblks='define'
d_statfs_f_flags='undef'
d_statfs_s='define'
d_statvfs='define'
d_stdio_cnt_lval='undef'
d_stdio_ptr_lval='undef'
d_stdio_ptr_lval_nochange_cnt='undef'
d_stdio_ptr_lval_sets_cnt='undef'
d_stdio_stream_array='undef'
d_stdiobase='undef'
d_stdstdio='undef'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
d_strerror_r='define'
d_strftime='define'
d_strlcat='undef'
d_strlcpy='undef'
d_strtod='define'
d_strtol='define'
d_strtold='define'
d_strtoll='define'
d_strtoq='define'
d_strtoul='define'
d_strtoull='define'
d_strtouq='define'
d_strxfrm='define'
d_suidsafe='undef'
d_symlink='define'
d_syscall='define'
d_syscallproto='define'
d_sysconf='define'
d_sysernlst='
d_syserrlst='define'
d_system='define'
d_tcgetpgrp='define'
d_tcsetpgrp='define'
d_telldir='define'
d_telldirproto='define'
d_time='define'
d_times='define'
d_tm_tm_gmtoff='define'
d_tm_tm_zone='define'
d_tmpnam_r='define'
d_truncate='define'
d_ttyname_r='define'
d_tzname='define'
d_ualarm='define'
d_umask='define'
d_uname='define'
d_union_semun='undef'
d_unordered='undef'
d_unsetenv='define'
d_usleep='define'
d_usleepproto='define'
d_ustat='define'
d_vendorarch='define'
d_vendorbin='define'
d_vendorlib='define'
d_vendorscript='define'
d_vfork='undef'
d_void_closedir='undef'
d_voidsig='define'
d_voidtty='
d_volatile='define'
d_vprintf='define'
d_wait4='define'
d_waitpid='define'
d_wcstombs='define'
d_wctomb='define'
d_writev='define'
d_xenix='undef'
date='date'
db_hashtype='u_int32_t'
db_prefixtype='size_t'
db_version_major='
db_version_minor='
db_version_patch='
defvoidused='15'
direntrytype='struct dirent'
dlext='so'
dlsrc='dl_dlopen.xs'
doublesize='8'
drand01='drand48()'
drand48_r_proto='REENTRANT_PROTO_I_ST'
dynamic_ext='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs='
endgrent_r_proto='0'
endhostent_r_proto='0'
endnetent_r_proto='0'
endprotoent_r_proto='0'
endpwent_r_proto='0'
endservent_r_proto='0'
eunicefix=':'
exe_ext='
expr='expr'
extensions='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared Errno'
extras='
fflushNULL='define'
fflushall='undef'
find='
firstmakefile='makefile'
flex='
fpossize='16'
fpostype='fpos_t'
freetype='void'
from=':'
full_ar='/usr/bin/ar'
full_csh='/bin/csh'
full_sed='/bin/sed'
gccansipedantic='
gccosandvers='
getgrent_r_proto='REENTRANT_PROTO_I_SBWR'
getgrgid_r_proto='REENTRANT_PROTO_I_TSBWR'
getgrnam_r_proto='REENTRANT_PROTO_I_CSBWR'
gethostbyaddr_r_proto='REENTRANT_PROTO_I_TsISBWRE'
gethostbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
gethostent_r_proto='REENTRANT_PROTO_I_SBWRE'
getlogin_r_proto='REENTRANT_PROTO_I_BW'
getnetbyaddr_r_proto='REENTRANT_PROTO_I_uISBWRE'
getnetbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
getnetent_r_proto='REENTRANT_PROTO_I_SBWRE'
getprotobyname_r_proto='REENTRANT_PROTO_I_CSBWR'
getprotobynumber_r_proto='REENTRANT_PROTO_I_ISBWR'
getprotoent_r_proto='REENTRANT_PROTO_I_SBWR'
getpwent_r_proto='REENTRANT_PROTO_I_SBWR'
getpwnam_r_proto='REENTRANT_PROTO_I_CSBWR'
getpwuid_r_proto='REENTRANT_PROTO_I_TSBWR'
getservbyname_r_proto='REENTRANT_PROTO_I_CCSBWR'
getservbyport_r_proto='REENTRANT_PROTO_I_ICSBWR'
getservent_r_proto='REENTRANT_PROTO_I_SBWR'
gidsign='1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
gmake='gmake'
gmtime_r_proto='REENTRANT_PROTO_S_TS'
grep='grep'
groupcat='cat /etc/group'
groupstype='gid_t'
gzip='gzip'
h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat='cat /etc/hosts'
html1dir=' '
html1direxp='
html3dir=' '
html3direxp='
i16size='2'
i16type='short'
i32size='4'
i64size='8'
i8size='1'
i8type='char'
i_arpainet='define'
i_bsdioctl='
i_crypt='define'
i_db='undef'
i_dbm='undef'
i_dirent='define'
i_dld='undef'
i_dlfcn='define'
i_fcntl='undef'
i_float='define'
i_fp='undef'
i_fp_class='undef'
i_gdbm='undef'
i_grp='define'
i_ieeefp='undef'
i_inttypes='define'
i_langinfo='define'
i_libutil='undef'
i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
i_math='define'
i_memory='undef'
i_mntent='define'
i_ndbm='undef'
i_netdb='define'
i_neterrno='undef'
i_netinettcp='define'
i_niin='define'
i_poll='define'
i_prot='undef'
i_pthread='define'
i_pwd='define'
i_rpcsvcdbm='undef'
i_sfio='undef'
i_sgtty='undef'
i_shadow='define'
i_socks='undef'
i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sunmath='undef'
i_sysaccess='undef'
i_sysdir='define'
i_sysfile='define'
i_sysfilio='undef'
i_sysin='undef'
i_sysioctl='define'
i_syslog='define'
i_sysmman='define'
i_sysmode='undef'
i_sysmount='define'
i_sysndir='undef'
i_sysparam='define'
i_sysresrc='define'
i_syssecrt='undef'
i_sysselct='define'
i_syssockio='undef'
i_sysstat='define'
i_sysstatfs='define'
i_sysstatvfs='define'
i_systime='define'
i_systimek='undef'
i_systimes='define'
i_systypes='define'
i_sysuio='define'
i_sysun='define'
i_sysutsname='define'
i_sysvfs='define'
i_syswait='define'
i_termio='undef'
i_termios='define'
i_time='define'
i_unistd='define'
i_ustat='define'
i_utime='define'
i_values='define'
i_varargs='undef'
i_varhdr='stdarg.h'
i_vfork='undef'
ignore_versioned_solibs='y'
inc_version_list=' '
inc_version_list_init='0'
incpath='
inews='
installarchlib='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/lib/perl/5.8'
installbin='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/bin'
installhtml1dir='
installhtml3dir='
installman1dir='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/share/man/man1'
installman3dir='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/share/man/man3'
installprefix='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr'
installprefixexp='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr'
installprivlib='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/share/perl/5.8'
installscript='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/bin'
installsitearch='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/local/lib/perl/5.8.8'
installsitebin='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/local/bin'
installsitehtml1dir='
installsitehtml3dir='
installsitelib='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/local/share/perl/5.8.8'
installsiteman1dir='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/local/man/man1'
installsiteman3dir='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/local/man/man3'
installsitescript='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/local/bin'
installstyle='lib/perl5'
installusrbinperl='define'
installvendorarch='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/lib/perl5'
installvendorbin='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/bin'
installvendorhtml1dir='
installvendorhtml3dir='
installvendorlib='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/share/perl5'
installvendorman1dir='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/share/man/man1'
installvendorman3dir='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/share/man/man3'
installvendorscript='/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image//usr/bin'
intsize='4'
issymlink='test -h'
ivdformat='"ld"'
ivtype='long'
known_extensions='attrs B ByteLoader Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
ksh='
ld='gcc'
lddlflags='-shared -L/usr/local/lib'
ldflags=' -L/usr/local/lib'
ldflags_uselargefiles='
ldlibpthname='LD_LIBRARY_PATH'
less='less'
lib_ext='.a'
libperl='libperl.so'
libpth='/usr/local/lib /lib /usr/lib'
line='
lint='
lkflags='
ln='ln'
lns='/bin/ln -s'
localtime_r_proto='REENTRANT_PROTO_S_TS'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longlongsize='8'
lp='
lpr='
ls='ls'
lseeksize='8'
lseektype='off_t'
mail='
mailx='
make='make'
make_set_make='#'
mallocobj='
mallocsrc='
malloctype='void *'
man1dir='/usr/share/man/man1'
man1direxp='/usr/share/man/man1'
man1ext='1'
man3dir='/usr/share/man/man3'
man3direxp='/usr/share/man/man3'
man3ext='3pm'
mips_type='
mistrustnm='
mkdir='mkdir'
mmaptype='void *'
modetype='mode_t'
more='more'
multiarch='undef'
mv='
myarchname='armv4tl-softfloat-linux-gnueabi-linux'
mydomain='.localdomain'
myhostname='localhost'
n='-n'
need_va_copy='undef'
netdb_hlen_type='size_t'
netdb_host_type='const void *'
netdb_name_type='const char *'
netdb_net_type='in_addr_t'
nm='nm'
nm_opt='
nm_so_opt='--dynamic'
nonxs_ext='Errno'
nroff='nroff'
nvEUformat='"E"'
nvFUformat='"F"'
nvGUformat='"G"'
nveformat='"e"'
nvfformat='"f"'
nvgformat='"g"'
nvsize='8'
nvtype='double'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
old_pthread_create_joinable='
optimize='-O2'
orderlib='false'
osname='linux'
otherlibdirs=' '
package='perl5'
pager='/usr/bin/less -isr'
passcat='cat /etc/passwd'
patchlevel='8'
path_sep=':'
perl5='hostperl'
perl='
perl_patchlevel='
perladmin='root@localhost'
perllibs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc'
perlpath='hostperl'
pg='pg'
phostname='
pidtype='pid_t'
plibpth='
pmake='
pr='
prefix='/usr'
prefixexp='/usr'
privlib='/usr/share/perl/5.8'
privlibexp='/usr/share/perl/5.8'
procselfexe='"/proc/self/exe"'
prototype='define'
randbits='48'
randfunc='drand48'
random_r_proto='REENTRANT_PROTO_I_St'
randseedtype='long'
ranlib=':'
rd_nodata='-1'
readdir64_r_proto='REENTRANT_PROTO_I_TSR'
readdir_r_proto='REENTRANT_PROTO_I_TSR'
revision='5'
rm='rm'
rmail='
run='
runnm='false'
sPRIEUldbl='"LE"'
sPRIFUldbl='"LF"'
sPRIGUldbl='"LG"'
sPRIeldbl='"Le"'
sPRIfldbl='"Lf"'
sPRIgldbl='"Lg"'
sSCNfldbl='"Lf"'
sched_yield='sched_yield()'
scriptdir='/usr/bin'
scriptdirexp='/usr/bin'
sed='sed'
seedfunc='srand48'
selecttype='fd_set *'
sendmail='
setgrent_r_proto='0'
sethostent_r_proto='0'
setlocale_r_proto='0'
setnetent_r_proto='0'
setprotoent_r_proto='0'
setpwent_r_proto='0'
setservent_r_proto='0'
sh='/bin/sh'
shar='
sharpbang='#!'
shmattype='void *'
shortsize='2'
shrpenv='
shsharp='true'
sig_count='65'
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
sig_size='69'
sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
signal_t='void'
sitearch='/usr/local/lib/perl/5.8.8'
sitearchexp='/usr/local/lib/perl/5.8.8'
sitebin='/usr/local/bin'
sitebinexp='/usr/local/bin'
sitehtml1dir='
sitehtml1direxp='
sitehtml3dir='
sitehtml3direxp='
sitelib='/usr/local/share/perl/5.8.8'
sitelib_stem='
sitelibexp='/usr/local/share/perl/5.8.8'
siteman1dir='/usr/local/man/man1'
siteman1direxp='/usr/local/man/man1'
siteman3dir='/usr/local/man/man3'
siteman3direxp='/usr/local/man/man3'
siteprefix='/usr/local'
siteprefixexp='/usr/local'
sitescript='/usr/local/bin'
sitescriptexp='/usr/local/bin'
sizetype='size_t'
sleep='
smail='
so='so'
sockethdr='
socketlib='
socksizetype='socklen_t'
sort='sort'
spackage='Perl5'
spitshell='cat'
srand48_r_proto='REENTRANT_PROTO_I_LS'
srandom_r_proto='REENTRANT_PROTO_I_TS'
src='.'
ssizetype='ssize_t'
startperl='#!/usr/bin/perl'
startsh='#!/bin/sh'
static_ext=' '
stdchar='char'
stdio_base='((fp)->_IO_read_base)'
stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
stdio_filbuf='
stdio_ptr='((fp)->_IO_read_ptr)'
stdio_stream_array='
strerror_r_proto='REENTRANT_PROTO_B_IBW'
strings='/usr/include/string.h'
submit='
subversion='8'
sysman='/usr/share/man/man1'
tail='
tar='
targetarch='
tbl='
tee='
test='test'
timeincl='/usr/include/sys/time.h /usr/include/time.h '
timetype='time_t'
tmpnam_r_proto='REENTRANT_PROTO_B_B'
to=':'
touch='touch'
tr='tr'
trnl='
'
troff='
ttyname_r_proto='REENTRANT_PROTO_I_IBW'
u16size='2'
u16type='unsigned short'
u32size='4'
u64size='8'
u8size='1'
u8type='unsigned char'
uidsign='1'
uidsize='4'
uidtype='uid_t'
uname='uname'
uniq='uniq'
use5005threads='undef'
usecrosscompile='undef'
usedl='define'
usefaststdio='define'
useithreads='define'
uselargefiles='define'
uselongdouble='undef'
usemallocwrap='define'
usemorebits='undef'
usemultiplicity='define'
usemymalloc='n'
usenm='false'
useopcode='true'
useperlio='define'
useposix='true'
usereentrant='undef'
usesfio='false'
useshrplib='true'
usesitecustomize='undef'
usesocks='undef'
usethreads='define'
usevendorprefix='define'
usevfork='false'
usrinc='/usr/include'
uuname='
uvXUformat='"lX"'
uvoformat='"lo"'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
vendorarch='/usr/lib/perl5'
vendorarchexp='/usr/lib/perl5'
vendorbin='/usr/bin'
vendorbinexp='/usr/bin'
vendorhtml1dir=' '
vendorhtml1direxp='
vendorhtml3dir=' '
vendorhtml3direxp='
vendorlib='/usr/share/perl5'
vendorlib_stem='
vendorlibexp='/usr/share/perl5'
vendorman1dir='/usr/share/man/man1'
vendorman1direxp='/usr/share/man/man1'
vendorman3dir='/usr/share/man/man3'
vendorman3direxp='/usr/share/man/man3'
vendorprefix='/usr'
vendorprefixexp='/usr'
vendorscript='/usr/bin'
vendorscriptexp='/usr/bin'
version='5.8.8'
version_patchlevel_string='version 8 subversion 8'
versiononly='undef'
vi='
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
yacc='yacc'
yaccflags='
zcat='
zip='zip'
# Configure command line arguments.
config_arg0='Configure'
config_args='-des -Doptimize=-O2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Open Embedded -Dinstallprefix=/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image/ -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.8 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Ud_dosuid -Dd_semctl_semun -Ui_db -Ui_ndbm -Ui_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
config_argc=28
config_arg1='-des'
config_arg2='-Doptimize=-O2'
config_arg3='-Dmyhostname=localhost'
config_arg4='-Dperladmin=root@localhost'
config_arg5='-Dcc=gcc'
config_arg6='-Dcf_by=Open Embedded'
config_arg7='-Dinstallprefix=/root/openmoko/tmp/portage/sys-devel/libperl-5.8.8-r2/image/'
config_arg8='-Dprefix=/usr'
config_arg9='-Dvendorprefix=/usr'
config_arg10='-Dsiteprefix=/usr'
config_arg11='-Dotherlibdirs=/usr/lib/perl5/5.8.8'
config_arg12='-Duseshrplib'
config_arg13='-Dusethreads'
config_arg14='-Duseithreads'
config_arg15='-Duselargefiles'
config_arg16='-Ud_dosuid'
config_arg17='-Dd_semctl_semun'
config_arg18='-Ui_db'
config_arg19='-Ui_ndbm'
config_arg20='-Ui_gdbm'
config_arg21='-Di_shadow'
config_arg22='-Di_syslog'
config_arg23='-Dman3ext=3pm'
config_arg24='-Duseperlio'
config_arg25='-Dinstallusrbinperl'
config_arg26='-Ubincompat5005'
config_arg27='-Uversiononly'
config_arg28='-Dpager=/usr/bin/less -isr'
PERL_REVISION=5
PERL_VERSION=8
PERL_SUBVERSION=8
PERL_API_REVISION=5
PERL_API_VERSION=8
PERL_API_SUBVERSION=0
PERL_PATCHLEVEL=
PERL_CONFIG_SH=true
alignbytes='8'
ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
yaccflags='
ccsymbols='
cppccsymbols='
cppccsymbols='
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement'
cppsymbols='__amd64=1 __amd64__=1 __ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=4 __GNUC__=4 __GNUC_MINOR__=1 __GNU_LIBRARY__=6 _GNU_SOURCE=1 _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 linux=1 __linux=1 __linux__=1 _LP64=1 __LP64__=1 _POSIX_C_SOURCE=199506L _POSIX_SOURCE=1 _REENTRANT=1 __STDC__=1 unix=1 __unix=1 __unix__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE=1 __USE_LARGEFILE64=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_REENTRANT=1 __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 __x86_64=1 __x86_64__=1 _XOPEN_SOURCE=600 _XOPEN_SOURCE_EXTENDED=1'
d_nv_preserves_uv='undef'
d_u32align='define'
gccversion='4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)'
getspnam_r_proto='REENTRANT_PROTO_I_CSBWR'
gidformat='"u"'
gnulibc_version='2.4'
i32type='int'
i64type='long'
ivsize='8'
gnulibc_version='2.4'
libc='/lib/libc-2.4.so'
libsfiles=' libnsl.so libdb.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
libsfound=' /usr/lib/libnsl.so /usr/lib/libdb.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
ignore_versioned_solibs='y'
libs='-lnsl -ldb -ldl -lm -lcrypt -lutil -lpthread -lc'
libsdirs=' /usr/lib'
libsfiles=' libnsl.so libdb.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
libsfound=' /usr/lib/libnsl.so /usr/lib/libdb.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
libspath=' /usr/local/lib /lib /usr/lib'
libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util pthread c cposix posix ucb BSD'
libswanted_uselargefiles='
perllibs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc'
libsfiles=' libnsl.so libdb.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
libsfound=' /usr/lib/libnsl.so /usr/lib/libdb.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
longdblsize='16'
longlongsize='8'
longsize='8'
myuname='linux nynaeve 2.6.20.4 #29 smp thu mar 29 15:35:30 est 2007 x86_64 gnulinux '
nv_preserves_uv_bits='53'
osvers='2.6.20.4'
ptrsize='8'
quadkind='2'
quadtype='long'
uquadtype='unsigned long'
sPRIXU64='"lX"'
sPRId64='"ld"'
sPRIi64='"li"'
sPRIo64='"lo"'
sPRIu64='"lu"'
sPRIx64='"lx"'
selectminbits='64'
sizesize='8'
u32type='unsigned int'
u64type='unsigned long'
uidformat='"u"'
uquadtype='unsigned long'
use64bitall='define'
use64bitint='define'
uvsize='8'
byteorder='12345678'
 
Old 10-27-2008, 07:01 PM
"Christopher Friedt"
 
Default GenOM (Gentoo on Openmoko)

Perl is a real PITA to cross-compile. I would almost suggest that you
don't bother... I have the same sentiment for more recent Python
versions too.

Is there something specific that you need to compile perl from stratch
for? Can you just use an older version that does potentially
cross-compile? Would you be happy just installing a binary package
into your SYSROOT (i.e. /usr/armv4t-softfloat-linux-gnueabi)?

There are binary packages available through a link here:

http://wiki.openmoko.org/wiki/Gentoo

If you absolutely need to compile it, then why don't you just set up a
native compilation environment? Cross-compile gcc, portage, etc for
armv4t, and any other dependencies of perl, and then boot the
FreeRunner from your new kernel into a root filesystem that you've
populated with all of the previous binary packages you've compiled.
Then you should be able to 'emerge perl', although it will likely take
a long time.

Cheers,

Chris
 
Old 10-28-2008, 09:41 AM
Christoph Spielmann
 
Default GenOM (Gentoo on Openmoko)

Christopher Friedt schrieb:
> Perl is a real PITA to cross-compile. I would almost suggest that you
> don't bother... I have the same sentiment for more recent Python
> versions too.
>
> Is there something specific that you need to compile perl from stratch
> for? Can you just use an older version that does potentially
> cross-compile? Would you be happy just installing a binary package
> into your SYSROOT (i.e. /usr/armv4t-softfloat-linux-gnueabi)?
>
well while working on it i thought it would be cool to cross-compile it
myself. In the end i actually installed a binary version because i was
not able to get it to work. I have to say tho that cross-compiling
python was not such a problem i had to fiddle around a lil, but it was
WAYS easier than perl.
> There are binary packages available through a link here:
>
> http://wiki.openmoko.org/wiki/Gentoo
>
Yep that's where i actually got it
> If you absolutely need to compile it, then why don't you just set up a
> native compilation environment? Cross-compile gcc, portage, etc for
> armv4t, and any other dependencies of perl, and then boot the
> FreeRunner from your new kernel into a root filesystem that you've
> populated with all of the previous binary packages you've compiled.
> Then you should be able to 'emerge perl', although it will likely take
>
A long time? My guess is that it would take ages.... Well as i said i
emerged a binary package of perl and didn't bother myself with it any
more. It would be cool tho if it would be easier to cross-compile, but
what would life be without obstacles...

Cheers,

Christoph
> a long time.
>
> Cheers,
>
> Chris
>
>
>
 
Old 10-28-2008, 10:06 AM
 
Default GenOM (Gentoo on Openmoko)

> Christopher Friedt schrieb:
> Yep that's where i actually got it
>> If you absolutely need to compile it, then why don't you just set up a
>> native compilation environment? Cross-compile gcc, portage, etc for
>> armv4t, and any other dependencies of perl, and then boot the
>> FreeRunner from your new kernel into a root filesystem that you've
>> populated with all of the previous binary packages you've compiled.
>> Then you should be able to 'emerge perl', although it will likely take
>>
> A long time? My guess is that it would take ages.... Well as i said i
> emerged a binary package of perl and didn't bother myself with it any
> more. It would be cool tho if it would be easier to cross-compile, but
> what would life be without obstacles...

At the moment i emerge packages on the freerunner because of the bad
crosscompile support of most ebuilds. I installed distcc on the desktop pc
to help during compilation. But the big problem is the configure script,
it takes ages to complete.

Someone came up with the idea to emerge the whole stuff in a
qemu-freerunner. Does anyone already tried this? I wonder if it is faster
than on the freerunner itself.
 
Old 10-28-2008, 02:00 PM
Ned Ludd
 
Default GenOM (Gentoo on Openmoko)

On Tue, 2008-10-28 at 12:06 +0100, zuber@puzzle.ch wrote:
> > Christopher Friedt schrieb:
> > Yep that's where i actually got it
> >> If you absolutely need to compile it, then why don't you just set up a
> >> native compilation environment? Cross-compile gcc, portage, etc for
> >> armv4t, and any other dependencies of perl, and then boot the
> >> FreeRunner from your new kernel into a root filesystem that you've
> >> populated with all of the previous binary packages you've compiled.
> >> Then you should be able to 'emerge perl', although it will likely take
> >>
> > A long time? My guess is that it would take ages.... Well as i said i
> > emerged a binary package of perl and didn't bother myself with it any
> > more. It would be cool tho if it would be easier to cross-compile, but
> > what would life be without obstacles...
>
> At the moment i emerge packages on the freerunner because of the bad
> crosscompile support of most ebuilds. I installed distcc on the desktop pc
> to help during compilation. But the big problem is the configure script,
> it takes ages to complete.

BAD Cross Compile support?
I've got shy of 900 pkgs for that exact CHOST all cross compiled.
Perl is about the only problem. But then perl does not really belong on
a phone either..

> Someone came up with the idea to emerge the whole stuff in a
> qemu-freerunner. Does anyone already tried this? I wonder if it is faster
> than on the freerunner itself.
>
>
 
Old 10-28-2008, 03:40 PM
Andreas Zuber
 
Default GenOM (Gentoo on Openmoko)

> BAD Cross Compile support?

I tried to cross compile several packages (gdm, gtkmm, xorg-server...).. It
always failed somewhere. There was also a Problem that emerge said the
package is masked for ~amd64, but i tried to compile packages for arm...

How would you call that? Good Cross Compile support?

> I've got shy of 900 pkgs for that exact CHOST all cross compiled.
> Perl is about the only problem. But then perl does not really belong on
> a phone either..

Maybe you now say that the packages i try to compile do not belong on a phone
too.. but this doesn't make it better.

I'm not a specialist in writing ebuilds or make them cross compiling aware so
i try another way to get gentoo on my freerunner.

Greetings
Andy
 
Old 10-28-2008, 05:21 PM
"Damien Thébault"
 
Default GenOM (Gentoo on Openmoko)

On Tue, Oct 28, 2008 at 17:40, Andreas Zuber <zuber@puzzle.ch> wrote:
>> BAD Cross Compile support?
>
> I tried to cross compile several packages (gdm, gtkmm, xorg-server...).. It
> always failed somewhere. There was also a Problem that emerge said the
> package is masked for ~amd64, but i tried to compile packages for arm...

Hell yes, it occured to me too (but with ~x86). It's because there's
build dependencies.
The concept may seems nice, but sometimes it's a problem.
In the end, I took paludis (no offence), there's no crosscompile
support at all, but it's easier
if you know what to do (add "pretend" packages and so on).

> How would you call that? Good Cross Compile support?
>
>> I've got shy of 900 pkgs for that exact CHOST all cross compiled.
>> Perl is about the only problem. But then perl does not really belong on
>> a phone either..
>
> Maybe you now say that the packages i try to compile do not belong on a phone
> too.. but this doesn't make it better.
>
> I'm not a specialist in writing ebuilds or make them cross compiling aware so
> i try another way to get gentoo on my freerunner.

With paludis, some patches/ebuilds and some "provided" packets I'm able to
build xorg-server and gtk+ on the FreeRunner.

About cross-compilation in portage, for me, ebuilds are not really
granular enough
to be able to fine-tune them for cross-compilation, and I don't know if the
DEPEND/RDEPEND thing is (currently) good or bad for cross-compilation.

For example, Xorg protos are listed as build depends ("DEPEND=", see libX11
for example).
What does really this mean? Install those packages on the host system like any
other package? And if the required version is ~arch, is it mandatory to update
the host system to be able to install a package on the target system?
And then packages have to include those files, but I really don't know how this
should be done.

Gentoo is not the only problem here, there's bugs in many other
places, like libtool,
which reorders parameters, which is really a problem if you're using --sysroot.
(the workaround is using "triplet-gcc --sysroot=..." as CC)

And there's a problem with autoconf too, when it wants to know some properties
of the target system (what does malloc(0) returns? what's the size of
<insert type here>, ...).
Systems like scratchbox seems to be a solution to a part of the cross
compilation
problem, it may be great to be able to use something like that,
especially if it's
integrated in the package manager.

Anyway, everything is not bad, for example I think that crossdev is
really a good thing!

I think that everything is not done about all of this, so it's interesting!

Regards,
--
Damien "tuXXX" Thebault
 
Old 10-28-2008, 05:58 PM
Ned Ludd
 
Default GenOM (Gentoo on Openmoko)

On Tue, 2008-10-28 at 17:40 +0100, Andreas Zuber wrote:
> > BAD Cross Compile support?
>
> I tried to cross compile several packages (gdm, gtkmm, xorg-server...).. It
> always failed somewhere. There was also a Problem that emerge said the
> package is masked for ~amd64, but i tried to compile packages for arm...

Sounds like the method. probably intermixing ~arch ebuilds with a stable
build host and or lucked out at one point and ran into a combo that did
not compile for you. Tip. -O is friend.

Anyway native versions of the bins for the OM can be found here
http://tinderbox.dev.gentoo.org/embedded/openmoko/


> How would you call that? Good Cross Compile support?

"good" vs "bad" are quite different things. try not to confuse them. So
yeah cross-compiles always tend to quite a bit of voodoo and often send
people running away pulling hair out.

> > I've got shy of 900 pkgs for that exact CHOST all cross compiled.
> > Perl is about the only problem. But then perl does not really belong on
> > a phone either..
>
> Maybe you now say that the packages i try to compile do not belong on a phone
> too.. but this doesn't make it better.
>
> I'm not a specialist in writing ebuilds or make them cross compiling aware so
> i try another way to get gentoo on my freerunner.

Good luck.


--
Ned Ludd <solar@gentoo.org>
Gentoo Linux
 
Old 01-15-2009, 07:15 PM
"Christopher Friedt"
 
Default GenOM (Gentoo on Openmoko)

Hi Zuber

On Tue, Oct 28, 2008 at 6:06 AM, <zuber@puzzle.ch> wrote:
> to help during compilation. But the big problem is the configure script,
> it takes ages to complete.

One reason you might have noticed that configure takes a really long
time to execute on an embedded computer, is that you're running
configure on the '/' filesystem.

Configure is constantly creating and deleting files, basically 1 for
each test it performs, which can be really slow on many block devices
(particularly flash).

These days, when I emerge, either on my desktop or on an ARM board, I
always try to do it in /tmp, which I've mounted as tmpfs (i.e. ram).

However, for big builds, you run the risk of over-allocating ram,
which can crash linux.

I wouldn't try this for perl, in any case, unless the embedded device
has a few hundred MB of ram, but for smaller packages that need to be
natively compiled (i.e. bash) it works very well.

Cheers

Chris

PS: lf you still want to try compiling in RAM,
mount -t tmpfs none /tmp
export PORTAGE_TMPDIR=/tmp

I actually use a similar environment full-time on my 8G eee pc
 

Thread Tools




All times are GMT. The time now is 07:47 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org