Opened 15 years ago
Closed 15 years ago
#23553 closed defect (fixed)
zziplib-0.13.49 +universal configure and build broken
Reported by: | ejtttje@… | Owned by: | mf2k (Frank Schima) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.2 |
Keywords: | libzzip universal long | Cc: | |
Port: | libzzip |
Description
Building libzzip with +universal breaks during configure when trying to determine the size of 'long'. Removing the line from configure.in and running autoreconfig allows it to build, but then dies during linking because the libzzipwrapper is only linked as the native architecture, not as universal. At this point I am stymied how to resolve.
I need universal libzzip so I can build my app as 32-bit (app currently depends on another library which only supports 32-bit) and then work towards fixing the other dependency so I can move to 64 bit as well.
Attachments (6)
Change History (11)
Changed 15 years ago by ejtttje@…
Attachment: | stock_build.txt added |
---|
Changed 15 years ago by ejtttje@…
Attachment: | no_config_long.patch added |
---|
Patch to remove check for size of long from configure.ac
Changed 15 years ago by ejtttje@…
Attachment: | patched_build.txt added |
---|
debug log after applying previous patch and running 'autoconf', note error "ld: warning: in ./.libs/libzzipwrap.dylib, file is not of required architecture"
comment:1 follow-up: 2 Changed 15 years ago by ejtttje@…
The annoying thing is that after the patch it does build the object files for zzipwrap as 'universal', you can see that in both the log -arch commands and the results:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_archivers_libzzip/work/zziplib-0.13.49/Darwin_10.2.0_i386.d$ file zzipwrap/*.o zzipwrap/wrap.o: Mach-O universal binary with 2 architectures zzipwrap/wrap.o (for architecture x86_64): Mach-O 64-bit object x86_64 zzipwrap/wrap.o (for architecture i386): Mach-O object i386 zzipwrap/zzipwrap.o: Mach-O universal binary with 2 architectures zzipwrap/zzipwrap.o (for architecture x86_64): Mach-O 64-bit object x86_64 zzipwrap/zzipwrap.o (for architecture i386): Mach-O object i386
But the libzzipwrap.dylib is linked as only x86_64:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_archivers_libzzip/work/zziplib-0.13.49/Darwin_10.2.0_i386.d$ file zzipwrap/.libs/libzzipwrap.dylib zzipwrap/.libs/libzzipwrap.dylib: Mach-O 64-bit dynamically linked shared library x86_64
comment:2 Changed 15 years ago by ejtttje@…
Also note that in the original summary I mention running autoreconf, but this causes more trouble with libtool no longer working for linking:
../libtool: line 756: X--tag=CC: command not found ../libtool: line 789: libtool: ignoring unknown tag : command not found ../libtool: line 756: X--mode=link: command not found ../libtool: line 906: *** Warning: inferring the mode of operation is deprecated.: command not found ../libtool: line 907: *** Future versions of Libtool will require --mode=MODE be specified.: command not found ../libtool: line 937: libtool: warning: cannot infer operation mode from `/usr/bin/gcc-4.2': No such file or directory ../libtool: line 6656: libtool: you must specify a MODE: command not found ../libtool: line 6657: Try `libtool --help' for more information.: command not found
So instead after previous patch I used just 'autoconf' for the latter log file, which is using version 2.65 from macports, not the native 2.61 with OS X 10.6...
Changed 15 years ago by ejtttje@…
Attachment: | patch-libzzip_Portfile.diff added |
---|
A Portfile patch, updates to 0.13.58 and fixes universal build
Changed 15 years ago by ejtttje@…
Attachment: | patch-configure.ac.diff added |
---|
new version of no_config_long.patch to go with updated Portfile
Changed 15 years ago by ejtttje@…
Attachment: | patch-zzib_Makefile.in.diff added |
---|
updated pre-existing zzip/Makefile.in patch for 0.13.58
comment:3 Changed 15 years ago by ejtttje@…
SOLVED: I found that updating the version to 0.13.58 fixes the secondary zzipwrap issues, so you can apply the included patch-libzzip_Portfile.diff to update the Portfile for a few minor universal build issues, and then include the two source patches, patch-configure.ac.diff and patch-zzib_Makefile.in.diff in the 'files' directory.
comment:4 Changed 15 years ago by mf2k (Frank Schima)
Owner: | changed from macports-tickets@… to macsforever2000@… |
---|---|
Status: | new → assigned |
comment:5 Changed 15 years ago by mf2k (Frank Schima)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
debug log from stock build, see end "checking size of long... configure: error: cannot determine a size for long"