C compiler cannot create executables

Fórumok

ahoy,

ezt az üzit kapom mostanában:
configure: error: C compiler cannot create executables

nem tudom mitől, de nem tudok semmit sem fordítani.
ötlet ?

Hozzászólások

milyen disztribucio?

kernel-headers fent van?

egy apró részlet a config.log ból:

gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)
configure:2366: $? = 0
configure:2373: gcc -V >&5
gcc: '-V' option must have argument
configure:2376: $? = 1
configure:2399: checking for C compiler default output file name
configure:2426: gcc conftest.c >&5
/usr/bin/ld: unrecognized option '--hash-style=gnu'
/usr/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
configure:2429: $? = 1
configure:2467: result:
configure: failed program was:
| /* confdefs.h. */

--
Unfortunately, no one can be told what The Matrix is. You have to see it for yourself.

A configure szkriptek a C fordítódat kipróbálgatják egy csomó parnacs kiadásával, amik között van valami ilyesmi is:

gcc hellow.c (de ettől marhára eltérő is lehet a parancs!)
És várja, hogy megjelenjen az a.out fájl ennek hatására. Az, hogy nem jelenik meg annyit jelent, hogy nem tud a gcc-d executable-t fordítani.
Azaz: a configure úgy tudja meg, hogy képes-e rá a rendszered, hogy szépen kipróbál mindent.
Tehát a megoldás: nézz bele a configure szkriptbe, keresd ki, hogy melyik sornál akad el, és mikor az megvan, lehet tovább keresgélni, hogy mi történik ott.
Megoldás(á lá windoóz): reinstall :-)

/usr/bin/ld: unrecognized option '--hash-style=gnu'

Az LDFLAGS-ben meg van adva ez az opció, ezt azonban csak az újabb binutils csomagban lévő ld érti.
1. kiszeded ezt az opciót
vagy
2. telepítessz újabb binutils-t

