Massive Probleme bei der Nutzung von Leopard als Webdev-Plattform

derulf

Neues Mitglied
Thread Starter
Dabei seit
12.08.2007
Beiträge
16
Reaktionspunkte
0
Massive Probleme bei der Nutzung von Leopard als Webdev-Plattform [gelöst]

Hi zusammen,

ich hab mich ja ehrlich gefreut, als ich gesehen hab, dass der Apache2 sowie Ruby on Rails bereits unter Leopard vorinstalliert sind, selbst PHP5 befindet sich ja bereits im Lieferumfang. Kurz ein gem update gemacht um die aktuellen Versionen zu erhalten und los geht's, dachte ich wenigstens...

Für die von mir geplanten Projekte brauche ich unbedingt MySQL. Ich habe mir das aktuelle Tiger-Package von den entsprechenden Seiten des Projekts gezogen und es installiert. Bis auf das PrefPane soll ja angeblich alles nach dem Setzen eines Symlinks auf die MySQL-Socket-Datei funktionieren.

Aber Fehlanzeige: es geht damit los, dass ich mich an der MySQL-Datenbank nicht anmelden kann. Es scheint ein root-Kennwort zu existieren (direkt nach der Installation ^^), das ich aber nicht kenne. Wenn ich mit den bekannten Methoden versuche, das MySQL-Passwort zurückzusetzen (--skip-grant-tables) und die entsprechenden Updateanweisungen auf der MySQL-Shell ausführe, meldet mir MySQL, dass offenbar gar kein Root-Benutzer existiert (0 rows affected). Ich habe MySQL mittlerweile rund 10 Mal installiert und mit immer wieder anderen Methoden versucht, das root-Kennwort zurückzusetzen, alles ohne Erfolg. In meiner Not habe ich die entsprechenden Tabellen aus einer frisch installierten Debian-VM rauskopiert und auf den Mac kopiert. Funktioniert zwar, aber kann ja nicht im Sinne des Erfinders sein.

Das nächste Problem ist meine RoR-Umgebung: egal, welche gems ich installieren möchte, alle Versuche brechen ab. "Witzigerweise" ist es auf meiner Debian-VM genau so. Wenn ich also bspw. das gem für sqlite installieren möchte (gem install sqlite), werde ich mit folgender Meldung "belohnt":

Code:
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite:
	ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install sqlite
checking for main() in -lsqlite... no
checking for sqlite.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
	--with-sqlite-dir
	--without-sqlite-dir
	--with-sqlite-include
	--without-sqlite-include=${sqlite-dir}/include
	--with-sqlite-lib
	--without-sqlite-lib=${sqlite-dir}/lib
	--with-sqlitelib
	--without-sqlitelib


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite-2.0.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite-2.0.1/ext/gem_make.out

Ich weiß wirklich nicht mehr weiter. Wenn ihr weitere Informationen wie Bildschirmausgaben, Inhalte von Log-Dateien oder ähnliches braucht, sollt ihr haben, aber bitte bitte bitte helft mir.


Vielen Dank schon mal, Grüße
Ulf
 
Zuletzt bearbeitet:
schon mal ins mkmf.log geschaut?
 
die MySQL-Pakete von www.mysql.com laufen unter Leopard, ein Default-Kennwort haben sie nicht. Wenn es um eine reine Entwicklungsumgebung geht ( kein Produktiveinsatz) dann schau Dir doch mal MAMP an!

MAMP als Enwicklungs-Server und Eclipse/PDT als IDE ist m.E. derzeit das Maximum an Komfort für PHP-Entwicklung mit Apache/Mysql.
 
Mein mkmf.log sieht so aus:

Code:
have_library: checking for main() in -lsqlite... -------------------- no

"gcc -o conftest -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.  -arch ppc -arch i386 -Os -pipe -fno-common conftest.c  -L"." -L"/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib" -L. -arch ppc -arch i386     -lruby -lsqlite  -lpthread -ldl -lm  "
ld: library not found for -lsqlite
collect2: ld returned 1 exit status
ld: library not found for -lsqlite
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccEulvUI.out (No such file or directory)
checked program was:
/* begin */
1: /*top*/
2: int main() { return 0; }
3: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
/* end */

