Перенос веб-сервера Mongoose на FreeBSD
Мне было интересно, удастся ли кому-нибудь успешно перенести версии Linux веб-сервера Mongoose или веб-сервера Civetweb на FreeBSD. Я пытался сделать Make, но есть проблема совместимости между Linux и BSD, в которой он не может найти -ldl. Я видел ссылку на это в поиске Google, и рекомендуемое решение, вероятно, выше моего уровня квалификации.
1 ответ
Linux использует GNU make по умолчанию. Его make-файлы, как правило, несовместимы с маркой FreeBSD. Так что вам нужно установить GNU make, используя /usr/ports/devel/gmake
порт. Программа называется gmake
на FreeBSD.
Так что для mongoose загрузите последний источник mongoose с github. Затем установите GNU make, используя /usr/ports/devel/gmake
порт. Распаковать мангуста;
> tar xf mongoose-5.3.tar.gz
> cd mongoose-5.3/examples
Затем скомпилируйте его;
> gmake
cc hello.c ../mongoose.c -o hello -W -Wall -I.. -pthread -g -pipe
perl mkdata.pl websocket.html > websocket_html.c
cc websocket.c websocket_html.c ../mongoose.c -o websocket -W -Wall -I.. -pthread -g -pipe
cc server.c ../mongoose.c -o server -W -Wall -I.. -pthread -g -pipe
cc post.c ../mongoose.c -o post -W -Wall -I.. -pthread -g -pipe
cc multi_threaded.c ../mongoose.c -o multi_threaded -W -Wall -I.. -pthread -g -pipe
cc upload.c ../mongoose.c -o upload -W -Wall -I.. -pthread -g -pipe
cc auth.c ../mongoose.c -o auth -W -Wall -I.. -pthread -g -pipe
Civetweb также компилируется без ошибок, используя gmake
,