hasonló hibával találkoztam sajnos... :(

itt van a hiba kimenete:

http://rafb.net/p/zUX8AQ61.html

hátha tud valaki segíteni. Előre is köszi!
ez a binutils frissítés sajna nem segített :(

+1
Szerintem is a libc6-dev csomag kell.
Egy fordításhoz általában ezek kellenek (a szerencsén kívül):
- fordítóprogram
- header fájlok (compile lépéshez)
- könyvtárak (és dinamikus könívtárak stub-jai link lépéshez)

A futtatáshoz pedig a dinamikus könívtárak kellenek.
Namost egy csomagnál a csomagnév tartalmazza a futtatáshoz szükséges cuccokat, míg a csomagnév-dev a fordításhoz szükséges dolgokat (ami ahhoz kell, hogy a ráépülő dolgokat fordíthasd). Elvileg a forrás csomag pedig azt a forráskódot tartalmazza, amit a szóbanforgó csomag készítéséhez használtak, de ilyet még nem csináltam.

Namost a configure szkript először a gcc meglétét ellenőrzi, csak azután az exe fordítást. Az, hogy nem tud exe-t csinálni 3 dolgot jelenthet: nem működik a fordító, nincs libcx-dev fenn, nincs írási joga, nem futtatható a kimenet.

Amúgy debian rendszereken a build-essential csomagot érdemes telepíteni. Ez a csomag ezeket teszi fel, tehát ezek kellenek:
gcc
g++
libc6-dev
dokg-dev (bár szerintem ez csak akkor kell, ha csomagot is akarsz csinálni)

pontos bibi:
checking bzlib.h usability... no
checking bzlib.h presence... no
checking for bzlib.h... no
configure: error: bzlib headers not found. install bzlib devel package
és megpróbáltam az:
apt-get install bzlib -et de azt írja hogy nincs ilyen csomag

bzip2-tényleg de arra meg azt írja hogy már a legújabb verzió :-/

Köszi megvan. Leírom azért hátha a későbbiekben valakinek hasonló problémája akad.
Megoldás:libbzip2 csomag telepítés!

hasonlo problemam lenne Ubuntu alatt

letoltottem a bzip2_1.0.3-0ubuntu2_i386.deb es libbz2-1.0_1.0.3-0ubuntu2_i386.deb csomagokat, de apt-get install libbz2-1.0_1.0.3-0ubuntu2_i386.deb -ra a kov. hibauzenetet kapom:
E: invalid operation install

hogyan tovabb?

igen szoval az eredti problemam:
letoltottem a rp-pppoe_3.8-1.1.tar.gz csomagot a kov. oldalrol
https://launchpad.net/ubuntu/+source/rp-pppoe/3.8-1.1

a README file azt irja, hogy az install-alas igy kene kinezzen:
$./configure
$make
#make install

csak az a gond hogy en mar a ./configure- ra a kov. hibauzenetett kapom:
checking for compiler default output filename... configure: error: C compiler cannot create executables

es sajnos az a megoldas ami itt le van irva rajtam nem segit mert mind2 csomag fenn van.
amugy egy teljesen frissen installalt UBUNTU feisty

sziasztok!

egy s3c2416 ARM procis vason ügyködök, ezen szeretnék perl-es progikat írni amihez szükségem volna többek között a sorosportra is... amikor megpróbálom futtatni a Device-SerialPort makefile-ját, akkor ezzel dobja el magát:

root@om-gta02:~/perl/Device-SerialPort-1.04# perl Makefile.PL
To enable serial port tests, use:
perl Makefile.PL TESTPORT=
where is a specific port or 'auto' to autodetect.
Running ./configure ...
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
The 'configure' script didn't like something. It should have told you
what went wrong, but you can check 'config.log' for more details.

guglizva azt találtam, hogy tesztelni kell a gcc-t hogy egyáltalán fordít e... egy hello world progit próbálok vele fordítani, amire ezt dobja:

root@om-gta02:~/perl# gcc test.c -o test
gcc: error trying to exec 'cc1': execvp: No such file or directory

a gcc -v kimenete:

root@om-gta02:~/perl# gcc -v
Using built-in specs.
Target: arm-angstrom-linux-gnueabi
Configured with: /space/fic/openmoko-daily/testing-build/work/armv4t-angstrom-linux-gnueabi/gcc-4.1.2-r14/gcc-4.1.2/configure --build=i686-linux --host=arm-angstrom-linux-gnueabi --target=arm-angstrom-linux-gnueabi --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/usr/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --with-gnu-ld --enable-shared --enable-target-optspace --enable-languages=c,c++,objc --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-angstrom-linux-gnueabi- --disable-libssp --disable-libmudflap --with-float=soft --with-local-prefix=/usr/local --with-gxx-include-dir=/usr/include/c++/4.1.2 --enable-__cxa_atexit
Thread model: posix
gcc version 4.1.2

és ezek a modulok vannak felrakva a vasra:
http://pc2car.hu/images/users/fpeter/SOM2416/gcc_gond.txt

tudnátok segíteni, hogy még mi hiányozhat, vagy mit hol kellene módosítanom?

a cc1 az a libgcc1 lenne, nem ? mert az fent van, ott van a listában... újrahúztam -force-reinstall opcióval, de persze attól sem változott semmi...

kínából jött a proci modul, az alaplapot én terveztem alá - sajna mint azóta kiderült, 1-2 hiba került bele, de "áthidalhatóak" - szó szerint :)

http://pc2car.hu/images/users/fpeter/SOM2416/SOM1.jpg

400MHz-es S3C2416, 64MB DDR2, 128MB NAND, hang, hálócsipp. a nyákon egy GPS vevőnek és mobilmodemnek van még hely, de azokat addig nem forrasztom fel amíg nem jövök egyenesbe a többivel...

a cc1 az a libgcc1 lenne, nem ? mert az fent van, ott van a listában... újrahúztam -force-reinstall opcióval, de persze attól sem változott semmi...

a cc1, az cc1, egy exe. szerintem abban van maga a compiler.

a mostain gcc-kben szerintem már nem így hívják, de régebben még ez volt a neve.

nekem egy régebbi gépem van, azon így néz ki:

/usr/lib/gcc-lib/i486-pc-linux-gnu/2.95.3>ls -l cc1
-rwxr-xr-x 1 root root 1714040 Dec 26 2001 cc1*

kínából jött a proci modul, az alaplapot én terveztem alá - sajna mint azóta kiderült, 1-2 hiba került bele, de "áthidalhatóak" - szó szerint :)

mennyiből sikerült megúszni a panelt?
én inkább összerakott cuccot szeretnék venni, mert smd-s dolgokkal nem szeretnék szórakozni.

végül sikerült megtalálnom, a cc1 a cpp package-ben van... szép kis sort fel kellett pakolnom hogy menjen a C fordítás - a szimpla hello world tesztprogi fordítása már megy, viszont a perl device::serialport make-je eldobja magát illegal instruction-nal > strace se mond többet a problémáról

utána kicsit guglizva csak megtaláltam arm-ra fordított package-ként, úgyhogy a terminal demo perl progi szépen fut vele

mennyiből sikerült megúszni a panelt?

nem olcsó... még nem mertem pontosan összeszámolni, de így pár darabos tételben kb 20e-re jön ki 1-1 alapgép proci modullal, nyákkal, sok arpó vacakkal, alu dobozban, plussz a GPRS modem és a GPS vevő az antennáikkal együtt további 22 és 19$...

nyilván olcsóbb lenne pl egy TP-Link TL-MR3220 6.6e pénzért openwrt-sítve, de akkor lehet karácsonyfát építeni köré USB HUB-okkal, arra pendrive, kártyaolvasó, USB>soros adapterek... ha a sok apró vackot hozzáadjuk, akkor hamar tizen-ezernél járunk, és a megbízhatósága is erősen kérdéses lesz...

nem kell annyira félni az SMD-től, ha egyszer elkészült a lakkos nyák akkor óccó kínai forrasztópasztával + normális forrasztópákával egészen könnyen és gyorsan fel lehet szórni az alkatrészeket...