"gcc -o conftest -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.  -arch ppc -arch i386 -Os -pipe -fno-common conftest.c  -L"." -L"/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib" -L. -arch ppc -arch i386     -lruby -lsqlite  -lpthread -ldl -lm  "
ld: library not found for -lsqlite
collect2: ld returned 1 exit status
ld: library not found for -lsqlite
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccx8UsAm.out (No such file or directory)
checked program was:
/* begin */
1: /*top*/
2: int main() { return 0; }
3: int t() { main(); return 0; }
/* end */

--------------------

have_header: checking for sqlite.h... -------------------- no

"gcc -E -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.    -Os -pipe -fno-common  conftest.c -o conftest.i"
conftest.c:1:20: error: sqlite.h: No such file or directory
checked program was:
/* begin */
1: #include <sqlite.h>
/* end */

--------------------

An PHP-Entwicklung hab ich eher weniger gedacht, eher J2EE und RoR, aber trotzdem danke für den Tipp ;-) Trotzdem hätte ich gern für beides MySQL am Laufen :)
 
/usr/include/sqlite3.h
/usr/include/sqlite3ext.h

du könntest es mit sqlite3 versuchen ;)
 
derulf schrieb:

hm, wie gesagt die mysql-Pakete laufen unter Loepard, auch mit JEE ! Statt J2EE würd ich an Deiner Stelle schonmal auf EE5 schauen!
 
hm, wie gesagt die mysql-Pakete laufen unter Loepard, auch mit JEE ! Statt J2EE würd ich an Deiner Stelle schonmal auf EE5 schauen!

Ja, die Enterprise Edition natürlich in der aktuellen Version ;) Der Begriff J2EE ist für mich einfach ein Synonym für die Enterprise Edition, ich sage auch immer noch J2SE und nicht Java SE, ok? :D

Mittlerweile bin ich mit der Hilfe eines Bekannten auf die Lösung des Problems gestossen:

das MySQL-Setup legt unter OS X (weder unter Tiger noch unter Leopard) einfach keine Benutzer an, die in die Benutzertabelle geschrieben werden. Legt man über Umwege die Benutzer per Hand an oder macht einen Import der Benutzertabelle von einer anderen Maschine läuft alles. Kann dieses Phänomen hier jemand bestätigen? Ich habe MySQL in der aktuellen Version von dev.mysql.com auf meinem iMac mit Leopard und meinem alten iMac (PowerPC) mit Tiger installiert. Gleiches Ergebnis, nach der Installation war kein Login mit dem User "root" möglich. Ein Blick in die User-Tables zeigte dann, dass gar keine Benutzer angelegt wurden. Ich werde mal einen Bug posten, denke ich...
 
schon mal ins mkmf.log geschaut?

Problem wie folgt behoben:

Code:
$ sudo -s
$ ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-dir=/usr/local/mysql

Probleme scheint hier die Tatsache zu machen, dass Ruby und Rails (und alles weitere) unter OS X als Universal Binary vorliegen. Das erzeugt beim Compiler Fehler, deswegen kann man die gems nicht selbst kompilieren. Über die oben genannte Methode übergebe ich dem Compiler vorher (!) manuell die für den Kompiliervorgang zu verwendende Architektur. Schon geht's :)
 
derulf schrieb:
das MySQL-Setup legt unter OS X (weder unter Tiger noch unter Leopard) einfach keine Benutzer an, die in die Benutzertabelle geschrieben werden. Legt man über Umwege die Benutzer per Hand an oder macht einen Import der Benutzertabelle von einer anderen Maschine läuft alles. Kann dieses Phänomen hier jemand bestätigen?

Nein, eben genau das nicht! Stellt sich mir die Frage welches mysql Du verwendest!? Ich nehme die als stable geltende 5.0.x-Version ( derzeit wohl 5.0.45). Passiert Dir das vielleicht mit 5.1er Versionen oder gar 6.0 ?
 
Nein, eben genau das nicht! Stellt sich mir die Frage welches mysql Du verwendest!? Ich nehme die als stable geltende 5.0.x-Version ( derzeit wohl 5.0.45). Passiert Dir das vielleicht mit 5.1er Versionen oder gar 6.0 ?

Nein, ich verwende die aktuelle "Tiger"-Stable von dev.mysql.com.

Aber schau mal hier, hab das Thema auch bei apfeltalk.de zur Sprache gebracht und dort auch lösen können:
 
Zuletzt bearbeitet:
Zurück
Oben Unten