Skip to contentSkip to conversation

package/softether: Fix iconv-related compile error

PATCH New Bernd Kuhls 3 participants 7 messages Mar 15, 2015 – Apr 4, 2015

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 package/softether: Fix iconv-related compile error

Fixes
http://autobuild.buildroot.net/results/72e/72eab3a6f162e3c5eac380f88b54d4f314d52445/
http://autobuild.buildroot.net/results/f47/f473882cd35445cbe5b3b15635d555340183951a/
http://autobuild.buildroot.net/results/45b/45b54b59935c3994c526593836ad433b82148f12/
http://autobuild.buildroot.net/results/1e4/1e4af4642691ea9681b39eb1ce4f8107e8c3ff5f/
http://autobuild.buildroot.net/results/182/182e658723d654d45c683dc2bc0b959c82c37826/
http://autobuild.buildroot.net/results/446/4467fd6aad86bf176625fdc74f5802f35519f157/
http://autobuild.buildroot.net/results/4a2/4a2cafabe048c5255b21cf25f149542561f60935/
http://autobuild.buildroot.net/results/12a/12a9de3d946b1379ed8bc772e556f163af758e6b/
http://autobuild.buildroot.net/results/795/795b02b656e3a6f265a5182140f4be62cf22ae7f/

To reproduce the build error I used this defconfig

BR2_arm=y
BR2_arm1176jzf_s=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv6-ctng-linux-uclibcgnueabi.tar.xz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv6-ctng-linux-uclibcgnueabi" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_WCHAR=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_PACKAGE_SOFTETHER=y

---
v3: The real problem seemed to be LIBS+= (Peter)
v2: Simplify libiconv check (Thomas)

 package/softether/softether.mk |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
package/softether/softether.mk +5 -3
index 8f8734d..1c219b8 100644
@@ -16,12 +16,12 @@ SOFTETHER_AUTORECONF = YES
 
 ifeq ($(BR2_ENABLE_LOCALE),)
 SOFTETHER_DEPENDENCIES += libiconv
-SOFTETHER_CONF_ENV = LIBS+=" -liconv"
+SOFTETHER_LIBS += -liconv
 endif
 
 ifeq ($(BR2_STATIC_LIBS),y)
 # openssl needs zlib
-SOFTETHER_CONF_ENV += LIBS+=" -lz"
+SOFTETHER_LIBS += -lz
 endif
 
 SOFTETHER_CONF_OPTS = \
@@ -31,7 +31,9 @@ SOFTETHER_CONF_OPTS = \
 # softether uses clock_gettime but forgets to link against -lrt
 # breaking the build against older libc's that don't provide this
 # symbol in libc
-SOFTETHER_CONF_ENV += LIBS+=" -lrt"
+SOFTETHER_LIBS += -lrt
+
+SOFTETHER_CONF_ENV += LIBS="$(SOFTETHER_LIBS)"
 HOST_SOFTETHER_CONF_ENV += LIBS+=" -lrt"
 
 # host-libiconv does not exist, therefore we need this extra line
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v3 1/1 package/softether: Fix iconv-related compile error

Dear Bernd Kuhls,

Quoted 6 lines · Bernd Kuhls

BR2_arm=y
BR2_arm1176jzf_s=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y

Quoted 8 lines

BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv6-ctng-linux-uclibcgnueabi.tar.xz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv6-ctng-linux-uclibcgnueabi" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_WCHAR=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_PACKAGE_SOFTETHER=y

I tried to build this defconfig, and the build went fine here. Tested at commit d4f7cfe1855cefa35322891e887636c3b82a6aea, full config at
http://code.bulix.org/u9uhwi-88083?raw, log file at
http://code.bulix.org/5wyyws-88084?raw.

Indeed, the LIBS += handling is fixed by your patch, but I'm wondering why I'm not seeing the problem.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH v3 1/1 package/softether: Fix iconv-related compile error

Quoted 20 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Dear Bernd Kuhls,

Quoted 6 lines · Bernd Kuhls

BR2_arm=y
BR2_arm1176jzf_s=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y

Quoted 8 lines

BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv6-ctng-linux-uclibcgnueabi.tar.xz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv6-ctng-linux-uclibcgnueabi" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_WCHAR=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_PACKAGE_SOFTETHER=y

Quoted 7 lines

