wireguard.lists.zx2c4.com archive mirror
 help / color / mirror / Atom feed
From: Sebastian Gottschall <s.gottschall@newmedia-net.de>
To: wireguard@lists.zx2c4.com
Subject: Re: Build error on ARM device due to ld flags
Date: Thu, 24 Jan 2019 04:14:07 +0100	[thread overview]
Message-ID: <7406fa0c-9818-5216-7d14-28a33520b894@newmedia-net.de> (raw)
In-Reply-To: <CAO_nJAbgfQ7DY+v40P1tpgHX84HVA=85jvd3-vaEJi8d0kGNcg@mail.gmail.com>

-Wl etc is not a valid linker flag, its a flag for gcc which passes the 
following flags to the linker. so basicly the LDFLAGS are just wrong.
in general no CFLAGS or LDFLAGS should be overriden, since wireguard 
uses exact he same flags which is used for compiling the kernel. so setting
custom flags should be avoided

Am 23.01.2019 um 22:07 schrieb John:
> I am running Arch ARM (aarch64) on an ODROID-C2 using gcc v8.2.1.
> Arch ARM which ships with the following LDFLAGS as defaults,
> "-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
>
> When I build wireguard on this device as shown below, I get this error
> but am unsure why:
>
> ld: unrecognized option '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
> ld: use the --help option for usage information
> make[2]: *** [scripts/Makefile.build:393:
> /scratch/WireGuard-0.0.20190123/src/wireguard.o] Error 1
> make[1]: *** [Makefile:1358:
> _module_/scratch/WireGuard-0.0.20190123/src] Error 2
> make: *** [Makefile:36: module] Error 2
>
> If I remove the '-Wl' switch from the distro default, it builds
> without error.  Any advice is appreciated.
>
> Complete build log and my FLAGS:
>
> % export CPPFLAGS="-D_FORTIFY_SOURCE=2"
> % export CFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt"
> % export CXXFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt"
> % export LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
> % export DEBUG_CFLAGS="-g -fvar-tracking-assignments"
> % export DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
>
> % cd WireGuard-0.0.20190123
> % make -j5 -C src
> make: Entering directory '/scratch/WireGuard-0.0.20190123/src'
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/wg.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/config.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/show.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/terminal.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/ipc.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/mnlg.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/encoding.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/curve25519.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/setconf.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/genkey.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/showconf.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/pubkey.o
>    CC      /scratch/WireGuard-0.0.20190123/src/tools/set.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/main.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/device.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/noise.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/peer.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/timers.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/queueing.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/send.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/receive.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/socket.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/hashtables.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/allowedips.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/ratelimiter.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/cookie.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/netlink.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20/chacha20.o
>    PERLASM /scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20/chacha20-arm64.S
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/poly1305/poly1305.o
>    PERLASM /scratch/WireGuard-0.0.20190123/src/crypto/zinc/poly1305/poly1305-arm64.S
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20poly1305.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/blake2s/blake2s.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/curve25519/curve25519.o
>    LD      /scratch/WireGuard-0.0.20190123/src/tools/wg
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/compat/siphash/siphash.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/compat/dst_cache/dst_cache.o
>    CC [M]  /scratch/WireGuard-0.0.20190123/src/compat/udp_tunnel/udp_tunnel.o
>    AS [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20/chacha20-arm64.o
>    AS [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/poly1305/poly1305-arm64.o
>    LD [M]  /scratch/WireGuard-0.0.20190123/src/wireguard.o
> ld: unrecognized option '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
> ld: use the --help option for usage information
> make[2]: *** [scripts/Makefile.build:393:
> /scratch/WireGuard-0.0.20190123/src/wireguard.o] Error 1
> make[1]: *** [Makefile:1358:
> _module_/scratch/WireGuard-0.0.20190123/src] Error 2
> make: *** [Makefile:36: module] Error 2
> make: Leaving directory '/scratch/WireGuard-0.0.20190123/src'
> _______________________________________________
> WireGuard mailing list
> WireGuard@lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/wireguard
>
_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

  reply	other threads:[~2019-01-24  4:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-23 21:07 Build error on ARM device due to ld flags John
2019-01-24  3:14 ` Sebastian Gottschall [this message]
2019-01-24  8:57   ` John
2019-01-24  9:40     ` Sebastian Gottschall
2019-01-24 19:33       ` John
2019-01-25 11:54         ` Sebastian Gottschall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7406fa0c-9818-5216-7d14-28a33520b894@newmedia-net.de \
    --to=s.gottschall@newmedia-net.de \
    --cc=wireguard@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).