Superuser

Autor Thema: mysql und gnu gcc auf solaris8  (Gelesen 5094 mal)

chmeee

  • Gast
mysql und gnu gcc auf solaris8
« am: 27. Juli 2001, 13:19:50 »
Hallo NG,

ich erhalte beim kompilieren von mysql 3.23.40 mit gnu gcc 2.95.3 folgende Fehlermeldung:

checking return type of sprintf... configure: error: can not run test program while cross compiling

gnu gcc hab ich als Paket installiert. Jetzt wollte ich gnu gcc auf dem sun-server selber kompilieren (in einer newsgroup stand, daß das gnu gcc paket nicht richtig für solaris 8 kompiliert wurde), aber beim aufrufen von ./configure kommt folgende meldung:

Configuring for a sparc-sun-solaris2.8 host.
Created "Makefile" in /export/home/roth/gcc-2.95.3.sourec using "mh-frag"
/usr/ucb/cc:  language optional software package not installed
*** The command 'cc -o conftest -g   conftest.c' failed.
*** You must set the environment variable CC to a working compiler.

Weiß jemand rat? ???

MfG Sascha Roth

sonnenblen.de - Das unabhängige Sun User Forum

mysql und gnu gcc auf solaris8
« am: 27. Juli 2001, 13:19:50 »

chmeee

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #1 am: 27. Juli 2001, 15:00:26 »
Hab mal gcc3.0 aufgespielt. Läßt sich immer noch nicht kompilieren.
Hier mal die ganze Ausgabe beim kompilieren:

