Opened 11 years ago

Closed 10 years ago

#24952 closed defect (fixed)

cannot build +universal version of libpano13 on Snow Leopard

Reported by: turkowski Owned by: freespace+macforge@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc: ryandesign (Ryan Schmidt)
Port: libpano13

Description (last modified by jmroot (Joshua Root))

I canot cannot build +universal version of libpano13 on Snow Leopard. It seems to compile without +universal, though.

% sudo port -d install libpano13 +universal
...
/usr/bin/gcc-4.2 -O2 -arch x86_64 -arch i386 -arch x86_64 -arch i386 -o .libs/panoinfo panoinfo_unix.o  -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpano13/work/libpano13-2.9.14 -L/opt/local/lib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpano13/work/libpano13-2.9.14/.libs/libpano13.dylib /opt/local/lib/libpng12.dylib /opt/local/lib/libtiff.dylib /opt/local/lib/libjpeg.dylib -lc -lz
ld: warning: in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpano13/work/libpano13-2.9.14/.libs/libpano13.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols for architecture i386:
  "_queryFeatureString", referenced from:
      _main in panoinfo_unix.o
      _main in panoinfo_unix.o
      _main in panoinfo_unix.o
      _main in panoinfo_unix.o
      _main in panoinfo_unix.o
  "_queryFeatureInt", referenced from:
      _main in panoinfo_unix.o
  "_queryFeatures", referenced from:
      _main in panoinfo_unix.o
  "_panoProjectionFeaturesQuery", referenced from:
      _main in panoinfo_unix.o
  "_queryFeatureCount", referenced from:
      _main in panoinfo_unix.o
  "_queryFeatureDouble", referenced from:
      _main in panoinfo_unix.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//cc4uTA62.out (No such file or directory)
make[2]: *** [panoinfo] Error 1
make[2]: *** Waiting for unfinished jobs....
/usr/bin/gcc-4.2 -O2 -arch x86_64 -arch i386 -arch x86_64 -arch i386 -o .libs/PTAInterpolate PTAInterpolate.o  -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpano13/work/libpano13-2.9.14 -L/opt/local/lib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpano13/work/libpano13-2.9.14/.libs/libpano13.dylib /opt/local/lib/libpng12.dylib /opt/local/lib/libtiff.dylib /opt/local/lib/libjpeg.dylib -lz -lc
ld: warning: in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpano13/work/libpano13-2.9.14/.libs/libpano13.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols for architecture i386:
  "_fcnPano", referenced from:
      _fcnPano$non_lazy_ptr in PTAInterpolate.o
     (maybe you meant: _fcnPano$non_lazy_ptr)
  "_distSquared", referenced from:
      _distSquared$non_lazy_ptr in PTAInterpolate.o
     (maybe you meant: _distSquared$non_lazy_ptr)
  "_LoadScript", referenced from:
      _main in PTAInterpolate.o
  "_WriteResults", referenced from:
      _main in PTAInterpolate.o
  "_writeProject", referenced from:
      _main in PTAInterpolate.o
  "_TriangulatePoints", referenced from:
      _main in PTAInterpolate.o
  "_CheckParams", referenced from:
      _main in PTAInterpolate.o
  "_ParseScript", referenced from:
      _main in PTAInterpolate.o
  "_InterpolateImageFile", referenced from:
      _main in PTAInterpolate.o
      _main in PTAInterpolate.o
  "_blendImages", referenced from:
      _main in PTAInterpolate.o
  "_panoFileMakeTemp", referenced from:
      _main in PTAInterpolate.o
      _main in PTAInterpolate.o
  "_PrintError", referenced from:
      _main in PTAInterpolate.o
  "_SetAlignParams", referenced from:
      _SetAlignParams$non_lazy_ptr in PTAInterpolate.o
     (maybe you meant: _SetAlignParams$non_lazy_ptr)
  "_SetAdjustDefaults", referenced from:
      _main in PTAInterpolate.o
  "_SetGlobalPtr", referenced from:
      _main in PTAInterpolate.o
  "_SetLMParams", referenced from:
      _SetLMParams$non_lazy_ptr in PTAInterpolate.o
     (maybe you meant: _SetLMParams$non_lazy_ptr)
  "_StringtoFullPath", referenced from:
      _main in PTAInterpolate.o
      _main in PTAInterpolate.o
  "_RunLMOptimizer", referenced from:
      _main in PTAInterpolate.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccFPIw4W.out (No such file or directory)
make[2]: *** [PTAInterpolate] 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_graphics_libpano13/work/libpano13-2.9.14" && /usr/bin/make -j2 all " returned error 2
DEBUG: Backtrace: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_libpano13/work/libpano13-2.9.14" && /usr/bin/make -j2 all " returned error 2
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 9)
    invoked from within
"$procedure $targetname"
Warning: the following items did not execute (for libpano13): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Attachments (3)

HUGIN.out (64.0 KB) - added by turkowski 11 years ago.
port install -d output
libtool-arch.diff (447 bytes) - added by jvansanten@… 10 years ago.
Patch to pass -arch flags through libtool
Portfile.diff (447 bytes) - added by jvansanten@… 10 years ago.
Patch to Portfile to patch config/ltmain.sh

Download all attachments as: .zip

Change History (8)

Changed 11 years ago by turkowski

Attachment: HUGIN.out added

port install -d output

comment:1 Changed 11 years ago by jmroot (Joshua Root)

Description: modified (diff)
Owner: changed from macports-tickets@… to freespace+macforge@…
Port: libpano13 added

Please remember to preview and use WikiFormatting, fill in the Port field, and cc the maintainer.

Changed 10 years ago by jvansanten@…

Attachment: libtool-arch.diff added

Patch to pass -arch flags through libtool

Changed 10 years ago by jvansanten@…

Attachment: Portfile.diff added

Patch to Portfile to patch config/ltmain.sh

comment:2 Changed 10 years ago by jvansanten@…

This version of libpano uses an ancient version of libtool that doesn't pass through -arch flags when making shared libraries (see this discussion). I've added a monkey-patch for config/ltmain.sh that makes it work properly. Someone with commit access should modify the Portfile, I suppose.

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

An alternate solution is proposed in #25828. The maintainer should pick one.

comment:4 Changed 10 years ago by hvdwolf@…

Both this patch and the patch mentioned in #25828 are now outdated. This patch as such works OK. The patch in #26447 works with the new 2.9.17 library (which is a big enhancement over the old 2.9.14 and is necessary for newer versions of hugin). I adapted this patch to work with 2.9.17 and uploaded that as an alternative patch to that same #26447 ticket. Please use one of both patches attached now to #26447 instead of this patch for 2.9.14

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

Cc: ryandesign@… added
Resolution: fixed
Status: newclosed

Addressed by #26447.

Note: See TracTickets for help on using tickets.