Re: Compilation on latest FreeBSD
Martin Schanzenbach <[email protected]> Sat, 6 Sep 2025 11:17:29 +0200
| Newsgroups | gmane.network.gnunet.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--------------TvxmMJ0shVitMxRaSuys3TDr
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Hello,
I only occasionally compile on recent OpenBSDs. This error is new to me
and completely unclear what the problem ist.
in src/include/gnunet_common.h there is an ifdef for FreeBSD that
defines bswap_XY to bswapXY, which should exist:
https://man.freebsd.org/cgi/man.cgi?query=bswap16&apropos=0&sektion=9&manpath=FreeBSD+15.0-CURRENT&arch=default&format=html
Now, I do not know if FreeBSD wants any special linker flags for those
symbols. But that does not seem to be the problem at all, the problem
seems to be that the bswap_16 symbol is not found, which should not
really ever happen...
Anyway, maybe you can fiddle around with gnunet_common.h to make it
compile somehow and provide a patch?
Best
Martin
Am 06.09.25 um 09:54 schrieb k via Mailinglist for GNUnet developers:
>
> Dear,
>
> I see that there are not many reactions in general for FreeBSD. Maybe
> I will share what I did:
>
> #!/bin/sh
>
> pkg install meson ninja pkgconf gettext gmake libtool libltdl git
>
> pkg install libgcrypt
> pkg install libidn2
> pkg install libmicrohttpd
> pkg install libunistring
> pkg install jansson
> pkg install gmp
> pkg install curl
> pkg install sqlite3
> pkg install zbar
> pkg install quiche
>
> pkg install recutils
>
> pkg install libltdl libtool
>
> pkg install libmicrohttpd
>
> pkg install libngtcp2
> pkg install libnghttp3
> pkg install miniupnpc
>
> meson setup build \
> -Dc_args="-I/usr/local/include" \
> -Dc_link_args="-L/usr/local/lib" \
> --prefix=/usr/local \
> --sysconfdir=/usr/local/etc \
> -Dexclude-manpages=false
>
> cd build
>
> ninja
>
> [1/681] cc -o src/lib/pq/libgnunetpq.so.5.4.0 src/lib/pq/libgnunetpq.so.5.4.0.p/pq.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_connect.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_eval.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_event.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_exec.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_prepare.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_query_helper.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_result_helper.c.o -L/usr/local/lib -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libgnunetpq.so.5 '-Wl,-rpath,$ORIGIN/../util:/usr/local/lib' -Wl,-rpath-link,/usr/home/user1/gnunet/gnunet/build/src/lib/util -Wl,-rpath-link,/usr/local/lib -Wl,--start-group src/lib/util/libgnunetutil.so.18.0.0 /usr/local/lib/libpq.so -Wl,--end-group
> FAILED: src/lib/pq/libgnunetpq.so.5.4.0
> cc -o src/lib/pq/libgnunetpq.so.5.4.0 src/lib/pq/libgnunetpq.so.5.4.0.p/pq.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_connect.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_eval.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_event.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_exec.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_prepare.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_query_helper.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_result_helper.c.o -L/usr/local/lib -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libgnunetpq.so.5 '-Wl,-rpath,$ORIGIN/../util:/usr/local/lib' -Wl,-rpath-link,/usr/home/user1/gnunet/gnunet/build/src/lib/util -Wl,-rpath-link,/usr/local/lib -Wl,--start-group src/lib/util/libgnunetutil.so.18.0.0 /usr/local/lib/libpq.so -Wl,--end-group
> ld: error: undefined symbol: bswap_16
> >>> referenced by pq_query_helper.c:361 (../src/lib/pq/pq_query_helper.c:361)
> >>> src/lib/pq/libgnunetpq.so.5.4.0.p/pq_query_helper.c.o:(qconv_int16)
> cc: error: linker command failed with exit code 1 (use -v to see invocation)
> [2/681] cc -o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0 src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_serialization.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_crypto.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_pow.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_misc.c.o -L/usr/local/lib -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libgnunetgnsrecord.so.0 '-Wl,-rpath,$ORIGIN/../util:/usr/local/lib' -Wl,-rpath-link,/usr/home/user1/gnunet/gnunet/build/src/lib/util -Wl,-rpath-link,/usr/local/lib -Wl,--start-group src/lib/util/libgnunetutil.so.18.0.0 /usr/local/lib/libsodium.so /usr/local/lib/libgcrypt.so -Wl,--end-group
> ninja: build stopped: subcommand failed
>
> Best Regards,
>
--------------TvxmMJ0shVitMxRaSuys3TDr
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello,</p>
<p><br>
</p>
<p>I only occasionally compile on recent OpenBSDs. This error is new
to me and completely unclear what the problem ist.</p>
<p>in src/include/gnunet_common.h there is an ifdef for FreeBSD that
defines bswap_XY to bswapXY, which should exist:
<a class="moz-txt-link-freetext" href="https://man.freebsd.org/cgi/man.cgi?query=bswap16&apropos=0&sektion=9&manpath=FreeBSD+15.0-CURRENT&arch=default&format=html">https://man.freebsd.org/cgi/man.cgi?query=bswap16&apropos=0&sektion=9&manpath=FreeBSD+15.0-CURRENT&arch=default&format=html</a></p>
<p>Now, I do not know if FreeBSD wants any special linker flags for
those symbols. But that does not seem to be the problem at all,
the problem seems to be that the bswap_16 symbol is not found,
which should not really ever happen...</p>
<p><br>
</p>
<p>Anyway, maybe you can fiddle around with gnunet_common.h to make
it compile somehow and provide a patch?</p>
<p><br>
</p>
<p>Best</p>
<p>Martin<br>
</p>
<div class="moz-cite-prefix">Am 06.09.25 um 09:54 schrieb k via
Mailinglist for GNUnet developers:<br>
</div>
<blockquote type="cite"
cite="mid:[email protected]">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Dear,</p>
<p>I see that there are not many reactions in general for FreeBSD.
Maybe I will share what I did:</p>
<pre>#!/bin/sh
pkg install meson ninja pkgconf gettext gmake libtool libltdl git
pkg install libgcrypt
pkg install libidn2
pkg install libmicrohttpd
pkg install libunistring
pkg install jansson
pkg install gmp
pkg install curl
pkg install sqlite3
pkg install zbar
pkg install quiche
pkg install recutils
pkg install libltdl libtool
pkg install libmicrohttpd
pkg install libngtcp2
pkg install libnghttp3
pkg install miniupnpc
meson setup build \
-Dc_args="-I/usr/local/include" \
-Dc_link_args="-L/usr/local/lib" \
--prefix=/usr/local \
--sysconfdir=/usr/local/etc \
-Dexclude-manpages=false
</pre>
<p>cd build</p>
<p>ninja</p>
<pre>[1/681] cc -o src/lib/pq/libgnunetpq.so.5.4.0 src/lib/pq/libgnunetpq.so.5.4.0.p/pq.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_connect.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_eval.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_event.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_exec.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_prepare.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_query_helper.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_result_helper.c.o -L/usr/local/lib -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libgnunetpq.so.5 '-Wl,-rpath,$ORIGIN/../util:/usr/local/lib' -Wl,-rpath-link,/usr/home/user1/gnunet/gnunet/build/src/lib/util -Wl,-rpath-link,/usr/local/lib -Wl,--start-group src/lib/util/libgnunetutil.so.18.0.0 /usr/local/lib/libpq.so -Wl,--end-group
FAILED: src/lib/pq/libgnunetpq.so.5.4.0
cc -o src/lib/pq/libgnunetpq.so.5.4.0 src/lib/pq/libgnunetpq.so.5.4.0.p/pq.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_connect.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_eval.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_event.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_exec.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_prepare.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_query_helper.c.o src/lib/pq/libgnunetpq.so.5.4.0.p/pq_result_helper.c.o -L/usr/local/lib -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libgnunetpq.so.5 '-Wl,-rpath,$ORIGIN/../util:/usr/local/lib' -Wl,-rpath-link,/usr/home/user1/gnunet/gnunet/build/src/lib/util -Wl,-rpath-link,/usr/local/lib -Wl,--start-group src/lib/util/libgnunetutil.so.18.0.0 /usr/local/lib/libpq.so -Wl,--end-group
ld: error: undefined symbol: bswap_16
>>> referenced by pq_query_helper.c:361 (../src/lib/pq/pq_query_helper.c:361)
>>> src/lib/pq/libgnunetpq.so.5.4.0.p/pq_query_helper.c.o:(qconv_int16)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
[2/681] cc -o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0 src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_serialization.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_crypto.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_pow.c.o src/lib/gnsrecord/libgnunetgnsrecord.so.0.0.0.p/gnsrecord_misc.c.o -L/usr/local/lib -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libgnunetgnsrecord.so.0 '-Wl,-rpath,$ORIGIN/../util:/usr/local/lib' -Wl,-rpath-link,/usr/home/user1/gnunet/gnunet/build/src/lib/util -Wl,-rpath-link,/usr/local/lib -Wl,--start-group src/lib/util/libgnunetutil.so.18.0.0 /usr/local/lib/libsodium.so /usr/local/lib/libgcrypt.so -Wl,--end-group
ninja: build stopped: subcommand failed
</pre>
<p>Best Regards,</p>
</blockquote>
</body>
</html>
--------------TvxmMJ0shVitMxRaSuys3TDr--