Opened 16 years ago

Closed 16 years ago

Last modified 12 years ago

#18276 closed defect (fixed)

wget: locale and ssl support missing with +universal variant

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: Cc: patwcummins@…
Port: wget

Description

When installed with the +universal variant, wget is missing the message catalogs in the locale directory and wget doesn't link with libintl, libssl or libcrypto.

Here's the non-universal build which works:

$ sudo port -d install wget > wget.txt 2>&1
$ wget https://trac.macports.org/
--2009-01-29 21:17:56--  https://trac.macports.org/
Resolving trac.macports.org... 17.254.17.55
Connecting to trac.macports.org|17.254.17.55|:443... connected.
ERROR: cannot verify trac.macports.org's certificate, issued by `/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certificates.godaddy.com/repository/CN=Go Daddy Secure Certification Authority/serialNumber=07969287':
  Self-signed certificate encountered.
To connect to trac.macports.org insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.
$ LANG=de wget
wget: URL fehlt
Syntax: wget [OPTION]... [URL]...

>>wget --help<< gibt weitere Informationen.
$

Here's the universal build which is broken:

$ sudo port deactivate wget
--->  Deactivating wget
$ sudo port -d install wget +universal > wget-universal.txt 2>&1
$ wget https://trac.macports.org/
https://trac.macports.org/: Unsupported scheme.
$ LANG=de wget
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.
$

Note the differences in what libraries are being linked with:

$ cd /opt/local/var/macports/software/wget
$ diff -rq 1.11.4_2 1.11.4_2+universal 
Files 1.11.4_2/opt/local/bin/wget and 1.11.4_2+universal/opt/local/bin/wget differ
Only in 1.11.4_2/opt/local/share: locale
Files 1.11.4_2/opt/local/share/man/man1/wget.1.gz and 1.11.4_2+universal/opt/local/share/man/man1/wget.1.gz differ
$ otool -L 1.11.4_2/opt/local/bin/wget
1.11.4_2/opt/local/bin/wget:
        /opt/local/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.2.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.11)
        /opt/local/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
        /opt/local/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
$ otool -L 1.11.4_2+universal/opt/local/bin/wget
1.11.4_2+universal/opt/local/bin/wget:
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.9)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
$ 

Attachments (2)

wget.txt (75.0 KB) - added by ryandesign (Ryan Carsten Schmidt) 16 years ago.
wget-universal.txt (41.9 KB) - added by ryandesign (Ryan Carsten Schmidt) 16 years ago.

Download all attachments as: .zip

Change History (11)

Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: wget.txt added

Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: wget-universal.txt added

comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Could be related to problems building recode +universal in #17925.

comment:2 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

As was the case with recode, this appears to be Tiger-specific; on Leopard, it builds universal correctly without help.

comment:3 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

The gettext issue can be fixed by adding -liconv to configure.ldflags, as was done for recode in r46175. That still leaves the ssl issue.

comment:4 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

openssl needs zlib, so we need to add -lz to get that to work.

comment:5 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Fixed in r46176. I used pkgconfig to read openssl's ldflags rather than just adding -lz. gettext doesn't install a pkgconfig file so I couldn't use that strategy there.

comment:6 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r46176 broke the portindex because it called pkg-config even before it had (definitely) been installed. Fixed in r46216. Thanks to Rainer for noticing.

comment:7 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:8 Changed 12 years ago by patwcummins@…

ryandesign@…, can you explain how to take the steps you mentioned of adding zlib to openssl, and configuring -liconv for ldflags.

I'm a bit a newbie when it comes to compiling software and macports. I'm getting this error on OSx 10.7.5:

--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     wget @1.14 +ssl+universal
--->  Computing dependencies for wget
--->  Cleaning wget
--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     wget @1.14 +ssl+universal
--->  Computing dependencies for wget
--->  Cleaning wget
--->  Deactivating wget @1.14_0+ssl+universal
--->  Cleaning wget
--->  Uninstalling wget @1.14_0+ssl+universal
--->  Cleaning wget
--->  Computing dependencies for wget
--->  Fetching distfiles for wget
--->  Verifying checksum(s) for wget
--->  Extracting wget
--->  Applying patches to wget
--->  Configuring wget
--->  Building wget
--->  Staging wget into destroot
--->  Installing wget @1.14_0+ssl+universal
--->  Activating wget @1.14_0+ssl+universal
To customize wget, you can copy wgetrc.sample to wgetrc
in /opt/local/etc and then make changes.
--->  Cleaning wget
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     wget @1.14 +ssl+universal
--->  Computing dependencies for wget
--->  Cleaning wget
--->  Deactivating wget @1.14_0+ssl+universal
--->  Cleaning wget
--->  Uninstalling wget @1.14_0+ssl+universal
--->  Cleaning wget
--->  Computing dependencies for wget
--->  Fetching distfiles for wget
--->  Verifying checksum(s) for wget
--->  Extracting wget
--->  Applying patches to wget
--->  Configuring wget
--->  Building wget
--->  Staging wget into destroot
--->  Installing wget @1.14_0+ssl+universal
--->  Activating wget @1.14_0+ssl+universal
To customize wget, you can copy wgetrc.sample to wgetrc
in /opt/local/etc and then make changes.
--->  Cleaning wget
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
Error: Port wget is still broken after rebuiling it more than 3 times.
Error: Please run port -d -y rev-upgrade and use the output to report a bug.
Port wget still broken after rebuilding 3 time(s)
    while executing
"error "Port $portname still broken after rebuilding [expr $broken_port_counts($portname) - 1] time(s)""
    (procedure "revupgrade_scanandrebuild" line 256)
    invoked from within
"revupgrade_scanandrebuild broken_port_counts $opts"
    (procedure "macports::revupgrade" line 5)
    invoked from within
"macports::revupgrade $opts"
    (procedure "action_revupgrade" line 2)
    invoked from within
"action_revupgrade $action $portlist $opts"
    (procedure "action_upgrade" line 24)
    invoked from within
"$action_proc $action $portlist [array get global_options]"
    (procedure "process_cmd" line 95)
    invoked from within
"process_cmd $remaining_args"
    invoked from within
"if { [llength $remaining_args] > 0 } {

    # If there are remaining arguments, process those as a command
    set exit_status [process_cmd $remaining..."
    (file "/opt/local/bin/port" line 4784)

comment:9 in reply to:  8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: patwcummins@… added

Replying to patwcummins@…:

ryandesign@…, can you explain how to take the steps you mentioned of adding zlib to openssl, and configuring -liconv for ldflags. I'm a bit a newbie when it comes to compiling software and macports. I'm getting this error on OSx 10.7.5:

This ticket is very old and describes a problem that only affected OS X 10.4 Tiger and was fixed 4 years ago. Please file a new bug report for the new problem you're experiencing.

Note: See TracTickets for help on using tickets.