Opened 11 years ago

Closed 10 years ago

#25753 closed defect (worksforme)

pcre: upgrade fails when architectures differ

Reported by: liam.romanis@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc: ryandesign (Ryan Schmidt)
Port: pcre

Description (last modified by mf2k (Frank Schima))

pcre fails to update.

Output from: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_pcre/main.log

version:1
:msg:main --->  Computing dependencies for pcre:info:main .:debug:main Searching for dependency: readline
:debug:main Found Dependency: receipt exists for readline
:debug:main Searching for dependency: zlib
:debug:main Found Dependency: receipt exists for zlib
:debug:main Searching for dependency: bzip2
:debug:main Found Dependency: receipt exists for bzip2
:msg:main
:debug:main Executing org.macports.main (pcre)
:debug:main Skipping completed org.macports.fetch (pcre)
:debug:main Skipping completed org.macports.checksum (pcre)
:debug:main setting option extract.cmd to /usr/bin/bzip2
:debug:main Skipping completed org.macports.extract (pcre)
:debug:main Skipping completed org.macports.patch (pcre)
:debug:main Skipping completed org.macports.configure (pcre)
:msg:main --->  Building pcre
:debug:build build phase started at Tue Jul 20 14:42:06 BST 2010
:debug:build Executing org.macports.build (pcre)
:debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_pcre/work/.CC_PRINT_OPTI$
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_pcre/work/pcre-8.10" && /usr/bin/make -j4 all'
:info:build /usr/bin/make  all-am
:info:build /bin/sh ./libtool --tag=CC   --mode=link /usr/bin/gcc-4.2  -pipe -O2 -arch i386  -L/opt/local/lib -arch i386 -o pcretest pcretest.o libpcreposix.la -lreadline
:info:build libtool: link: /usr/bin/gcc-4.2 -pipe -O2 -arch i386 -arch i386 -o .libs/pcretest pcretest.o  -L/opt/local/lib ./.libs/libpcreposix.dylib /opt/local/var/macports/build/_opt_local_var_macpor$
:info:build ld: warning: in /opt/local/lib/libreadline.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
:info:build Undefined symbols:
:info:build   "_readline", referenced from:
:info:build       _extend_inputline in pcretest.o
:info:build   "_add_history", referenced from:
:info:build       _extend_inputline in pcretest.o
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build make[1]: *** [pcretest] Error 1
:info:build make: *** [all] Error 2
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_pcre/work/pcre-8.10" && /usr/bin/make -j4 all " returned error 2
:error:build Target org.macports.build returned: shell command failed
:debug:build Backtrace: shell command failed
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for pcre): org.macports.destroot org.macports.build
:notice:build Log for pcre is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_pcre/main.log

Change History (7)

comment:1 Changed 11 years ago by mf2k (Frank Schima)

Description: modified (diff)
Keywords: pcre removed
Owner: changed from macports-tickets@… to nox@…
Port: pcre added

In the future, please remember to fill in the Port field, Cc the maintainer, use WikiFormatting and use the Preview button.

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

Please show output of:

port -v installed readline
lipo -info /opt/local/lib/libreadline.dylib

comment:3 Changed 11 years ago by liam.romanis@…

Liams-MacBook-Pro:~ liam$ port -v installed readline
The following ports are currently installed:
  readline @6.1.000_1 (active) platform='darwin 10' archs='x86_64'
Liams-MacBook-Pro:~ liam$ lipo -info /opt/local/lib/libreadline.dylib
Non-fat file: /opt/local/lib/libreadline.dylib is architecture: x86_64

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

Cc: ryandesign@… added
Summary: upgrade outdated pcre errorpcre: upgrade fails when architectures differ

You have readline installed for x86_64, and are now trying to build it for i386, and the readline build is finding the old already-installed library of the wrong architecture instead of the new one it just built. To overcome this, you would deactivate the currently-installed readline (sudo port deactivate readline) before trying to build a new one.

However, why are you now trying to build for i386? Have you deliberately set build_arch to i386 in macports.conf? If so, then that's fine; if not, reconsider, because x86_64 is the usual architecture to use on Snow Leopard. If you are deliberately trying to build for i386 now, you'll have an easier time if you first uninstall all existing ports since they were built for x86_64.

comment:5 in reply to:  4 Changed 10 years ago by ryandesign (Ryan Schmidt)

Replying to ryandesign@…:

You have readline installed for x86_64, and are now trying to build it for i386, and the readline build is finding the old already-installed library of the wrong architecture instead of the new one it just built. To overcome this, you would deactivate the currently-installed readline (sudo port deactivate readline) before trying to build a new one.

Sorry, I misread... you have readline installed for x86_64, and are now trying to build pcre for i386. It is peculiar that MacPorts did not attempt to rebuild readline for i386 on its own, since, as you showed above, it knows it's built for x86_64, and should know that it needs to rebuild it for i386. Still, my advice above holds: if you are deliberately switching build_arch, uninstall existing ports first.

comment:6 Changed 10 years ago by jmroot (Joshua Root)

Owner: changed from nox@… to macports-tickets@…

comment:7 Changed 10 years ago by jmroot (Joshua Root)

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.