Opened 13 months ago
Closed 13 months ago
#68570 closed defect (fixed)
serf1 @1.3.10: Doesn't use -arch flags
Reported by: | rmottola (Riccardo) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | reneeotten (Renee Otten), barracuda156 | |
Port: | serf1 |
Description
after apr-utils finally generates a proper 64bit dylib I try to build serf1 which fails with a lot of symbols.
I see this partç
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_www_serf1/serf1/work/compwrap/cc/usr/bin/gcc-4.2 -o libserf-1.1.3.10.dylib -Wl,-install_name,/opt/local/lib/libserf-1.dylib -dynamiclib -Wl,-current_version,1.3.10 -Wl,-compatibility_version,1.3.0 context.os incoming.os outgoing.os ssltunnel.os buckets/aggregate_buckets.os buckets/allocator.os buckets/barrier_buckets.os buckets/buckets.os buckets/bwtp_buckets.os buckets/chunk_buckets.os buckets/dechunk_buckets.os buckets/deflate_buckets.os buckets/file_buckets.os buckets/headers_buckets.os buckets/iovec_buckets.os buckets/limit_buckets.os buckets/mmap_buckets.os buckets/request_buckets.os buckets/response_body_buckets.os buckets/response_buckets.os buckets/simple_buckets.os buckets/socket_buckets.os buckets/ssl_buckets.os auth/auth.os auth/auth_basic.os auth/auth_digest.os auth/auth_spnego.os auth/auth_spnego_gss.os auth/auth_spnego_sspi.os -L/opt/local/libexec/openssl3/lib -L/opt/local/lib -L/opt/local/lib/db48 -lssl -lcrypto -lz -lapr-1 -lpthread -laprutil-1 -ldb-4.8 -lexpat -liconv ld warning: in /opt/local/libexec/openssl3/lib/libssl.dylib, file is not of required architecture ld warning: in /opt/local/libexec/openssl3/lib/libcrypto.dylib, file is not of required architecture ld warning: in /opt/local/lib/libz.dylib, file is not of required architecture ld warning: in /opt/local/lib/libapr-1.dylib, file is not of required architecture ld warning: in /opt/local/lib/libaprutil-1.dylib, file is not of required architecture ld warning: in /opt/local/lib/db48/libdb-4.8.dylib, file is not of required architecture ld warning: in /opt/local/lib/libexpat.dylib, file is not of required architecture ld warning: in /opt/local/lib/libiconv.dylib, file is not of required architecture Undefined symbols: "_apr_uuid_get", referenced from: _serf__setup_request_digest_auth in auth_digest.os "_BIO_meth_free", referenced from:
If I check e.g.
file /opt/local/libexec/openssl3/lib/libssl.dylib /opt/local/libexec/openssl3/lib/libssl.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Can I desume it is trying to build wrongly a 32bit version?
I see no arch flags
Change History (3)
comment:1 Changed 13 months ago by jmroot (Joshua Root)
Cc: | reneeotten added |
---|---|
Keywords: | leopard 64bit removed |
comment:2 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | barracuda156 added |
---|---|
Owner: | set to ryandesign |
Status: | new → accepted |
Summary: | serf1 fails to build - wrong architecture on 10.5 64bit ? → serf1 @1.3.10: Doesn't use -arch flags |
Before serf1 used the makefile portgroup, it supplied CC, CPPFLAGS, CFLAGS, and LINKFLAGS as arguments to scons. After including the makefile portgroup, it is still setting CC as an argument, but CPPFLAGS and CFLAGS are now being supplied as environment variables (which scons is ignoring because it expected arguments not environment variables) and the makefile portgroup is also setting LDFLAGS (which scons is ignoring because it expected an environment variable named LINKFLAGS).
The makefile portgroup can be told to supply CPPFLAGS and CFLAGS as arguments instead of environment variables by using makefile.override-append CFLAGS CPPFLAGS
however there is no way to tell the makefile portgroup to use the name LINKFLAGS instead of LDFLAGS; LINKFLAGS will have to be set manually in build.args
. It's therefore simplest to revert [f2d6387f1c3c27ae29d5bf7414503793f778392c/macports-ports] entirely.
Some effort to fix the missing arch flags was made in [a4ee3e38474931392a9ae37590242e7138f6225c/macports-ports] but only on Mac OS X 10.6 when building for ppc. That should be reverted as well since it won't be necessary after fixing it properly for all systems.
comment:3 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
It wouldn't surprise me if the switch to the makefile portgroup broke something subtly, particularly since this doesn't even use a Makefile, it uses scons.