Projects
New Ticket     Wiki     Browse Source     Timeline     Roadmap     Bug Reports     Search

Ticket #14132 (new defect)

Opened 10 months ago

Last modified 8 weeks ago

cyrus-sasl2 +universal does not build on i386 Tiger

Reported by: ryan@… Owned by: jmpp@…
Priority: Normal Milestone: Port Bugs
Component: ports Version: 1.6.0
Keywords: Cc: landonf@…, robbie@…, blb@…
Port: cyrus-sasl2

Description

/bin/sh ../libtool --mode=link /usr/bin/gcc-4.0  -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc  -L/opt/local/lib -L/opt/local/lib -arch i386 -arch ppc -o dbconverter-2  dbconverter-2.o ../sasldb/libsasldb.la ../lib/libsasl2.la   -lresolv -lresolv  -lpam
mkdir .libs
/usr/bin/gcc-4.0 -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -L/opt/local/lib -L/opt/local/lib -arch i386 -arch ppc -o .libs/dbconverter-2 dbconverter-2.o ../sasldb/.libs/libsasldb.al -lresolv -lresolv -lpam -L../lib/.libs -lsasl2 -ldl -lresolv -lresolv -lpam -lresolv -lresolv -lpam
/usr/bin/ld: for architecture ppc
/usr/bin/ld: warning ../lib/.libs/libsasl2.dylib cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: Undefined symbols:
_sasl_dispose
_sasl_done
_sasl_global_utils
_sasl_server_init
_sasl_server_new
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccXswaSm.out (No such file or directory)
make[2]: *** [dbconverter-2] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_security_cyrus-sasl2/work/cyrus-sasl-2.1.21" && make all " returned error 2
Command output: (cd . && ln -s plugin_common.lo plugin_common.o)
/usr/bin/gcc-4.0 -dynamiclib -undefined error -o .libs/libsasl2.2.0.21.dylib  auxprop.lo canonusr.lo checkpw.lo client.lo common.lo config.lo external.lo md5.lo saslutil.lo server.lo seterror.lo dlopen.lo plugin_common.lo  -L/opt/local/lib -ldl -lresolv -lresolv -lpam -lc  -install_name /opt/local/lib/libsasl2.2.dylib -compatibility_version 3 -current_version 3.21
(cd .libs && rm -f libsasl2.2.dylib && ln -s libsasl2.2.0.21.dylib libsasl2.2.dylib)
(cd .libs && rm -f libsasl2.dylib && ln -s libsasl2.2.0.21.dylib libsasl2.dylib)
creating libsasl2.la
(cd .libs && rm -f libsasl2.la && ln -s ../libsasl2.la libsasl2.la)
Making all in utils
/usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include   -I/opt/local/include -I/opt/local/include  -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -c `test -f 'dbconverter-2.c' || echo './'`dbconverter-2.c
dbconverter-2.c: In function 'good_getopt':
dbconverter-2.c:365: warning: unused parameter 'context'
dbconverter-2.c:366: warning: unused parameter 'plugin_name'
dbconverter-2.c: In function 'good_getopt':
dbconverter-2.c:365: warning: unused parameter 'context'
dbconverter-2.c:366: warning: unused parameter 'plugin_name'
/bin/sh ../libtool --mode=link /usr/bin/gcc-4.0  -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc  -L/opt/local/lib -L/opt/local/lib -arch i386 -arch ppc -o dbconverter-2  dbconverter-2.o ../sasldb/libsasldb.la ../lib/libsasl2.la   -lresolv -lresolv  -lpam
mkdir .libs
/usr/bin/gcc-4.0 -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -L/opt/local/lib -L/opt/local/lib -arch i386 -arch ppc -o .libs/dbconverter-2 dbconverter-2.o ../sasldb/.libs/libsasldb.al -lresolv -lresolv -lpam -L../lib/.libs -lsasl2 -ldl -lresolv -lresolv -lpam -lresolv -lresolv -lpam
/usr/bin/ld: for architecture ppc
/usr/bin/ld: warning ../lib/.libs/libsasl2.dylib cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: Undefined symbols:
_sasl_dispose
_sasl_done
_sasl_global_utils
_sasl_server_init
_sasl_server_new
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccXswaSm.out (No such file or directory)
make[2]: *** [dbconverter-2] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Warning: the following items did not execute (for cyrus-sasl2): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Error: The following dependencies failed to build: openldap cyrus-sasl2 db44 popt readline
Error: Status 1 encountered during processing.

