gcc 4.5 (linux) zlib

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

gcc 4.5 (linux) zlib

Beitragvon TaiJiGong » 30.06.2010, 21:54

Hallo Zusammen,

ich möchte eine envirorment zum kompilieren mit dem gcc 4.5 erstellen.

Leider gibt es Probleme beim erzeugen der zlib.

Wird die überhaupt für CHDK benötigt ?

Viele Grüße, TaiJiGong
Canon IXUS 100 (SD780) Firmware: 1.00C, sonst nur rein mechanische Kameras wie Pentax-MX
TaiJiGong
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 320
Registriert: 08.04.2010, 20:10
Wohnort: München
Kamera(s): IXUS100is, 100c
IXUS IIs (etwas defekt ohne CHDK)

Beitragvon CHDKLover » 01.07.2010, 07:09

Hallo TaiJiGong,
ich bin der Meinung, dass du die zlib nicht brauchst. Wenn ich jetzt ein envirorment kompilieren müsste würde ich es so machen:

Code: Alles auswählen
mkdir ~/wa
cd ~/wa

mkdir down
cd down
wget ftp://ftp.nluug.nl/mirror/languages/gcc/releases/gcc-4.5.0/gcc-4.5.0.tar.bz2
wget http://ftp.sunet.se/pub/gnu/gmp/gmp-5.0.1.tar.bz2
wget http://www.mpfr.org/mpfr-current/mpfr-3.0.0.tar.bz2
//binutils-2.18 geht, neuere warscheinlich nicht
wget http://ftp.download-by.net/gnu/gnu/binutils/binutils-2.18.tar.bz2