bash-2.03$ ./configure
loading cache ./config.cache
checking host system type... sparc-sun-solaris2.8
checking target system type... sparc-sun-solaris2.8
checking build system type... sparc-sun-solaris2.8
checking for a BSD compatible install... ./install-sh -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... missing
checking for working autoconf... found
checking for working automake... missing
checking for working autoheader... found
checking for working makeinfo... missing
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for gawk... (cached) nawk
checking for gcc... (cached) gcc
checking whether the C compiler (gcc   ) works... yes
checking whether the C compiler (gcc   ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for c++... (cached) c++
checking whether the C++ compiler (c++   ) works... yes
checking whether the C++ compiler (c++   ) is a cross-compiler... yes
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for ranlib... (cached) ranlib
checking for ld used by GCC... (cached) /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... (cached) no
checking for BSD-compatible nm... (cached) /usr/ccs/bin/nm -p
checking whether ln -s works... (cached) yes
checking for object suffix... o
checking for executable suffix... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... yes
checking if gcc static flag -static works... -static
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking whether the linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking command to parse /usr/ccs/bin/nm -p output... ok
checking how to hardcode library paths into programs... immediate
checking for /usr/ccs/bin/ld option to reload object files... -r
checking dynamic linker characteristics... solaris2.8 ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for objdir... .libs
creating libtool
loading cache ./config.cache
checking for a BSD compatible install... ./install-sh -c
checking for bison... bison -y
checking for pdftex... no
checking return type of sprintf... configure: error: can not run test program while cross compiling

andreas

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #2 am: 27. Juli 2001, 17:03:44 »
Hallo Sascha!

du musst den Pfad korrekt setzen, so dass der gcc auch gefunden wird, also z. B. PATH=/usr/bin:/usr/local/bin:/opt/bin; export PATH.
Du musst selber herausfinden, wo du den gcc installiert hast, kann mich gerade nicht erinnern, wo Solaris 8 den installiert.
Evtl. hilft auch einfach 'export CC=/usr/local/bin/gcc' oder wo sich der gcc gerade befindet.

HTH,

Andreas

SunROOT#

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #3 am: 27. Juli 2001, 19:41:17 »
Hi,

... um weitere Probleme auzuschließen solltest du den Warnhinweis auf der MySQL Page ernst nehmen und die Source nur mit gtar entpacken.

MySQL Source mit Solaris-tar entpackt läßt sich zu 99% nicht compilieren mit diversen Fehlermeldungen.

Du soltest weiterhin auch folgende Pfade in deiner $PATH haben: /usr/ccs/bin:/usr/ccs/lib

... sonst wirds auch nix mit dem compilieren.


Gruß
Walt

chmeee

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #4 am: 30. Juli 2001, 12:41:25 »
Moin NG,

erstmal danke für die Tipps. ich hab sie gleichmal heute morgen umgesetzt, aber leider kein Erfolg. Hier ein paar Auszüge.

bash-2.03$ echo $PATH
/usr/local/bin/:/usr/bin:/usr/ucb:/usr/ccs/bin:/etc:.:/opt/bin:/usr/ccs/lib

bash-2.03$ echo $CC
/usr/local/bin/gcc
bash-2.03$ gcc
gcc: No input files
Er findet also den Compiler.

und hier noch mal der neue Output beim compilieren:
loading cache ./config.cache
checking host system type... sparc-sun-solaris2.8
checking target system type... sparc-sun-solaris2.8
checking build system type... sparc-sun-solaris2.8
checking for a BSD compatible install... ./install-sh -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... missing
checking for working autoconf... found
checking for working automake... missing
checking for working autoheader... found
checking for working makeinfo... missing
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for gawk... (cached) nawk
checking for gcc... (cached) gcc
checking whether the C compiler (gcc   ) works... yes
checking whether the C compiler (gcc   ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for c++... (cached) c++
checking whether the C++ compiler (c++   ) works... yes
checking whether the C++ compiler (c++   ) is a cross-compiler... yes
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for ranlib... (cached) ranlib
checking for ld used by GCC... (cached) /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... (cached) no
checking for BSD-compatible nm... (cached) /usr/ccs/bin/nm -p
checking whether ln -s works... (cached) yes
checking for object suffix... o
checking for executable suffix... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... yes
checking if gcc static flag -static works... -static
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking whether the linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking command to parse /usr/ccs/bin/nm -p output... ok
checking how to hardcode library paths into programs... immediate
checking for /usr/ccs/bin/ld option to reload object files... -r
checking dynamic linker characteristics... solaris2.8 ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for objdir... .libs
creating libtool
loading cache ./config.cache
checking for a BSD compatible install... ./install-sh -c
checking for bison... bison -y
checking for pdftex... no
checking return type of sprintf...configure: error: can not run test program while cross compiling

Ach ja, den gtar hab ich installiert und beim entpacken von mysql kam keine Fehlermeldung.

Habt ihr noch ein paar Vorschläge?
Was brauche ich alles um den gnu gcc selbst für die Maschine zu kompilieren?

MfG Sascha Roth

SunROOT#

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #5 am: 30. Juli 2001, 18:45:04 »
Hi,

die Fehlermeldungen kommen nicht beim entpacken mit Solaris-tar, sondern erst beim compilieren.

Sorry, daß ich nochmal nachfrage, aber du hast nicht mit tar, sondern mit /usr/local/bin/tar entpackt ?


Gruß
Walt

chmeee

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #6 am: 31. Juli 2001, 12:36:02 »
Hi SunRoot,

um sicher zugehen, hab ich es nochmal entpackt mit gtar. beim compilieren kommt wieder der gleiche fehler.
beim entpacken mit dem normalen tar kommt übrigens eine fehlermeldung (checksumme error).

mfg Sascha

SunROOT#

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #7 am: 31. Juli 2001, 20:36:25 »
Hi,

:(

ich habe vor kurzem eine 39er MySQL mit dem selben (jedoch Eigenbau) GCC compiliert .... Da gabs das Porblem nicht ....

Versuch noch folgendes. Lösche im MySQL Source Directory die Datei config.cache. Achte darauf, daß du den Pfad für den GCC gesetzt hast (CC) und versuche das ganze nochmal ....


Gruß
Walt

Offline Gorbi

  • Sobl Junior
  • **
  • Beiträge: 71
    • kuerbis.org
Re: mysql und gnu gcc auf solaris8
« Antwort #8 am: 01. August 2001, 01:38:15 »
Ich habe mir angewöhnt, bei jeder (Erst-)Installation ein Inst-Log zu schreiben, also einfach in einem Editor festzuhalten, welche Schritte ich vollzogen habe. Dies erleichtert ggf. das spätere Nachvollziehen, aber auch die Fehlersuche.

Diesem Instlog entnehme ich nun folgendes:
Aus einer FAQ unter http://www.wins.uva.nl/pub/solaris/solaris2/ :
ist der folgende Punkt interessant:
6.2) What about the linker, the assembler and make?

Solaris ships with everything you need, with the exception of the compiler
itself. Solaris ships with the
include files, make, an assembler, linker and libraries. All this stuff
lives in /usr/ccs/bin (add it to your
PATH before /usr/ucb if that's in your PATH as well) /usr/ccs/lib and
/usr/include. If you still can't find
it, make sure you have the following packages installed on your system:

for tools (sccs, lex, yacc, make, nm, truss, ld, as):
    SUNWbtool, SUNWsprot, SUNWtoo
for libraries & headers:
    SUNWhea, SUNWarc, SUNWlibm, SUNWlibms,
    SUNWdfbh, SUNWcg6h, SUNWxwinc, SUNWolinc,
    SUNWxglh
for 64 bit development:
    SUNWarcx, SUNWbtoox, SUNWdplx, SUNWscpux, SUNWsprox,
    SUNWtoox
for ucb compat:
    SUNWsra, SUNWsrh

Daher habe ich nach der Grund-Installation von Solaris erstmal einige weitere Pakete installiert:

system      SUNWbtool      CCS tools bundled with SunOS
system      SUNWsprot      Solaris Bundled tools
system      SUNWtoo        Programming Tools
system      SUNWhea        SunOS Header Files
system      SUNWarc        Archive Libraries
system      SUNWlibm       Sun WorkShop Bundled libm
system      SUNWlibms      Sun WorkShop Bundled shared libm
system      SUNWdfbh       Dumb Frame Buffer Header Files
system      SUNWcg6h       GX (cg6) Header Files
system      SUNWxwinc      X Window System include files
system      SUNWolinc      OPEN LOOK include files
system      SUNWsra        Source Compatibility Archive Libraries
system      SUNWsrh        Source Compatibility Header Files

(OK, manche davon moegen fuer die Kompilierung ueberfluessig sein, aber man hat ja genug Platz...)

dann:
===========
ok, nun demnaechst mal mit der Kompilierung versuchen, zuerst noch einige
Pakete installieren... (von sunfreeware.com)
u.a.
mc
glib (fuer mc)
automake
autoconf
libtool
wget
und einige andere, die zur Kompilierung oder Bequemlichkeit notwendig
sind...

==============
Kompilierung von joe2.8.tar.gz (war nicht bei sunfreeware enthalten - dumm)

/usr/local/bin/tar xvfz joe2.8.tar.gz
es entsteht Verzeichnis joe
Pfad sollte /usr/local/bin enthalten
cd joe
Makefile editieren, aus cc wird gcc, dann die strip-Kommandos bei make
install loeschen, falls strip noch nicht installiert wurde.
schliesslich reicht ein
make
und per root ein make install (wobei hier ebenfalls /usr/local/bin im Pfad
enthalten sein muss)
Schon klappt's auch mit joe!

================
Pfade:
1. geaendert in user-eigener .profile:
PATH=/usr/bin:/usr/ucb:/etc:.:/usr/ccs/bin:/usr/local/bin
export PATH
d.h. /usr/ccs/bin und /usr/local/bin hinzugefuegt
============

Irgendwo hab' ich gelesen, dass die Reihenfolge der Pfade nicht ganz irrelevant ist, da zwar der gcc, aber die SUN-eigenen Tools wie make und alles, was in /usr/ccs/bin vorhanden ist, genutzt werden sollten.
Daher /usr/local/bin erst zum Schluss hinzugefügt.

Hoffe, das hilft ein wenig. Wenn mysql scheitert, versuche es doch erstmal mit kleineren Paketen, wie z.B. dem o.g. joe (Editor).
Ich hatte nach dieser Behandlung jedenfalls keine Probleme, diverse Software erfolgreich zu kompilieren.

Beste Gruesse,
  Ralf

Frank_Naumann

  • Gast
Re: mysql und gnu gcc auf solaris8
« Antwort #9 am: 07. August 2001, 14:36:48 »
Hallo,
Du solltest mal von sunfreeware die Pakete automake und autoconf holen und installieren. Damit habe ich erst vor zwei Tagen (allerdings mit gcc 2.95) mysql übersetzt.

Bis denne,
Frank

sonnenblen.de - Das unabhängige Sun User Forum

Re: mysql und gnu gcc auf solaris8
« Antwort #9 am: 07. August 2001, 14:36:48 »