Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#15718 closed defect (fixed)

Package wget-1.14 fail to compile

Reported by: anonymous Owned by: developers
Priority: high Milestone: Chaos Calmer 15.05
Component: packages Version: Trunk
Keywords: Cc:

Description

I've upgraded my Ubuntu to 14.04 stable and I've problem to compile build, it stops at wget-1.14 with following error:

make[3]: * /Openwrt/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/wget-ssl/wget-1.14/.prepared_ac57a797f1beb4916f70a641113847f9 Error 2
make[2]:
* [package/feeds/packages/wget/compile] Error 2
make[1]: * /Openwrt/trunk/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.package_compile Error 2
make:
* [world] Error 2

tried to compile with multithread (-j5) and single thread, but fails in every situation.
I've tried also to delete all buildroot and recreate from start.

Attachments (0)

Change History (17)

comment:1 Changed 4 years ago by hnyman

I experienced a similar error with wget-ssl yesterday after upgrading my build environment to Ubuntu 14.04 x64.

Originally I compiled multithreaded with -j3, but after the error I continued the build single-threaded and the build succeeded.

Based on forum dicsussion, also another users have ran into the error: https://forum.openwrt.org/viewtopic.php?pid=231326#p231326

Possibly Ubuntu 14.04 contains newer versions of some prerequisites causing the error condition to pop up. Might be that wget should be marked to require single-threaded compilation. It is also possible that some other packages will also run into the same error if the underlying reason is a change in Ubuntu.

comment:2 Changed 4 years ago by anonymous

I don't think is only Ubuntu prerequisites problem, the problem was present in Ubuntu 13.10.
Last release with no problem in Ubuntu 13.10 was 40527, after that I've tried recompile new upcoming releases with wget error then I've upgraded Ubuntu, but wget compiling problem every present with single thread also.

No way to compile for me. :-(

comment:3 Changed 4 years ago by hnyman

It looks rather strange:

Based on build log it looks like the error is related to the (unnecessary) documentation being built:

make[6]: Entering directory `/Openwrt/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/wget-ssl/wget-1.14/doc'
./texi2pod.pl -D VERSION="1.14" ./wget.texi wget.pod
/usr/bin/pod2man --center="GNU Wget" --release="GNU Wget 1.14" wget.pod > wget.1
wget.pod around line 2105: Expected text after =item, not a number
wget.pod around line 2110: Expected text after =item, not a number
wget.pod around line 2116: Expected text after =item, not a number
wget.pod around line 2121: Expected text after =item, not a number
wget.pod around line 2126: Expected text after =item, not a number
wget.pod around line 2131: Expected text after =item, not a number
wget.pod around line 2136: Expected text after =item, not a number
wget.pod around line 2141: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 71.
make[6]: *** [wget.1] Error 255
make[6]: Leaving directory `/Openwrt/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/wget-ssl/wget-1.14/doc'

But the strange part is what happens, when I compile just wget package single-threadedly:
On the first run the same error pops up.
But if I do a second build run (without clean), the build goes ok.

perus@v1404:/Openwrt/trunk$ make package/wget/clean
 make[1] package/wget/clean
 make[2] -C feeds/packages/net/wget clean

perus@v1404:/Openwrt/trunk$ make package/wget/compile V=s >wgetmake.txt
WARNING: skipping libssp -- package not selected
WARNING: skipping libstdcpp -- package not selected
WARNING: skipping libthread-db -- package not selected
WARNING: skipping libgfortran -- package not selected
WARNING: skipping ldd -- package not selected
WARNING: skipping ldconfig -- package not selected
WARNING: skipping libpcrecpp -- package not selected
wget.pod around line 2105: Expected text after =item, not a number
wget.pod around line 2110: Expected text after =item, not a number
wget.pod around line 2116: Expected text after =item, not a number
wget.pod around line 2121: Expected text after =item, not a number
wget.pod around line 2126: Expected text after =item, not a number
wget.pod around line 2131: Expected text after =item, not a number
wget.pod around line 2136: Expected text after =item, not a number
wget.pod around line 2141: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 71.
make[5]: *** [wget.1] Error 255
make[4]: *** [all-recursive] Error 1
make[3]: *** [all] Error 2
make[2]: *** [/Openwrt/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/wget-ssl/wget-1.14/.built] Error 2
make[1]: *** [package/feeds/packages/wget/compile] Error 2
make: *** [package/wget/compile] Error 2

perus@v1404:/Openwrt/trunk$ less wgetmake.txt 

perus@v1404:/Openwrt/trunk$ make package/wget/compile V=s >wgetmake2.txt
WARNING: skipping libssp -- package not selected
WARNING: skipping libstdcpp -- package not selected
WARNING: skipping libthread-db -- package not selected
WARNING: skipping libgfortran -- package not selected
WARNING: skipping ldd -- package not selected
WARNING: skipping ldconfig -- package not selected
WARNING: skipping libpcrecpp -- package not selected

perus@v1404:/Openwrt/trunk$ 

So, I think that building the wget docs should be disabled.

I am not sure what is the difference in /usr/bin/pod2man between older Ubuntu and new one, but this might affect also other packages that build docs.

comment:4 follow-up: Changed 4 years ago by anonymous

I've found following defect /ticket/15563.html opened some days ago, but I don't know if patch is the solution, it refer to a 2013 problem.

comment:5 in reply to: ↑ 4 ; follow-up: Changed 4 years ago by hnyman

Replying to anonymous:

I've found following defect /ticket/15563.html opened some days ago, but I don't know if patch is the solution, it refer to a 2013 problem.

It sounds reasonable to me. The linked bug report http://www.sourcemage.org/issues/546 pretty clearly says that the underlying reason a new perl version (perl 5.18.2 in Ubuntu 14.04, while it was 5.14.2 in Ubuntu 13.10). There are also patches for wget 1.14 pod documentation.

comment:6 in reply to: ↑ 5 Changed 4 years ago by anonymous

Replying to hnyman:

Replying to anonymous:

I've found following defect /ticket/15563.html opened some days ago, but I don't know if patch is the solution, it refer to a 2013 problem.

It sounds reasonable to me. The linked bug report http://www.sourcemage.org/issues/546 pretty clearly says that the underlying reason a new perl version (perl 5.18.2 in Ubuntu 14.04, while it was 5.14.2 in Ubuntu 13.10). There are also patches for wget 1.14 pod documentation.

Ok, I've downloaded patch and installed under /openwrt/trunk/feeds/packages/net/wget/patches, now I'm trying to recompile with dirclean and -j5 option.

News in 40 mins :-)

