Closed Bug 499266 Opened 15 years ago Closed 15 years ago

AIX support for media/libsydneyaudio

Categories

(Core :: Audio/Video, defect)

1.9.1 Branch
PowerPC
AIX
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- .7-fixed
status1.9.1 --- .11-fixed

People

(Reporter: shailen.n.jain, Assigned: ul-mcamafia)

Details

(Keywords: verified1.9.1, verified1.9.2)

Attachments

(3 files, 8 obsolete files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 While compiling content/media/video/src/nsAudioStream.cpp on AIX, getting below compilation error - ../../../../dist/include/sydneyaudio/sydney_audio.h", line 89.6: 1540-0859 (S) #error directive: "Cannot determine byte orde r!". gmake[7]: *** [nsAudioStream.o] Error 1 gmake[7]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt/content/media/video/src' gmake[6]: *** [src_libs] Error 2 gmake[6]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt/content/media/video' gmake[5]: *** [libs] Error 2 gmake[5]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt/content/media' gmake[4]: *** [media_libs] Error 2 gmake[4]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt/content' gmake[3]: *** [libs_tier_gecko] Error 2 gmake[3]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt' gmake[2]: *** [tier_gecko] Error 2 gmake[2]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt' gmake[1]: *** [default] Error 2 gmake[1]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt' gmake: *** [build] Error 2 Reproducible: Always Steps to Reproduce: 1. Build Mozilla Firefox 3.6a1pre build on AIX with Gnome RPMS of 64 bit version. 2. 3. Actual Results: Build fails with the above error. Expected Results: No build failure
OS: Other → AIX
Version: unspecified → Trunk
Attached patch Patch V 1 (obsolete) — Splinter Review
After applying this patch, the compilation goes ahead but fails in mozilla/obj-opt/layout/build with the below linker error. ld: 0711-317 ERROR: Undefined symbol: .sa_stream_destroy ld: 0711-317 ERROR: Undefined symbol: .sa_stream_create_pcm ld: 0711-317 ERROR: Undefined symbol: .sa_stream_open ld: 0711-317 ERROR: Undefined symbol: .sa_stream_write ld: 0711-317 ERROR: Undefined symbol: .sa_stream_get_write_size ld: 0711-317 ERROR: Undefined symbol: .sa_stream_drain ld: 0711-317 ERROR: Undefined symbol: .sa_stream_pause ld: 0711-317 ERROR: Undefined symbol: .sa_stream_resume ld: 0711-317 ERROR: Undefined symbol: .sa_stream_get_position ld: 0711-317 ERROR: Undefined symbol: .alloca ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. gmake[1]: *** [libgklayout.so] Error 8 gmake[1]: Leaving directory `/home/guest/sb/mercurial/mozilla/obj-opt/layout/build' Also when I looked at the directory mozilla/media/libsydneyaudio/src, I do not see any corresponding aix version of audio files.
Attachment #384066 - Flags: review?(roc)
I think you'll need to do more work here to create a libsydneyaudio implementation for AIX.
Attached patch Adds correct endian for AIX (obsolete) — Splinter Review
Added BIG_ENDIAN for AIX
Attachment #407971 - Flags: review?(roc)
(In reply to comment #1) > Created an attachment (id=384066) [details] > Patch V 1 > > After applying this patch, the compilation goes ahead but fails in > mozilla/obj-opt/layout/build with the below linker error. Detailed "ld -bnoquiet" output for tracking down from where the missing symbols come from: ld: 0711-318 ERROR: Undefined symbols were found. The following symbols are in error: Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object} RLD: Address Section Rld-type Referencing Symbol ---------------------------------------------------------------------------------------------- .sa_stream_destroy [128] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 00000174 .text R_RBR [22] .nsAudioStream::Shutdown() 000002f0 .text R_RBR [26] .nsAudioStream::Init(int,int,nsAudioStream::SampleFormat) .sa_stream_create_pcm [134] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 000002bc .text R_RBR [26] .nsAudioStream::Init(int,int,nsAudioStream::SampleFormat) .sa_stream_open [136] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 000002dc .text R_RBR [26] .nsAudioStream::Init(int,int,nsAudioStream::SampleFormat) .sa_stream_write [150] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 00000638 .text R_RBR [28] .nsAudioStream::Write(const void*,unsigned int) 000007b0 .text R_RBR [36] .nsAudioStream::Drain() .sa_stream_get_write_size [156] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 00000718 .text R_RBR [32] .nsAudioStream::Available() .sa_stream_drain [158] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 000007c4 .text R_RBR [36] .nsAudioStream::Drain() .sa_stream_pause [160] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 00000824 .text R_RBR [38] .nsAudioStream::Pause() .sa_stream_resume [162] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 0000086c .text R_RBR [40] .nsAudioStream::Resume() .sa_stream_get_position [164] ER PR /home/ulink/Src/comm-central/mozilla/content/media/video/src/nsAudioStream.cpp(../../content/media/video/src/libgkconvideo_s.a[nsAudioStream.o]) 000008e8 .text R_RBR [42] .nsAudioStream::GetPosition() .debug_printf [82] ER PR /home/ulink/Src/comm-central/mozilla/media/libfishsound/src/libfishsound/fishsound_vorbis.c(../../media/libfishsound/src/libfishsound/libfishsound.a[fishsound_vorbis.o]) 00000260 .text R_RBR [18] <.fs_vorbis_decode> 000006f8 .text R_RBR [26] <.fish_sound_vorbis_identify_10_9> .debug_printf [156] ER PR /home/ulink/Src/comm-central/mozilla/media/libfishsound/src/libfishsound/fishsound_comments.c(../../media/libfishsound/src/libfishsound/libfishsound.a[fishsound_comments.o]) 0000075c .text R_RBR [50] .fish_sound_comments_encode 00000a78 .text R_RBR [52] .fish_sound_comments_decode 00000ad8 .text R_RBR [52] .fish_sound_comments_decode 00000b38 .text R_RBR [52] .fish_sound_comments_decode 00000b80 .text R_RBR [52] .fish_sound_comments_decode 00000c04 .text R_RBR [52] .fish_sound_comments_decode 00000d70 .text R_RBR [58] <.fs_comment_validate_byname_24_12> .alloca [64] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_mapping0.c(../../media/libvorbis/lib/libvorbis.a[vorbis_mapping0.o]) 00000044 .text R_RBR [12] <.mapping0_inverse> 00000058 .text R_RBR [12] <.mapping0_inverse> 0000006c .text R_RBR [12] <.mapping0_inverse> 00000080 .text R_RBR [12] <.mapping0_inverse> 00000508 .text R_RBR [14] <.mapping0_forward> 00000568 .text R_RBR [14] <.mapping0_forward> 00001134 .text R_RBR [14] <.mapping0_forward> 00001148 .text R_RBR [14] <.mapping0_forward> 0000115c .text R_RBR [14] <.mapping0_forward> 00001170 .text R_RBR [14] <.mapping0_forward> 00001254 .text R_RBR [14] <.mapping0_forward> .alloca [176] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_info.c(../../media/libvorbis/lib/libvorbis.a[vorbis_info.o]) 00000dd0 .text R_RBR [46] .vorbis_comment_query_count 00000eb4 .text R_RBR [48] .vorbis_comment_query 00000fc4 .text R_RBR [50] .vorbis_comment_add_tag .alloca [142] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_res0.c(../../media/libvorbis/lib/libvorbis.a[vorbis_res0.o]) 0000096c .text R_RBR [26] <._01inverse> .alloca [116] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_codebook.c(../../media/libvorbis/lib/libvorbis.a[vorbis_codebook.o]) 00001078 .text R_RBR [42] <.vorbis_book_decodevs_add_19_9> 00001088 .text R_RBR [42] <.vorbisld: 0711-317 ERROR: Undefined symbol: .sa_stream_destroy ld: 0711-317 ERROR: Undefined symbol: .sa_stream_create_pcm ld: 0711-317 ERROR: Undefined symbol: .sa_stream_open ld: 0711-317 ERROR: Undefined symbol: .sa_stream_write ld: 0711-317 ERROR: Undefined symbol: .sa_stream_get_write_size ld: 0711-317 ERROR: Undefined symbol: .sa_stream_drain ld: 0711-317 ERROR: Undefined symbol: .sa_stream_pause ld: 0711-317 ERROR: Undefined symbol: .sa_stream_resume ld: 0711-317 ERROR: Undefined symbol: .sa_stream_get_position ld: 0711-317 ERROR: Undefined symbol: .debug_printf ld: 0711-317 ERROR: Undefined symbol: .alloca _book_decodevs_add_19_9> .alloca [138] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_sharedbook.c(../../media/libvorbis/lib/libvorbis.a[vorbis_sharedbook.o]) 000014c4 .text R_RBR [38] .vorbis_book_init_decode 00001524 .text R_RBR [38] .vorbis_book_init_decode .alloca [42] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_lsp.c(../../media/libvorbis/lib/libvorbis.a[vorbis_lsp.o]) 00000020 .text R_RBR [12] <.Newton_Raphson> 000001d4 .text R_RBR [14] <.Laguerre_With_Deflation> 00000908 .text R_RBR [22] .vorbis_lpc_to_lsp 00000918 .text R_RBR [22] .vorbis_lpc_to_lsp 00000928 .text R_RBR [22] .vorbis_lpc_to_lsp 00000938 .text R_RBR [22] .vorbis_lpc_to_lsp .alloca [164] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_psy.c(../../media/libvorbis/lib/libvorbis.a[vorbis_psy.o]) 00000394 .text R_RBR [22] <.bark_noise_hybridmp> 000003a4 .text R_RBR [22] <.bark_noise_hybridmp> 000003b4 .text R_RBR [22] <.bark_noise_hybridmp> 000003c4 .text R_RBR [22] <.bark_noise_hybridmp> 000003d4 .text R_RBR [22] <.bark_noise_hybridmp> 00000ce0 .text R_RBR [26] <.seed_chase> 00000cf0 .text R_RBR [26] <.seed_chase> 00001200 .text R_RBR [32] <.setup_tone_curves> 00002edc .text R_RBR [50] ._vp_noise_normalize_sort 00003b8c .text R_RBR [62] ._vp_tonemask 00003ca8 .text R_RBR [64] ._vp_noisemask 00004a14 .text R_RBR [78] <._vp_quantize_couple_sort_37_22> .alloca [56] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_mdct.c(../../media/libvorbis/lib/libvorbis.a[vorbis_mdct.o]) 00001154 .text R_RBR [28] .mdct_forward .alloca [50] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_envelope.c(../../media/libvorbis/lib/libvorbis.a[vorbis_envelope.o]) 00000054 .text R_RBR [12] <._ve_amp> .alloca [30] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_lpc.c(../../media/libvorbis/lib/libvorbis.a[vorbis_lpc.o]) 0000002c .text R_RBR [12] .vorbis_lpc_predict 00000184 .text R_RBR [14] .vorbis_lpc_from_data 00000194 .text R_RBR [14] .vorbis_lpc_from_data .alloca [142] ER PR /home/ulink/Src/comm-central/mozilla/media/libvorbis/lib/vorbis_block.c(../../media/libvorbis/lib/libvorbis.a[vorbis_block.o]) 00000058 .text R_RBR [14] <._preextrapolate_helper> 0000006c .text R_RBR [14] <._preextrapolate_helper> 00000be4 .text R_RBR [38] .vorbis_analysis_wrote ER: The return code is 8. gmake[2]: *** [libgklayout.so] Error 8
Resolving the missing symbols: 1.) missing ".alloca" : add to media/libvorbis/lib/Makefile.in ifeq ($(OS_ARCH),AIX) MODULE_OPTIMIZE_FLAGS += -qalloca -O2 -qarch=com -qalign=full -qmaxmem=-1 endif 2.) missing ".sa_stream_* " add a file sydney_audio_aixaudio.c to media/libsydneyaudio/src with all missing functions to the UNSUPPORTED functions and ifeq ($(OS_ARCH),AIX) CSRCS = \ sydney_audio_aixaudio.c \ $(NULL) endif to Makefile.in libxul.so linked successfully Patch will follow soon.
Attached patch Makefile changes (obsolete) — Splinter Review
Attached file source file for aix (obsolete) —
ULi : I have attached the source file changes, please feel free to make changes to the attachments.
Attachment #408791 - Flags: review?(chris.double)
Attachment #408792 - Flags: review?(chris.double)
Attachment #384066 - Attachment is obsolete: true
Attachment #418484 - Flags: review?(chris.double)
Attachment #384066 - Flags: review?(roc)
Attached patch .patch file (obsolete) — Splinter Review
Attachment #418485 - Flags: review?(chris.double)
Attachment #408791 - Attachment is patch: true
Attachment #408791 - Attachment mime type: application/octet-stream → text/plain
Attachment #408792 - Flags: review?(chris.double) → review-
Comment on attachment 408792 [details] source file for aix Was asking for a review on this a mistake? I only review patches, not C source files.
Attachment #408791 - Flags: review?(chris.double)
Comment on attachment 418484 [details] [diff] [review] Changes to README_MOZILLA and update.sh Changed reviewer to Matthew Gregan - he's the maintainer for libsydneyaudio and will be able to advise better.
Attachment #418484 - Flags: review?(chris.double) → review?(kinetik)
Attachment #418485 - Attachment is patch: true
Attachment #418485 - Attachment mime type: application/octet-stream → text/plain
Attachment #418485 - Flags: review?(chris.double) → review?(kinetik)
https://bugzilla.mozilla.org/attachment.cgi?id=418484 Should read instead >... >#ifndef DEFAULT_AUDIO_DEVICE >#define DEFAULT_AUDIO_DEVICE "/dev/baud0/1" >#endif #ifndef DEFAULT_AUDIO_DEVICE #define DEFAULT_AUDIO_DEVICE "/dev/paud0/1" #endif /dev/baud0 is the long obsolete device name for the Microchannel architecture RS/6000 boxes. Last supported with AIX 4.3.3. On AIX 5.1 and later only /dev/paud0 soundcard is supported
Severity: major → normal
Component: General → Video/Audio
Product: Firefox → Core
QA Contact: general → video.audio
Hardware: Other → PowerPC
Version: Trunk → 1.9.1 Branch
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee: nobody → ul.mcamafia
Attached patch adds support for AIX5 (obsolete) — Splinter Review
The patch added here was used for building SeaMonkey 2.0.2, 2.0.3 and 2.0.4 releases.
Attachment #437636 - Flags: review?(kinetik)
Attachment #418485 - Attachment is obsolete: true
Attachment #418485 - Flags: review?(kinetik)
Attachment #418484 - Attachment is obsolete: true
Attachment #418484 - Flags: review?(kinetik)
Attachment #408791 - Attachment is obsolete: true
Attachment #408792 - Attachment is obsolete: true
Attachment #437640 - Flags: review?
Attachment #437640 - Flags: review? → review?(kinetik)
As well as including the changes as a patch file (and listing them in update.sh) you need to apply the patch so the file is created--this is not done during the build process. The applied version is what will be build. The separate patch files are just to make tracking the changes against upstream easier. If you can fix that up, I'll r+ the result. I can't test this, so I'll have to trust that it works.
Attachment #437636 - Flags: review?(kinetik)
Comment on attachment 437640 [details] [diff] [review] patch adjusted for Mozilla 1.9.1 branch Please rerequest review from me once fixed up. Thanks!
Attachment #437640 - Flags: review?(kinetik)
Recreated the patch in applied state and context adjustmend in src/Makefile.in
Attachment #407971 - Attachment is obsolete: true
Attachment #437636 - Attachment is obsolete: true
Attachment #437640 - Attachment is obsolete: true
Same patch with several offset adjustments, for mozilla-1.9.1 branch.
Attachment #438441 - Flags: review?(kinetik)
Attachment #438442 - Flags: review?(kinetik)
Attachment #438445 - Flags: review?(kinetik)
Attachment #438441 - Flags: review?(kinetik) → review+
Attachment #438442 - Flags: review?(kinetik) → review+
Comment on attachment 438445 [details] [diff] [review] Patch for moz192 branch, revised to comment# 16 Thanks!
Attachment #438445 - Flags: review?(kinetik) → review+
Keywords: checkin-needed
Whiteboard: [attachment 438441 to trunk]
Summary: AIX Compilation error for 3.6a1pre source sydneyaudio/sydney_audio.h", line 89.6: 1540-0859 (S) #error directive: "Cannot determine byte orde r!" → AIX support for media/libsydneyaudio
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Whiteboard: [attachment 438441 to trunk]
Comment on attachment 438442 [details] [diff] [review] Patch for moz191 branch, revised to comment# 16 The patch is included in contributed builds of SeaMonkey 2.0.x since quite a while. No changes for any platform except AIX.
Attachment #438442 - Flags: approval1.9.1.10?
Comment on attachment 438445 [details] [diff] [review] Patch for moz192 branch, revised to comment# 16 Does not change compiled code for anything but AIX.
Attachment #438445 - Flags: approval1.9.2.5?
Attachment #438442 - Flags: approval1.9.1.10? → approval1.9.1.11?
Comment on attachment 438442 [details] [diff] [review] Patch for moz191 branch, revised to comment# 16 Approved for 1.9.1.11, a=dveditz for release-drivers
Attachment #438442 - Flags: approval1.9.1.11? → approval1.9.1.11+
Comment on attachment 438445 [details] [diff] [review] Patch for moz192 branch, revised to comment# 16 Approved for 1.9.2.6, a=dveditz for release-drivers
Attachment #438445 - Flags: approval1.9.2.5? → approval1.9.2.5+
Keywords: checkin-needed
Whiteboard: checkin to mozilla-1.9.1 and mozilla-1.9.2
Whiteboard: checkin to mozilla-1.9.1 and mozilla-1.9.2 → checkin to mozilla-1.9.1
Whiteboard: checkin to mozilla-1.9.1 → [needs checkin to mozilla-1.9.1]
Attachment #438445 - Flags: approval1.9.2.5+ → approval1.9.2.6+
Keywords: verified1.9.2
Keywords: checkin-needed
Whiteboard: [needs checkin to mozilla-1.9.1]
Keywords: verified1.9.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: