#29358 closed defect (invalid)
gettext: Undefined symbols _bswap_32 when /usr/include/byteswap.h is present
Reported by: | ldduffy@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.2 |
Keywords: | Cc: | armand.tanzarian@… | |
Port: | gettext |
Description
I am new to this, so sorry if this is trivial. I am trying to install gsl @1.14 on Mac OS X 10.5.8 (XCode 3.1) and it breaks on the gettext installation.
Here is the terminal output:
---> Computing dependencies for gettext ---> Fetching gettext ---> Verifying checksum(s) for gettext ---> Extracting gettext ---> Applying patches to gettext ---> Configuring gettext ---> Building gettext Error: Target org.macports.build returned: shell command failed (see log for details) Log for gettext is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gettext/main.log Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>
Here is the log output:
:info:build libtool: link: /usr/bin/gcc-4.0 -std=gnu99 -O2 -arch i386 -arch i386 -o .libs/msgcmp msgcmp-msgcmp.o msg cmp-msgl-fsearch.o -Wl,-framework -Wl,CoreFoundation -L/opt/local/lib ./.libs/libgettextsrc.dylib /opt/local/var/ma cports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gettext/work/gettext-0.18.1.1/ge ttext-tools/gnulib-lib/.libs/libgettextlib.dylib -lncurses /opt/local/var/macports/build/_opt_local_var_macports_sou rces_rsync.macports.org_release_ports_devel_gettext/work/gettext-0.18.1.1/gettext-tools/intl/.libs/libintl.dylib /op t/local/lib/libiconv.dylib -lc :info:build /bin/sh ../libtool --tag=CC --mode=link /usr/bin/gcc-4.0 -std=gnu99 -O2 -arch i386 -L/opt/local/li b -arch i386 -o msgmerge msgmerge-msgmerge.o msgmerge-msgl-fsearch.o msgmerge-lang-table.o msgmerge-plural-count.o l ibgettextsrc.la -Wl,-framework -Wl,CoreFoundation :info:build libtool: link: /usr/bin/gcc-4.0 -std=gnu99 -O2 -arch i386 -arch i386 -o .libs/msgfmt msgfmt-msgfmt.o msg fmt-write-mo.o msgfmt-write-java.o msgfmt-write-csharp.o msgfmt-write-resources.o msgfmt-write-tcl.o msgfmt-write-qt .o msgfmt-hash-string.o -Wl,-framework -Wl,CoreFoundation -L/opt/local/lib ./.libs/libgettextsrc.dylib /opt/local/v ar/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gettext/work/gettext-0.18.1 .1/gettext-tools/gnulib-lib/.libs/libgettextlib.dylib -lncurses /opt/local/var/macports/build/_opt_local_var_macport s_sources_rsync.macports.org_release_ports_devel_gettext/work/gettext-0.18.1.1/gettext-tools/intl/.libs/libintl.dyli b /opt/local/lib/libiconv.dylib -lc :info:build Undefined symbols: :info:build "_bswap_32", referenced from: :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build _write_table in msgfmt-write-mo.o :info:build ld: symbol(s) not found :info:build collect2: ld returned 1 exit status :info:build make[4]: *** [msgfmt] Error 1 :info:build make[4]: *** Waiting for unfinished jobs.... :info:build libtool: link: /usr/bin/gcc-4.0 -std=gnu99 -O2 -arch i386 -arch i386 -o .libs/msgmerge msgmerge-msgmerge .o msgmerge-msgl-fsearch.o msgmerge-lang-table.o msgmerge-plural-count.o -Wl,-framework -Wl,CoreFoundation -L/opt/l ocal/lib ./.libs/libgettextsrc.dylib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.or g_release_ports_devel_gettext/work/gettext-0.18.1.1/gettext-tools/gnulib-lib/.libs/libgettextlib.dylib -lncurses /op t/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gettext/work/gette xt-0.18.1.1/gettext-tools/intl/.libs/libintl.dylib /opt/local/lib/libiconv.dylib -lc :info:build make[3]: *** [all] Error 2 :info:build make[2]: *** [all-recursive] Error 1 :info:build make[1]: *** [all] Error 2 :info:build make: *** [all-recursive] Error 1 :info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_rel ease_ports_devel_gettext/work/gettext-0.18.1.1" && /usr/bin/make -j2 all " returned error 2 :error:build Target org.macports.build returned: shell command failed (see log for details) :debug:build Backtrace: shell command failed (see log for details) 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 gettext): org.macports.activate org.macports.build org .macports.destroot org.macports.install :notice:build Log for gettext is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org _release_ports_devel_gettext/main.log
Thanks!
Attachments (3)
Change History (16)
comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to ryandesign@… |
---|---|
Summary: | gettext @0.18.1.1 Error: Target org.macports.build returned: shell command failed → gettext: Undefined symbols _bswap_32 |
comment:2 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
comment:3 Changed 14 years ago by ldduffy@…
It was actually Xcode 3.1.3. I upgraded it to Xcode 3.1.4, used sudo port clean gettext and tried again, but am still having the same problem.
comment:4 Changed 13 years ago by armand.tanzarian@…
similar issue here.
versions:
ProductName: Mac OS X ProductVersion: 10.7.1 BuildVersion: 11B26
portVersion: 2.0.3
xcode 4.1 xcode-select version 2003.
see attached log from # port install gettext
fink install coreutils has identical failure:
fink install coreutils ... gcc -g -O2 -o .libs/msgfmt msgfmt-msgfmt.o msgfmt-write-mo.o msgfmt-write-java.o msgfmt-write-csharp.o msgfmt-write-resources.o msgfmt-write-tcl.o msgfmt-write-qt.o msgfmt-hash-string.o -Wl,-framework -Wl,CoreFoundation -L/sw/lib ./.libs/libgettextsrc.dylib /sw/src/fink.build/gettext-tools-0.17-18/gettext-0.17/gettext-tools/gnulib-lib/.libs/libgettextlib.dylib -lncurses /sw/src/fink.build/gettext-tools-0.17-18/gettext-0.17/gettext-tools/intl/.libs/libintl.dylib /sw/lib/libiconv.dylib -lc Undefined symbols for architecture x86_64: "_bswap_32", referenced from: _write_table in msgfmt-write-mo.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [msgfmt] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 ### execution of cd failed, exit code 2 Removing runtime build-lock... Removing build-lock package... /sw/bin/dpkg-lockwait -r fink-buildlock-gettext-tools-0.17-18 (Reading database ... 5066 files and directories currently installed.) Removing fink-buildlock-gettext-tools-0.17-18 ... Failed: phase compiling: gettext-tools-0.17-18 failed
comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | armand.tanzarian@… added |
---|
Armand, could you "sudo port clean gettext
" and try again, and attach the complete main.log? The one you attached isn't the whole story (doesn't show what happened during the configure phase).
comment:6 Changed 13 years ago by armand.tanzarian@…
hi ryan,
thanks, same results:
$ sudo port clean gettext Password: ---> Cleaning gettext $ sudo port install gettext ---> Computing dependencies for gettext ---> Fetching archive for gettext ---> Attempting to fetch gettext-0.18.1.1_2.darwin_11.x86_64.tbz2 from http://packages.macports.org/gettext ---> Fetching gettext ---> Verifying checksum(s) for gettext ---> Extracting gettext ---> Applying patches to gettext ---> Configuring gettext ---> Building gettext Error: Target org.macports.build returned: shell command failed (see log for details) Log for gettext is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gettext/gettext/main.log Error: Status 1 encountered during processing.
log attached.
regards,
-a
Changed 13 years ago by armand.tanzarian@…
Attachment: | main.3.log added |
---|
comment:7 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Ok, both of you have attached logs that show this:
:info:configure checking byteswap.h usability... yes :info:configure checking byteswap.h presence... yes :info:configure checking for byteswap.h... yes
As far as I know this is not normal; on my system I get:
:info:configure checking byteswap.h usability... no :info:configure checking byteswap.h presence... no :info:configure checking for byteswap.h... no
So, the question to both of you is: where is byteswap.h on your system? Try running this and see what it finds:
find /usr /opt/local/include -name byteswap.h
comment:8 Changed 13 years ago by armand.tanzarian@…
huzzah!
root@caramba:rootjail (2)# find /usr /opt/local/include -name byteswap.h /usr/include/byteswap.h root@caramba:rootjail (2)# locate byteswap.h /sw/src/fink.build/dbus-1.2.16-4/dbus-1.2.16/dbus/dbus-marshal-byteswap.h /sw/src/fink.build/dbus-1.2.16-4/dbus-1.2.16/dbus-0.62/dbus/dbus-marshal-byteswap.h /usr/include/byteswap.h root@caramba:rootjail (2)# ls -l /usr/include/byteswap.h -rw-r--r-- 1 root wheel 0 Jan 27 2011 /usr/include/byteswap.h
/usr/include/byteswap.h is empty?
comment:9 Changed 13 years ago by armand.tanzarian@…
hi ryan,
moving /usr/include/byteswap.h out of scope resolved this issue.
now, where did that turd come from? i am very careful not to pollute production spaces.
regards,
-a
comment:10 follow-up: 11 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
That's curious. Not sure where it came from but based on what I can see, /usr/include/byteswap.h should not be there on Mac OS X, so just remove it, especially if it's empty. You could try searching your drive for other files created Jan 27 2011 around the same time as /usr/include/byteswap.h; maybe that will help you uncover what software package installed it.
Also, since you showed that you have Fink in /sw, I should point out that having MacPorts and Fink installed can lead to conflicts and unexpected behavior in software installed from either package manager. I recommend you uninstall all but one package manager.
comment:11 follow-up: 12 Changed 13 years ago by armand.tanzarian@…
hi ryan,
thanks for your time. I really appreciate it.
no culprits leap out that would have stamped down an empty /usr/include/byteswap.h
hmm, curious that an empty file could be so problematic?
# define empty meaningless_and_transparent # define empty curious_opaqueness_and_weird_things_can_happen # define like transparent # define dislike opaque
regards,
-a
comment:12 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → invalid |
---|---|
Status: | new → closed |
Summary: | gettext: Undefined symbols _bswap_32 → gettext: Undefined symbols _bswap_32 when /usr/include/byteswap.h is present |
Replying to armand.tanzarian@…:
hmm, curious that an empty file could be so problematic?
Not curious at all. gettext tests to see if you have the file byteswap.h, and if so, assumes it defines the things that byteswap.h typically defines on other operating systems (i.e. functions or macros that help you swap bytes). If byteswap.h is not present, gettext uses its own internal functions to do that. You had the file, but it did not define the expected functions, therefore problem.
Well this is a strange problem, and all I can think is that if you are really using Xcode 3.1 (as in 3.1.0) then perhaps this is one of the bugs in Xcode that was fixed since then, and I'd recommend you upgrade to Xcode 3.1.4, then clean gettext ("sudo port clean gettext") and try again. If it fails again, please attach the main.log.