Attachments

cyrus-sasl2_universal.tar.bz2 (1.5 KB) - added by blb@… 8 weeks ago.
diff to Portfile and files/patch-config_ltconfig

Change History

follow-up: ↓ 2   Changed 10 months ago by ryandesign@…

  • cc landonf@… added
  • owner changed from macports-tickets@… to jmpp@…
  • milestone set to Port Bugs

Assigning to / Cc'ing maintainers of cyrus-sasl2.

in reply to: ↑ 1   Changed 4 months ago by robbie@…

Replying to ryandesign@macports.org:

Assigning to / Cc'ing maintainers of cyrus-sasl2.

I just ran into this again on Leopard 10.5.4 (Intel, MacPorts 1.6, just ran a sync) as a dependency of openssl +universal. I get a very similar error.

Cleaning and attempting to install again has no effect.

One thing that I noticed is that it's using the MacOSX10.5.sdk rather than the 10.4u one.

I found this page (http://www.theronge.com/2006/04/15/how-to-compile-cyrus-sasl-as-universal/) , which suggests configuring with 10.4u instead of 10.5 ... I'm unfamiliar with modifying portfiles, otherwise I would have a patch.

Thanks, Robert Iannucci Jr.

// Begin trace ---> Building cyrus-sasl2 with target all Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_security_cyrus-sasl2/work/cyrus-sasl-2.1.21" && make all " returned error 2 Command output: (cd .libs && rm -f libsasl2.la && ln -s ../libsasl2.la libsasl2.la) Making all in utils /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -I/opt/local/include -I/opt/local/include -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -c test -f 'dbconverter-2.c' || echo './'dbconverter-2.c dbconverter-2.c: In function 'good_getopt': dbconverter-2.c:365: warning: unused parameter 'context' dbconverter-2.c:366: warning: unused parameter 'plugin_name' dbconverter-2.c: In function 'good_getopt': dbconverter-2.c:365: warning: unused parameter 'context' dbconverter-2.c:366: warning: unused parameter 'plugin_name' /bin/sh ../libtool --mode=link /usr/bin/gcc-4.0 -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -L/opt/local/lib -Wl,-rpath,/opt/local/lib -L/opt/local/lib -arch i386 -arch ppc -o dbconverter-2 dbconverter-2.o ../sasldb/libsasldb.la ../lib/libsasl2.la -lresolv -lresolv -lpam mkdir .libs /usr/bin/gcc-4.0 -Wall -W -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -L/opt/local/lib -Wl,-rpath,/opt/local/lib -L/opt/local/lib -arch i386 -arch ppc -o .libs/dbconverter-2 dbconverter-2.o ../sasldb/.libs/libsasldb.al -lresolv -lresolv -lpam -L../lib/.libs -lsasl2 -ldl -lresolv -lresolv -lpam -lresolv -lresolv -lpam ld: warning in ../lib/.libs/libsasl2.dylib, file is not of required architecture Undefined symbols for architecture ppc:

"_sasl_global_utils", referenced from:

_sasl_global_utils$non_lazy_ptr in dbconverter-2.o

...

"_sasl_server_new", referenced from:

_main in dbconverter-2.o

ld: symbol(s) not found for architecture ppc collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//cc3iRxlR.out (No such file or directory) make[2]: *** [dbconverter-2] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2

follow-up: ↓ 4   Changed 4 months ago by robbie@…

  • cc robbie@… added

Cc Me!

in reply to: ↑ 3   Changed 4 months ago by robbie@…

Replying to robbie@rail.com:

Cc Me!

Sorry for the confusion, it was a dependency of subversion, not openssl. I just checked dependents of cyrus-sasl2, and it looks like there are none... it would be nice to have this compile cleanly for subversion, but oh well.

  Changed 8 weeks ago by blb@…

  • cc blb@… added
  • port set to cyrus-sasl2

Attaching a tarball with two files: a diff to the Portfile and files/patch-config_ltconfig.

The Portfile updates to 2.1.22 (markd@'s patch from ticket #11386) and adds universal support. This is done by patching config/ltconfig prior to configure to get the right SDK root to use (put into configure.universal_sysroot by port), then when configure is done libtool looks like how the link robbie@ posted above.

Changed 8 weeks ago by blb@…

diff to Portfile and files/patch-config_ltconfig

Note: See TracTickets for help on using tickets.