lordy Geschrieben 28. August 2008 Teilen Geschrieben 28. August 2008 Obwohl ich kein C-Programmierer bin, habe ich mir mit Google's Hilfe ein kleines Programm gebacken, das vom Webserver als CGI ausgeführt werden soll. Unter Linux funktioniert das prima, unter OpenBSD produziert es jedoch einen "Segmentation Fault". Hat jemand eine Idee, woran das liegen könnte ? #include <stdio.h> int main(void) { printf("Status: 301\n"); printf("Location: https://meineseite.com/users/%s/\n",getenv("REMOTE_USER")); return 0; } Kompiliert wurde es jeweils mit (statisch für ein Chroot): gcc --static -o index.cgi index.c Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 28. August 2008 Teilen Geschrieben 28. August 2008 Compiling such a program with a compiler that does not check for the assignment of read-only locations at compile time, and running it on a Unix-like operating system produces the following runtime error: [...] btw: Unter jedem Betriebssystem neu kompiliert? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lordy Geschrieben 28. August 2008 Autor Teilen Geschrieben 28. August 2008 Natürlich neu kompiliert. Ein Kollege hier konnte zu meiner Überraschung doch C und hat mich auf "man getenv" unter OpenBSD hingewiesen. Dort steht, das man noch stdlib.h includen muß, was man unter Linux nicht braucht. Damit gehts jetzt auch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 28. August 2008 Teilen Geschrieben 28. August 2008 Natürlich neu kompiliert. Ein Kollege hier konnte zu meiner Überraschung doch C und hat mich auf "man getenv" unter OpenBSD hingewiesen. Dort steht, das man noch stdlib.h includen muß, was man unter Linux nicht braucht. Müsste doch eigentlich einen Fehler ausgeben, wenn man unter BSD kompiliert und da ne Header fehlt. :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. August 2008 Teilen Geschrieben 28. August 2008 Müsste doch eigentlich einen Fehler ausgeben, wenn man unter BSD kompiliert und da ne Header fehlt. :confused: C ist recht nachsichtig, was fehlende Funktionsdeklarationen angeht, zumindest in der "alten" Standardversion von 1989. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 28. August 2008 Teilen Geschrieben 28. August 2008 Hallo, wenn man das überprüft haben möchte, sollte man -Wall -pedantic als Optionen angeben. Dann ist der GCC noch entwas gesprächiger. Würde ich sowieso empfehlen, das standardmäßig zu nutzen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.