cd ..
for zipped in down/* ; do tar xjf $zipped ; done
ln -s $(pwd)/gmp-5.0.1 gcc-4.5.0/gmp
ln -s $(pwd)/mpfr-3.0.0 gcc-4.5.0/mpfr

cd binutils-2.18/
./configure --srcdir=`pwd` --target=arm-elf --prefix=~/arm-elf --disable-werror
#-j X   X=anzahl der Cores + 1
make -j 3
make install
cd ..

ed gcc-4.5.0/gcc/config/arm/t-arm-elf << EOF
/MULTILIB_OPTIONS/s/^M/# M/
/MULTILIB_DIRNAMES/s/^M/# M/
/mno-thumb-interwork/s/^# //
/normal interwork/s/^# //
wq
EOF


!!! --with-cpu=arm9 weglassen !!! fuer SX10is,...
mkdir gcc-4.5.0-arm-elf && cd gcc-4.5.0-arm-elf
../gcc-4.5.0/configure --srcdir=../gcc-4.5.0 --target=arm-elf \
 --enable-multilib --enable-languages=c --enable-clocale=gnu \
 --disable-libm --disable-libc --disable-threads \
 --disable-nls --disable-libssp --disable-intl \
 --with-newlib --prefix=~/arm-elf
 
#-j X   X=anzahl der Cores + 1
unset LIBRARY_PATH; unset CFLAGS; make -j 3 && make install


CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon TaiJiGong » 01.07.2010, 21:11

Hallo CHDKLover,

ich hatte es schon in etwas in dieser Art. Nur mit "binutils-2.20" und von anderen Servern geladen.

Habe es jetzt entsprechend der Deiner obigen Anleitung probiert:

Code: Alles auswählen
./configure --srcdir=../gcc-4.5.0 --target=arm-elf  --enable-multilib --enable-languages=c --enable-clocale=gnu  --disable-libm --disable-libc --disable-threads  --disable-nls --disable-libssp --disable-intl  --with-newlib --prefix=/home/didi/arm-elf --with-gmp-include=$PWD/gmp --with-gmp-lib=$PWD/gmp/.libs


--prefix=/home/didi/arm-elf (~/... geht nicht, darf keine releativer path sein, das war auch bei gcc 4.3 so )

und zusätzlich:

--with-gmp-include=$PWD/gmp
--with-gmp-lib=$PWD/gmp/.libs

da sonst,

error: header files gmp-impl.h and longlong.h not found

OK. jetzt bin ich wieder fast so weit wie gestern.
Code: Alles auswählen
make[4]: Entering directory `/home/didi/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/32/zlib'
make[4]: *** No rule to make target `all'.  Stop.
make[4]: Leaving directory `/home/didi/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/32/zlib'
make[3]: *** [multi-do] Error 1
make[3]: Leaving directory `/home/didi/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/zlib'
make[2]: *** [all-multi] Error 2
make[2]: Leaving directory `/home/didi/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/zlib'
make[1]: *** [all-zlib] Error 2
make[1]: Leaving directory `/home/didi/wa/gcc-4.5.0'
make: *** [all] Error 2


Viele Grüße, TaiJiGong
Zuletzt geändert von TaiJiGong am 01.07.2010, 22:03, insgesamt 1-mal geändert.
Canon IXUS 100 (SD780) Firmware: 1.00C, sonst nur rein mechanische Kameras wie Pentax-MX
TaiJiGong
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 320
Registriert: 08.04.2010, 20:10
Wohnort: München
Kamera(s): IXUS100is, 100c
IXUS IIs (etwas defekt ohne CHDK)

Beitragvon CHDKLover » 01.07.2010, 21:17

Hallo TaiJiGong

TaiJiGong hat geschrieben:make[4]: Entering directory `/home/didi/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/32/zlib'
make[4]: *** No rule to make target `all'. Stop.

Das klingt eher als gäbe es die Marke "all" nicht im Makefile aus dem Verzeichnis zlib.

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon TaiJiGong » 01.07.2010, 21:30

Hallo CHDKLover,

genau, es gibt in diesem directory nur:

Code: Alles auswählen
didi@linux-uf24:~/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/32/zlib> ls -lh
total 56K
-rw-r--r-- 1 didi users   0 2010-07-01 20:41 config.cache
-rw-r--r-- 1 didi users 50K 2010-07-01 20:41 config.log


und unter ~/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/zlib:

Code: Alles auswählen
didi@linux-uf24:~/wa/gcc-4.5.0/host-x86_64-unknown-linux-gnu/zlib> ls
conf9bDdFo    config.status     libz_a-compress.o  libz_a-gzio.o     libz_a-inflate.o   libz_a-uncompr.o
config.cache  libz.a            libz_a-crc32.o     libz_a-infback.o  libz_a-inftrees.o  libz_a-zutil.o
config.log    libz_a-adler32.o  libz_a-deflate.o   libz_a-inffast.o  libz_a-trees.o     Makefile


Viele Grüße, TaiJiGong
Dateianhänge
Makefile.txt
(26.28 KiB) 323-mal heruntergeladen
Canon IXUS 100 (SD780) Firmware: 1.00C, sonst nur rein mechanische Kameras wie Pentax-MX
TaiJiGong
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 320
Registriert: 08.04.2010, 20:10
Wohnort: München
Kamera(s): IXUS100is, 100c
IXUS IIs (etwas defekt ohne CHDK)

Beitragvon TaiJiGong » 07.07.2010, 11:40

Hallo Zusammen,

Das GCC 4.5 Problem ist noch nicht gelöst, aber die Kombination von:

- gcc-4.4.4
- binutils-2.18
- gmp-4.2.4
- mpfr-2.4.2

geht schon mal.

Nun auch:

- gcc-4.4.4
- binutils-2.18
- gmp-5.0.1
- mpfr-3.0.0

benutztes script befindet sich unter:

http://forum.chdk-treff.de/viewtopic.php?p=17877#17877


Viele Grüße, TaiJiGong
Canon IXUS 100 (SD780) Firmware: 1.00C, sonst nur rein mechanische Kameras wie Pentax-MX
TaiJiGong
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 320
Registriert: 08.04.2010, 20:10
Wohnort: München
Kamera(s): IXUS100is, 100c
IXUS IIs (etwas defekt ohne CHDK)

Beitragvon TaiJiGong » 08.07.2010, 20:45

Hallo Zusammen,

gcc-4.4.4 geht ja nun, aber mit dem gcc-4.5.0 immer noch nicht.

Hier das script das ich z.Z. benutze:

Code: Alles auswählen
#!/bin/bash
#
#
USE_BINUTILS_VERSION="binutils-2.18"
USE_GCC_VERSION="gcc-4.5.0"
USE_MPC_VERSION="mpc-0.8.1"
USE_GMP_VERSION="gmp-5.0.1"
USE_MPFR_VERSION="mpfr-3.0.0"
#
mkdir ~/wa
cd ~/wa
#
mkdir down
cd down
#
# Download
#
wget ftp://ftp.nluug.nl/mirror/languages/gcc/releases/${USE_GCC_VERSION}/${USE_GCC_VERSION}.tar.bz2
wget ftp://ftp.nluug.nl/mirror/languages/gcc/infrastructure/${USE_MPC_VERSION}.tar.gz
wget http://ftp.sunet.se/pub/gnu/gmp/${USE_GMP_VERSION}.tar.bz2
wget http://www.mpfr.org/mpfr-current/${USE_MPFR_VERSION}.tar.bz2
# //binutils-2.18 geht, neuere warscheinlich nicht
wget http://ftp.download-by.net/gnu/gnu/binutils/${USE_BINUTILS_VERSION}.tar.bz2
#
# unpack
#
cd ..
for bzipped in down/*.bz2 ; do tar xjf $bzipped ; done
for gzipped in down/*.gz  ; do tar xzf $gzipped ; done
#
# create symbolic links:
#
ln -s $(pwd)/${USE_GMP_VERSION} ${USE_GCC_VERSION}/gmp
ln -s $(pwd)/${USE_GMP_VERSION} ${USE_GCC_VERSION}/mpc
ln -s $(pwd)/${USE_MPFR_VERSION} ${USE_GCC_VERSION}/mpfr
#
cd ${USE_BINUTILS_VERSION}/
./configure --srcdir=`pwd` --target=arm-elf --prefix=${HOME}/arm-elf --disable-werror
#-j X   X=anzahl der Cores + 1
make -j 3
make install
cd ..
#
ed ${USE_GCC_VERSION}/gcc/config/arm/t-arm-elf << EOF
/MULTILIB_OPTIONS/s/^M/# M/
/MULTILIB_DIRNAMES/s/^M/# M/
/mno-thumb-interwork/s/^# //
/normal interwork/s/^# //
wq
EOF
#
#
# !!! --with-cpu=arm9 weglassen !!! fuer SX10is,...
mkdir ${USE_GCC_VERSION}-arm-elf && cd ${USE_GCC_VERSION}-arm-elf
../${USE_GCC_VERSION}/configure --srcdir=../${USE_GCC_VERSION} --target=arm-elf \
 --enable-multilib --enable-languages=c,c++ --enable-clocale=gnu \
 --disable-libm --disable-libc --disable-threads \
 --disable-nls --disable-libssp --disable-intl \
 --with-newlib --prefix=${HOME}/arm-elf \
 --disable-zlib \
 --with-gmp-include=${PWD}/gmp --with-gmp-lib=${PWD}/gmp/.libs
# --with-mpfr --with-mpc --with-gmp \
#-j X   X=anzahl der Cores + 1
unset LIBRARY_PATH; unset CFLAGS; make -j 3 && make install


Fehler:

Code: Alles auswählen
configure: error: --target is not appropriate for GMP
Use --build=CPU-VENDOR-OS if you need to specify your CPU and/or system
explicitly.  Use --host if cross-compiling (see "Installing GMP" in the
manual for more on this).
make[1]: *** [configure-mpc] Error 1
make[1]: Leaving directory `/home/didi/wa/gcc-4.5.0-arm-elf'
make: *** [all] Error 2


Ich habe versucht nur gmp zu erzeugen:

/wa/gmp-5.0.1> ./configure --build=arm

Das führt zu :

Code: Alles auswählen
checking size of void *... 8
checking size of unsigned short... 2
checking size of unsigned... 4
checking size of unsigned long... 8
checking size of mp_limb_t... 8
configure: error: Oops, mp_limb_t is 64 bits, but the assembler code
in this configuration expects 32 bits.


Viele Grüße, TaiJiGong
Canon IXUS 100 (SD780) Firmware: 1.00C, sonst nur rein mechanische Kameras wie Pentax-MX
TaiJiGong
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 320
Registriert: 08.04.2010, 20:10
Wohnort: München
Kamera(s): IXUS100is, 100c
IXUS IIs (etwas defekt ohne CHDK)

Beitragvon TaiJiGong » 31.08.2010, 22:10

Hallo Zusammen,

Das Problem ist endlich gelöst. script zum erzeugen des toolchains befindet sich unter:

http://forum.chdk-treff.de/viewtopic.php?p=18874#18874

Viele Grüße, TaiJiGong
Canon IXUS 100 (SD780) Firmware: 1.00C, sonst nur rein mechanische Kameras wie Pentax-MX
TaiJiGong
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 320
Registriert: 08.04.2010, 20:10
Wohnort: München
Kamera(s): IXUS100is, 100c
IXUS IIs (etwas defekt ohne CHDK)


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 Gäste