Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#41285 closed defect (invalid)

Madplay Doesn't Compile on Mavericks

Reported by: broberts@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: madplay

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Seems like the architecture x86_64 isn't finding the love once again. Here's my "port -d install mad play" (after a bunch of :

DEBUG: Executing org.macports.build (madplay)
DEBUG: Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.9'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b" && /usr/bin/make -j8 -w all'
DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b" && /usr/bin/make -j8 -w all 
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b'
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b'
Making all in intl
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b/intl'
Making all in po
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b/po'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b'
/bin/sh ./libtool --mode=link /usr/bin/clang  -Wall -pipe -I/opt/local/include -arch x86_64  -msse -Os  -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -o madplay  madplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o rgain.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_esd.o  -lesd   -L/opt/local/lib -lintl -R/opt/local/lib  -lmad        -lid3tag 
/usr/bin/clang -Wall -pipe -I/opt/local/include -arch x86_64 -msse -Os -Wl,-headerpad_max_install_names -arch x86_64 -o madplay madplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o rgain.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_esd.o  -L/opt/local/lib -lesd -lintl /usr/local/lib/libmad.dylib /usr/local/lib/libid3tag.dylib
ld: warning: ld: warning: ignoring file /usr/local/lib/libid3tag.dylib, file was built for i386 which is not the architecture being linked (x86_64): /usr/local/lib/libid3tag.dylibignoring file /usr/local/lib/libmad.dylib, file was built for i386 which is not the architecture being linked (x86_64): /usr/local/lib/libmad.dylib

Undefined symbols for architecture x86_64:
  "_id3_build", referenced from:
      _ver_version in version.o
  "_id3_copyright", referenced from:
      _ver_version in version.o
  "_id3_field_getbinarydata", referenced from:
      _process_id3 in player.o
  "_id3_field_getfullstring", referenced from:
      _process_id3 in player.o
  "_id3_field_getlatin1", referenced from:
      _process_id3 in player.o
  "_id3_field_getnstrings", referenced from:
      _process_id3 in player.o
  "_id3_field_getstring", referenced from:
      _process_id3 in player.o
  "_id3_field_getstrings", referenced from:
      _process_id3 in player.o
  "_id3_file_close", referenced from:
      _player_run in player.o
  "_id3_file_fdopen", referenced from:
      _player_run in player.o
  "_id3_file_tag", referenced from:
      _player_run in player.o
  "_id3_frame_field", referenced from:
      _process_id3 in player.o
  "_id3_genre_name", referenced from:
      _process_id3 in player.o
  "_id3_tag_delete", referenced from:
      _decode_error in player.o
  "_id3_tag_findframe", referenced from:
      _process_id3 in player.o
  "_id3_tag_parse", referenced from:
      _decode_error in player.o
  "_id3_tag_query", referenced from:
      _decode_error in player.o
  "_id3_ucs4_latin1duplicate", referenced from:
      _process_id3 in player.o
  "_id3_version", referenced from:
      _ver_version in version.o
  "_mad_bit_init", referenced from:
      _process_id3 in player.o
  "_mad_bit_nextbyte", referenced from:
      _tag_parse in tag.o
  "_mad_bit_read", referenced from:
      _tag_parse in tag.o
      _rgain_parse in rgain.o
      _process_id3 in player.o
      _decode_filter in player.o
  "_mad_bit_skip", referenced from:
      _tag_parse in tag.o
  "_mad_build", referenced from:
      _ver_version in version.o
  "_mad_copyright", referenced from:
      _ver_version in version.o
  "_mad_decoder_finish", referenced from:
      _player_run in player.o
  "_mad_decoder_init", referenced from:
      _player_run in player.o
  "_mad_decoder_run", referenced from:
      _player_run in player.o
  "_mad_f_div", referenced from:
      _resample_init in resample.o
  "_mad_frame_mute", referenced from:
      _decode_error in player.o
  "_mad_stream_buffer", referenced from:
      _decode_input_mmap in player.o
      _decode_input_read in player.o
  "_mad_stream_errorstr", referenced from:
      _decode_error in player.o
  "_mad_stream_skip", referenced from:
      _decode_error in player.o
  "_mad_timer_abs", referenced from:
      _player_run in player.o
  "_mad_timer_add", referenced from:
      _main in madplay.o
      _get_time in madplay.o
      _fadein_filter in filter.o
      _player_run in player.o
      _decode_header in player.o
      _decode_filter in player.o
      _decode_output in player.o
      ...
  "_mad_timer_compare", referenced from:
      _main in madplay.o
      _get_time in madplay.o
      _fadein_filter in filter.o
      _player_run in player.o
      _decode_header in player.o
      _decode_filter in player.o
      _show_status in player.o
      ...
  "_mad_timer_count", referenced from:
      _fadein_filter in filter.o
      _show_status in player.o
  "_mad_timer_fraction", referenced from:
      _fadein_filter in filter.o
      _player_run in player.o
  "_mad_timer_multiply", referenced from:
      _decode_filter in player.o
  "_mad_timer_negate", referenced from:
      _get_time in madplay.o
      _fadein_filter in filter.o
      _player_run in player.o
      _show_status in player.o
  "_mad_timer_set", referenced from:
      _get_time in madplay.o
      _fadein_filter in filter.o
      _player_run in player.o
      _process_id3 in player.o
      _show_status in player.o
      _tty_filter in player.o
  "_mad_timer_string", referenced from:
      _player_run in player.o
      _show_status in player.o
  "_mad_timer_zero", referenced from:
      _main in madplay.o
      _get_time in madplay.o
      _player_init in player.o
      _player_run in player.o
      _show_status in player.o
  "_mad_version", referenced from:
      _ver_version in version.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[2]: *** [madplay] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/work/madplay-0.15.2b" && /usr/bin/make -j8 -w all 
Exit code: 2
Error: org.macports.build for port madplay returned: command execution failed
DEBUG: Error code: CHILDSTATUS 16902 2
DEBUG: Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
Warning: targets not executed for madplay: org.macports.activate org.macports.build org.macports.destroot org.macports.install
Please see the log file for port madplay for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_madplay/madplay/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port madplay failed

Change History (4)

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

Description: modified (diff)
Keywords: madplay removed

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

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

As your log says:

ld: warning: ld: warning: ignoring file /usr/local/lib/libid3tag.dylib, file was built for i386 which is not the architecture being linked (x86_64): /usr/local/lib/libid3tag.dylibignoring file /usr/local/lib/libmad.dylib, file was built for i386 which is not the architecture being linked (x86_64): /usr/local/lib/libmad.dylib

You have a copy of libid3tag installed in /usr/local, and it was built for i386, not x86_64. In general, installing software in /usr/local will cause these kinds of problems, which is why we don't support that. Please delete what you have in /usr/local, clean madplay, and try again.

comment:3 Changed 10 years ago by broberts@…

Thanks!! I had no idea it would find the libs from older non-ports install in /usr/local/bin.

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

Yes unfortunately /usr/local/lib is a special location to compilers; they look for libraries there without being told to do so. This is considered a feature of the compiler but it poses this problem for MacPorts. Since we cannot turn off this compiler feature, we can only recommend people not install software in /usr/local.

Note: See TracTickets for help on using tickets.