comment:7 Changed 4 years ago by anonymous

Ok, patch works fine with -j5 option in Ubuntu 14.04 x64 and perl 5.18.X build complete with no errors.

comment:8 Changed 4 years ago by hnyman

I checked further.
It seems that the bugs related to texinfo & perl have been already fixed upstream in wget:
http://git.savannah.gnu.org/cgit/wget.git/commit/?id=9e8d899a356d95be34737488bb8fd59d4c6b3dbd
http://git.savannah.gnu.org/cgit/wget.git/commit/doc?id=7f43748544f26008d0dd337704f02a6ed3200aaf

Both fixes are included in the already released wget 1.15.
Compiling that succeeds without any patches to wget sources.
I will probably submit the patch to openwrt-devel mailing list after verifying the compiled wget in my router.

--- packages/net/wget/Makefile	(revision 40572)
+++ packages/net/wget/Makefile	(working copy)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wget
-PKG_VERSION:=1.14
+PKG_VERSION:=1.15
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=316f6f59292c9098ad81fd54f658c579
+PKG_MD5SUM:=7a279d5ac5594919124d5526e7143e28
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 

comment:9 Changed 4 years ago by anonymous

Ok, I've changed wget Makefile with 1.15 version and MD5SUM then recompiled OpenWrt Trunk with -j5 and all works fine.

comment:10 Changed 4 years ago by nbd

  • Resolution set to fixed
  • Status changed from new to closed

fixed in r40574

comment:11 follow-up: Changed 4 years ago by hnyman

Looks like the bump to 1.15 caused also some negative fallout. I only tested the normal wget, but the wget-nossl variant got apparently broken due to a missing dependency. Buildbot noticed that:

http://buildbot.openwrt.org:8010/broken_packages/ar71xx/wget/compile.txt

find /home/fnord/slave/ar71xx/build/build_dir/target-mips_34kc_uClibc-0.9.33.2/wget-nossl/wget-1.15/ipkg-ar71xx/wget-nossl -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
Package wget-nossl is missing dependencies for the following libraries:
libnettle.so.4
make[2]: *** [/home/fnord/slave/ar71xx/build/bin/ar71xx/packages/wget-nossl_1.15-1_ar71xx.ipk] Error 1

Dependency on libnettle should probably be added to the wget-nossl variant.

comment:12 in reply to: ↑ 11 Changed 4 years ago by hnyman

@nbd:

Replying to hnyman:

Looks like the bump to 1.15 caused also some negative fallout.

...

Dependency on libnettle should probably be added to the wget-nossl variant.

After a few minutes pondering, I am not so sure.
The requirement for nettle is apparently due to http://git.savannah.gnu.org/cgit/wget.git/commit/?id=c19d76c02483f070beb688d6fe6f5fafb5674a08
That changed the support for ntlm authentication without SSL.

But I am not sure what is the intention of the -nossl variant. Should it be as small as possible?
Would it be better to configure the build without libnettle?
Or just add the dependency on libnettle?

comment:13 follow-up: Changed 4 years ago by nbd

Please disable the use of libnettle for all variants.

comment:14 in reply to: ↑ 13 Changed 4 years ago by hnyman

Replying to nbd:

Please disable the use of libnettle for all variants.

Patch filed for #15731: http://patchwork.openwrt.org/patch/5264/
I touched only the nossl variant, as the required change was so simple.

comment:15 follow-up: Changed 4 years ago by nbd

wouldn't it be better to always pass that parameter - for any variant?
just to make sure that this doesn't get picked up again at some point

comment:16 in reply to: ↑ 15 Changed 4 years ago by hnyman

Replying to nbd:

wouldn't it be better to always pass that parameter - for any variant?
just to make sure that this doesn't get picked up again at some point

It is not that simple. Afaik there is no config switch for disabling nettle support. That would need to be patched into wget source and might cause additional work at the next version bump. I did not want to add complexity by adding new patches on Openwrt side.

So I reverted to disabling ntlm support on nossl variant.

And if ssl is there, then the config of the full wget uses that and does not try to use nettle.

Disabling ntlm support totally is up to you devs.

comment:17 Changed 4 years ago by hauke

The dependency problem is fixed in r40595.

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.