Trouble of compilation on xcode4.2 for pjsip
Asked Answered
O

1

9

While I run my project on xcode 4.2 I got this kind of response with 31 errors of .o file missing

and that 31 error looks like this

ld: warning: ignoring file ../pjproject-svn/pjlib/lib/libpj-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjlib-util/lib/libpjlib-util-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjnath/lib/libpjnath-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjmedia/lib/libpjmedia-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsip-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsip-simple-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsip-ua-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsua-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjmedia/lib/libpjmedia-codec-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/third_party/lib/libgsmcodec-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/pjmedia/lib/libpjmedia-audiodev-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/third_party/lib/libresample-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../pjproject-svn/third_party/lib/libg7221codec-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7:
  "_pjsua_call_get_count", referenced from:
      -[SiphonApplication processCallState:] in SiphonApplication.o
      -[SiphonApplication callDisconnecting] in SiphonApplication.o
      -[CallViewController processCall:] in CallViewController.o
  "_pjmedia_tonegen_play_digits", referenced from:
      _sip_call_play_digits in dtmf.o
  "_pjsua_acc_get_info", referenced from:
      _on_reg_state in call.o
  "_pjsua_perror", referenced from:
      _sip_connect in call.o
      _sip_dial_with_uri in call.o
      _call_init_tonegen in dtmf.o
  "_pjsua_conf_disconnect", referenced from:
      _sip_ring_stop in ring.o
  "_pjsua_call_is_active", referenced from:
      -[CallViewController findNextCall] in CallViewController.o
  "_pj_pool_calloc", referenced from:
      _sip_call_play_digits in dtmf.o
      _pj_pool_zalloc in dtmf.o
  "_pjsua_acc_is_valid", referenced from:
      _sip_disconnect in call.o
  "_pjsua_call_reinvite", referenced from:
      -[CallViewController setHoldEnabled:] in CallViewController.o
  "_pjsua_media_config_default", referenced from:
      _sip_startup in call.o
  "_pjsua_create", referenced from:
      _sip_startup in call.o
  "_pjsua_acc_add", referenced from:
      _sip_connect in call.o
  "_pjsua_acc_config_default", referenced from:
      _sip_connect in call.o
  "_pj_log_get_level", referenced from:
      _sip_startup in call.o
      _on_call_state in call.o
      _on_incoming_call in call.o
      _on_mwi_info in call.o
      _sip_connect in call.o
      _sip_dial_with_uri in call.o
      _sip_manage_codec in call.o
      ...
  "_pjsua_call_set_user_data", referenced from:
      _call_init_tonegen in dtmf.o
      _sip_call_deinit_tonegen in dtmf.o
  "_pjsua_conf_connect", referenced from:
      _on_call_media_state in call.o
      _sip_ringback_start in ring.o
      _call_init_tonegen in dtmf.o
  "_pjsua_call_get_user_data", referenced from:
      _sip_call_play_digits in dtmf.o
      _sip_call_deinit_tonegen in dtmf.o
  "_pjsua_call_dial_dtmf", referenced from:
      _sip_call_play_digits in dtmf.o
  "_pjsua_pool_create", referenced from:
      _sip_startup in call.o
      -[CallViewController createCall:] in CallViewController.o
      _call_init_tonegen in dtmf.o
  "_pjmedia_tonegen_play", referenced from:
      _sip_ring_init in ring.o
  "_pj_pool_release", referenced from:
      _sip_cleanup in call.o
      -[CallViewController createCall:] in CallViewController.o
      _call_init_tonegen in dtmf.o
      _sip_call_deinit_tonegen in dtmf.o
  "_pj_get_version", referenced from:
      _sip_startup in call.o
  "_pjsua_call_hangup", referenced from:
      _sip_hangup in call.o
  "_pjsua_msg_data_init", referenced from:
      _sip_call_play_info_digits in dtmf.o
  "_pj_strdup_with_null", referenced from:
      -[CallViewController createCall:] in CallViewController.o
  "_pj_rand", referenced from:
      _sip_startup in call.o
  "_pjsua_media_transports_create", referenced from:
      _sip_startup in call.o
  "_pjsua_destroy", referenced from:
      _sip_cleanup in call.o
  "_pj_strerror", referenced from:
      -[SiphonApplication displayStatus:withTitle:] in SiphonApplication.o
  "_pjsua_verify_sip_url", referenced from:
      -[SiphonApplication application:handleOpenURL:] in SiphonApplication.o
      _sip_connect in call.o
      _sip_dial_with_uri in call.o
  "_pjsua_call_send_request", referenced from:
      _sip_call_play_info_digits in dtmf.o
  "_pjsua_call_get_max_count", referenced from:
      -[CallViewController findNextCall] in CallViewController.o
  "_pj_strdup2_with_null", referenced from:
      _sip_startup in call.o
      -[CallViewController createCall:] in CallViewController.o
  "_pjmedia_tonegen_stop", referenced from:
      _sip_call_play_digits in dtmf.o
  "_pjsua_acc_del", referenced from:
      _sip_disconnect in call.o
  "_pjmedia_port_destroy", referenced from:
      _sip_ring_deinit in ring.o
      _sip_call_deinit_tonegen in dtmf.o
  "_pjsua_transport_config_default", referenced from:
      _sip_startup in call.o
  "_pjsua_conf_adjust_rx_level", referenced from:
      -[CallViewController setMute:] in CallViewController.o
  "_pjsua_codec_set_priority", referenced from:
      _sip_manage_codec in call.o
  "_pjmedia_tonegen_create2", referenced from:
      _sip_ring_init in ring.o
  "_pjsua_logging_config_default", referenced from:
      _sip_startup in call.o
  "_pjmedia_tonegen_create", referenced from:
      _call_init_tonegen in dtmf.o
  "_pjsua_call_make_call", referenced from:
      _sip_dial_with_uri in call.o
  "_pjsua_transport_create", referenced from:
      _sip_startup in call.o
  "_pj_strdup3", referenced from:
      _sip_startup in call.o
  "_pj_pool_alloc", referenced from:
      _sip_connect in call.o
  "_pjsip_parse_uri", referenced from:
      -[CallViewController createCall:] in CallViewController.o
  "_pj_str", referenced from:
      _sip_connect in call.o
      _sip_dial_with_uri in call.o
      _sip_ring_init in ring.o
      -[CallViewController composeDTMF] in CallViewController.o
      _sip_call_play_digit in dtmf.o
      _sip_call_play_info_digit in dtmf.o
      _sip_call_play_info_digits in dtmf.o
      ...
  "_pjsua_init", referenced from:
      _sip_startup in call.o
  "_pj_log_1", referenced from:
      _sip_startup in call.o
      _on_call_state in call.o
      _on_incoming_call in call.o
      _sip_connect in call.o
      _sip_dial_with_uri in call.o
      _sip_manage_codec in call.o
  "_pjsua_call_get_info", referenced from:
      _on_call_state in call.o
      _on_call_media_state in call.o
      _on_incoming_call in call.o
      -[CallViewController timeout:] in CallViewController.o
      _call_init_tonegen in dtmf.o
  "_pj_log_3", referenced from:
      _on_mwi_info in call.o
  "_pjsua_conf_remove_port", referenced from:
      _sip_ring_deinit in ring.o
      _sip_call_deinit_tonegen in dtmf.o
  "_pjsua_config_default", referenced from:
      _sip_startup in call.o
  "_pj_log_5", referenced from:
      _sip_dial_with_uri in call.o
  "_pjsua_conf_add_port", referenced from:
      _sip_ring_init in ring.o
      _call_init_tonegen in dtmf.o
  "_pjsip_get_status_text", referenced from:
      -[SiphonApplication application:handleOpenURL:] in SiphonApplication.o
      -[SiphonApplication dialup:number:] in SiphonApplication.o
  "_pjsua_call_set_hold", referenced from:
      -[CallViewController setHoldEnabled:] in CallViewController.o
      -[CallViewController buttonClicked:] in CallViewController.o
  "_pjsua_start", referenced from:
      _sip_startup in call.o
  "_pjsua_call_answer", referenced from:
      _on_incoming_call in call.o
      _sip_answer in call.o
  "_pjmedia_tonegen_rewind", referenced from:
      _sip_ring_stop in ring.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld Build/Siphon/Build/Products/Debug-iphoneos/Siphon.app/Siphon normal armv7 cd /Users/jaxtrinc/Desktop/Siphone/Siphon2 setenv IPHONEOS_DEPLOYMENT_TARGET 4.0 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -L/Users/jaxtrinc/Desktop/Siphone/Siphon2/Build/Siphon/Build/Products/Debug-iphoneos -L../pjproject-svn/pjlib/lib -L../pjproject-svn/pjsip/lib -L../pjproject-svn/pjmedia/lib -L../pjproject-svn/pjlib-util/lib -L../pjproject-svn/pjnath/lib -L../pjproject-svn/third_party/lib -L../pjproject-svn/pjmedia/lib -L../pjproject-svn/third_party/lib -L/Users/jaxtrinc/Desktop/Siphone/Siphon2/../pjproject-svn/third_party/lib -L/Users/jaxtrinc/Desktop/Siphone/Siphon2/../pjproject-svn/pjmedia/lib -F/Users/jaxtrinc/Desktop/Siphone/Siphon2/Build/Siphon/Build/Products/Debug-iphoneos -filelist /Users/jaxtrinc/Desktop/Siphone/Siphon2/Build/Siphon/Build/Intermediates/Siphon.build/Debug-iphoneos/Siphon.build/Objects-normal/armv7/Siphon.LinkFileList -dead_strip -framework Foundation -framework UIKit -miphoneos-version-min=4.0 -framework SystemConfiguration -framework UIKit -framework AddressBookUI -framework AddressBook -framework Foundation -framework AudioToolbox -lpj-arm-apple-darwin9 -lpjlib-util-arm-apple-darwin9 -lpjnath-arm-apple-darwin9 -lpjmedia-arm-apple-darwin9 -lpjsip-arm-apple-darwin9 -lpjsip-simple-arm-apple-darwin9 -lpjsip-ua-arm-apple-darwin9 -lpjsua-arm-apple-darwin9 -framework CoreGraphics -lsqlite3.0 -lpjmedia-codec-arm-apple-darwin9 -lgsmcodec-arm-apple-darwin9 -framework CFNetwork -lpjmedia-audiodev-arm-apple-darwin9 -lresample-arm-apple-darwin9 -lg7221codec-arm-apple-darwin9 -framework IOKit -o /Users/jaxtrinc/Desktop/Siphone/Siphon2/Build/Siphon/Build/Products/Debug-iphoneos/Siphon.app/Siphon