I tried to build this defconfig, and the build went fine here. Tested at commit d4f7cfe1855cefa35322891e887636c3b82a6aea, full config at
http://code.bulix.org/u9uhwi-88083?raw, log file at
http://code.bulix.org/5wyyws-88084?raw.

Indeed, the LIBS += handling is fixed by your patch, but I'm wondering why I'm not seeing the problem.

I'm not sure either. As I mentioned earlier, I am also not able to reproduce the issue.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH v3 1/1 package/softether: Fix iconv-related compile error

Dear Peter Korsgaard,

Quoted 5 lines · Peter Korsgaard
Quoted 2 lines

Indeed, the LIBS += handling is fixed by your patch, but I'm wondering why I'm not seeing the problem.

I'm not sure either. As I mentioned earlier, I am also not able to reproduce the issue.

Yann suggested it might be a dash vs. bash issue where bash would accept multiple LIBS += on the command line, but not dash. But I changed /bin/sh to point to /bin/dash on my system, and I still couldn't reproduce the problem.

Still the problem is real as it appears on the autobuilders, but it'd be great to understand fully what's going on.

I'll try to run Bernd's minimal failing config in one of the autobuilders.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH v3 1/1 package/softether: Fix iconv-related compile error

Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20150316091235.7c77634c at free-electrons.com:

Quoted 4 lines

Yann suggested it might be a dash vs. bash issue where bash would accept multiple LIBS += on the command line, but not dash. But I changed /bin/sh to point to /bin/dash on my system, and I still couldn't reproduce the problem.

Hi,

FYI

$ dpkg -l | grep dash
ii  dash        0.5.7-3              amd64        POSIX-compliant shell
$ ls -la /bin/sh
lrwxrwxrwx 1 root root 4 M?r  1  2012 /bin/sh -> dash
$ cat /etc/debian_version
7.8

Regards, Bernd

#5 lore raw

PATCH v3 1/1 package/softether: Fix iconv-related compile error

Quoted 12 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Bernd" == Bernd Kuhls <[email protected]> writes:

Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20150316091235.7c77634c at free-electrons.com:

Quoted 4 lines

Yann suggested it might be a dash vs. bash issue where bash would accept multiple LIBS += on the command line, but not dash. But I changed /bin/sh to point to /bin/dash on my system, and I still couldn't reproduce the problem.

Hi,

Quoted 7 lines

FYI

$ dpkg -l | grep dash
ii  dash        0.5.7-3              amd64        POSIX-compliant shell
$ ls -la /bin/sh
lrwxrwxrwx 1 root root 4 Mr  1  2012 /bin/sh -> dash

My setup is almost the same, except:

dpkg -l dash | grep ii
ii dash 0.5.7-4+b1 amd64 POSIX-compliant shell

So I don't think that is the reason.

Signature · 1 line
Bye, Peter Korsgaard
#6 lore raw

PATCH v3 1/1 package/softether: Fix iconv-related compile error

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 28 lines · Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/72e/72eab3a6f162e3c5eac380f88b54d4f314d52445/
http://autobuild.buildroot.net/results/f47/f473882cd35445cbe5b3b15635d555340183951a/
http://autobuild.buildroot.net/results/45b/45b54b59935c3994c526593836ad433b82148f12/
http://autobuild.buildroot.net/results/1e4/1e4af4642691ea9681b39eb1ce4f8107e8c3ff5f/
http://autobuild.buildroot.net/results/182/182e658723d654d45c683dc2bc0b959c82c37826/
http://autobuild.buildroot.net/results/446/4467fd6aad86bf176625fdc74f5802f35519f157/
http://autobuild.buildroot.net/results/4a2/4a2cafabe048c5255b21cf25f149542561f60935/
http://autobuild.buildroot.net/results/12a/12a9de3d946b1379ed8bc772e556f163af758e6b/
http://autobuild.buildroot.net/results/795/795b02b656e3a6f265a5182140f4be62cf22ae7f/

To reproduce the build error I used this defconfig

BR2_arm=y
BR2_arm1176jzf_s=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv6-ctng-linux-uclibcgnueabi.tar.xz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv6-ctng-linux-uclibcgnueabi" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_WCHAR=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_PACKAGE_SOFTETHER=y

Quoted 1 line

Nor Peter nor I were able to reproduce the issue, and since then the softether version has been bumped, and the issue hasn't appeared again on the autobuilders. So let's assume the issue has been fixed. I'll mark the patch as Rejected in patchwork.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com