Перенос веб-сервера 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,

Другие вопросы по тегам