Also I got linker error like

ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Can anyone help me to solve this ?

Osier answered 23/1, 2012 at 8:17 Comment(14)
looks like one of the libs you're linking with doesn't have the armv7 exe built. the setting you want to check (in the lib projects) is "Build Active Architecture Only". you want this to be set to NO in this case.Corettacorette
i have set NO to "Build Active Architecture Only" still it shows error ..Osier
have you set that in all these projects? pj-arm-apple-darwin9, pjlib-util-arm-apple-darwin9, pjnath-arm-apple-darwin9, pjmedia-arm-apple-darwin9, pjsip-arm-apple-darwin9, pjsip-simple-arm-apple-darwin9, pjsip-ua-arm-apple-darwin9, pjsua-arm-apple-darwin9, pjmedia-codec-arm-apple-darwin9, gsmcodec-arm-apple-darwin9, pjmedia-audiodev-arm-apple-darwin9, resample-arm-apple-darwin9, g7221codec-arm-apple-darwin9? chances are it's a problem with one of thoseCorettacorette
you may not have the proper frameworks added..check them againLocution
@Locution can u plz tell which framwork i have missed .. i have check but i am not getting so .Osier
can you tell..which you have included...this type of problems is also quite frustrating to me..you do not get an idea that you have missed a framework..and you might not even remember which code needs a framework..:(Locution
@MikeK i m not getting all this ? where can i find it in my xcode or project ??Osier
@Locution i have add some private device function and all that common framework like "IOkit , CFNetwork , CoreGraphics , AudioToolbox , Foundation , AddressbookUI , UIKit and SystemConfiguration .. i dont think so in this framwork m getting any prob ..Osier
ok..try changing deployment target to iOS 5 and then try building..if it builds ..then the problem might be to weak links the framework...other than that ..i don't know what can be your problemLocution
@Locution i have also try with IOS5 .. but still not working m also not getting what is the error exactly . really frustrated yar . !!Osier
@Osier you're linking with a bunch of libs that you've either built yourself or have downloaded (in /Users/jaxtrinc/Desktop/Siphone/Siphon2/../pjproject-svn/). you can see what architectures are in a lib*.a file by doing file libFoo.a, or lipo -info libFoo.a. you want each all your lib files to have armv6 and armv7Corettacorette
@Vivek2012: The most important error messages are missing in your post, namely the list of the 31 missing symbols. Please add them to your question. They will be very helpful for diagnosing the cause of the problem.Supposition
@Supposition now is it ok for u ? i have run it from my terminal but still m getting error ..Osier
@Osier Have you got solution for this problem. Please help me out. Thanks in advanceExtrajudicial
S
8

A typical iPhone project compiles for three different architectures: armv6 and armv7 (two different generations of the iPhone processor) and i386 (for the simulator). In the current build run, you are a least building for armv7. It's the most important architecture as Apple only accepts builds with at least this architecture (if I'm not mistaken).

Unfortunately, the libraries you're linking with do not contain code for this architecture. (That's why you're getting the warnings at the top). The following error messages confirm that it's indeed caused by the pjsip and pjmedia libraries.

I don't know whether you downloaded the libraries somewhere or built them from the source code. But you'll need libraries that are at least built for armv7. Even better would be to have libraries built for all architectures.

You best follow this section of the Getting Started page that shows how to build for multiple architectures.

Supposition answered 23/1, 2012 at 12:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.