<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Я взял код из лога и попробовал его собрать ровно так, как написано.<div>Строка моего configure следующая:</div><div>./configure --prefix=/usr --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module  --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --add-module=/usr/src/naxsi/naxsi_src --with-debug --with-http_v2_module --with-cc-opt="-static -static-libgcc" --with-ld-opt="-static -lm" --with-cpu-opt=generic --with-openssl=./openssl-1.0.2r --with-stream --with-stream_ssl_module --user=www-data --with-http_image_filter_module<br></div><div><br></div><div>Что-то тут уже устаревшее, но это не очень важно.</div><div>Выпадает ошибка:</div><div><div>checking for GD library ... not found</div><div>checking for GD library in /usr/local/ ... not found</div><div>checking for GD library in /usr/pkg/ ... not found</div><div>checking for GD library in /opt/local/ ... not found</div></div><div><br></div><div>Окей. Берем код автотеста:</div><div><br></div><div><div>#include <sys/types.h></div><div>#include <unistd.h></div><div>#include <gd.h></div><div><br></div><div>int main(void) {</div><div>    gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);</div><div>                      (void) img;</div><div>    return 0;</div><div>}</div></div><div><br></div><div>Собираем:</div><div>cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /usr/pkg/include -o objs/autotest objs/autotest.c -static -lm -L/usr/pkg/lib -lgd (строчка из того же лога).<br></div><div>Не собирается.</div><div>Однако, если подвинуть -lm в конец:</div><div>cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /usr/pkg/include -o objs/autotest objs/autotest.c -static -L/usr/pkg/lib -lgd -lm<br></div><div><br></div><div>Все соберется.</div><div><br></div><div>Вопрос, как передвинуть на уровне сборки?</div><div><br></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вс, 7 апр. 2019 г. в 12:34, Anton Kiryushkin <<a href="mailto:swood@fotofor.biz">swood@fotofor.biz</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">Да, конечно, есть:<br></div><div dir="ltr"><div><br></div><div><div># find /usr -type f -name 'libm.a'</div><div>/usr/lib/x86_64-linux-gnu/libm.a</div></div><div><br></div><div>Да, я попробовал поставить -lm перед -static, это мне тоже не помогло.</div><div>К слову, libgd тоже там есть:<br><div># find /usr -type f -name 'libgd.a'</div><div>/usr/lib/x86_64-linux-gnu/libgd.a</div></div><div><br></div><div>Подскажите, пожалуйста, где эти тесты лежат в исходнике, поправлю локально, как обычно это делаю с php.</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">сб, 6 апр. 2019 г. в 19:22, Igor Sysoev <<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">А статическая libm.a есть?<br>
Можно попробовать поставить -lm до -static:<br>
<br>
--with-ld-opt="-lm -static ...<br>
<br>
-- <br>
Igor Sysoev<br>
<a href="http://nginx.com" rel="noreferrer" target="_blank">http://nginx.com</a><br>
<br>
> On 6 Apr 2019, at 14:57, Anton Kiryushkin <<a href="mailto:swood@fotofor.biz" target="_blank">swood@fotofor.biz</a>> wrote:<br>
> <br>
> Ситуация очень напоминает предыдущую:<br>
> <br>
> cc -static -static-libgcc -lm -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /usr/pkg/include -o objs/autotest objs/autotest.c -static -lm -L/usr/pkg/lib -lgd<br>
> ----------<br>
> <br>
> ----------------------------------------<br>
> checking for GD library in /opt/local/<br>
> <br>
> /opt/local/lib/libgd.a(gd.o): In function `lsqrt':<br>
> /usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'<br>
> /opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':<br>
> /usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'<br>
> /usr/src/libgd/src/gd.c:1471: undefined reference to `sin'<br>
> /usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'<br>
> /usr/src/libgd/src/gd.c:1520: undefined reference to `sin'<br>
> /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':<br>
> /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'<br>
> /usr/src/libgd/src/gd.c:3514: undefined reference to `cos'<br>
> /opt/local/lib/libgd.a(gd.o): In function `gdImageLine':<br>
> /usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'<br>
> /usr/src/libgd/src/gd.c:1394: undefined reference to `sin'<br>
> /usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'<br>
> /usr/src/libgd/src/gd.c:1333: undefined reference to `cos'<br>
> /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':<br>
> /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'<br>
> /usr/src/libgd/src/gd.c:3514: undefined reference to `sin'<br>
> /opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':<br>
> /usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'<br>
> /usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'<br>
> collect2: error: ld returned 1 exit status<br>
> ----------<br>
> <br>
> Версия nginx 1.15.10. gcc version 4.8.2. <br>
> <br>
> сб, 6 апр. 2019 г. в 12:14, Igor Sysoev <<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>>:<br>
> А что в autoconf.err ?<br>
> <br>
> -- <br>
> Igor Sysoev<br>
> <a href="http://nginx.com" rel="noreferrer" target="_blank">http://nginx.com</a><br>
> <br>
> > On 6 Apr 2019, at 14:07, Anton Kiryushkin <<a href="mailto:swood@fotofor.biz" target="_blank">swood@fotofor.biz</a>> wrote:<br>
> > <br>
> > Добавил и не помогло.<br>
> > <br>
> > сб, 6 апр. 2019 г. в 11:06, Igor Sysoev <<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>>:<br>
> > > On 6 Apr 2019, at 12:54, Anton Kiryushkin <<a href="mailto:swood@fotofor.biz" target="_blank">swood@fotofor.biz</a>> wrote:<br>
> > > <br>
> > > Здравствуйте.<br>
> > > <br>
> > > Подскажите, пожалуйста, почему nginx в данном случае никак не может собраться статически с libgd:<br>
> > > <br>
> > > ----------<br>
> > > cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /usr/pkg/include -o objs/autotest objs/autotest.c -static -L/usr/pkg/lib -lgd<br>
> > > ----------<br>
> > > <br>
> > > ----------------------------------------<br>
> > > checking for GD library in /opt/local/<br>
> > > <br>
> > > /opt/local/lib/libgd.a(gd.o): In function `lsqrt':<br>
> > > /usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'<br>
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':<br>
> > > /usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'<br>
> > > /usr/src/libgd/src/gd.c:1471: undefined reference to `sin'<br>
> > > /usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'<br>
> > > /usr/src/libgd/src/gd.c:1520: undefined reference to `sin'<br>
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':<br>
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'<br>
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `cos'<br>
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageLine':<br>
> > > /usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'<br>
> > > /usr/src/libgd/src/gd.c:1394: undefined reference to `sin'<br>
> > > /usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'<br>
> > > /usr/src/libgd/src/gd.c:1333: undefined reference to `cos'<br>
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':<br>
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'<br>
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `sin'<br>
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':<br>
> > > /usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'<br>
> > > /usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'<br>
> > > collect2: error: ld returned 1 exit status<br>
> > > ----------<br>
> > > <br>
> > > Сам libgd собран в  /opt/local с флагом static. К сожалению, мне действительно нужна статическая сборка. Остается страдать и все же так не делать или есть способ что-то тут сделать?<br>
> > <br>
> > Нужно добавить "-lm" в --with-ld-opt<br>
> > <br>
> > <br>
> > -- <br>
> > Igor Sysoev<br>
> > <a href="http://nginx.com" rel="noreferrer" target="_blank">http://nginx.com</a><br>
> > _______________________________________________<br>
> > nginx-ru mailing list<br>
> > <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
> > <br>
> > <br>
> > -- <br>
> > Best regards,<br>
> > Anton Kiryushkin<br>
> > <br>
> > _______________________________________________<br>
> > nginx-ru mailing list<br>
> > <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
> <br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
> <br>
> <br>
> -- <br>
> Best regards,<br>
> Anton Kiryushkin<br>
> <br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_2897354389676673300gmail_signature"><div dir="ltr"><div><div>Best regards,</div>Anton Kiryushkin<br><br></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div>Best regards,</div>Anton Kiryushkin<br><br></div></div></div>