ນີ້ແມ່ນຄໍາສັ່ງ perlqnx ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
perlqnx - Perl ຮຸ່ນ 5 ໃນ QNX
ລາຍລະອຽດ
ເປັນຂອງ perl5.7.2 ການທົດສອບທັງຫມົດຜ່ານພາຍໃຕ້:
QNX 4.24G
Watcom 10.6 ກັບ Beta/970211.wcc.update.tar.F
socket3r.lib Nov 21 1996.
ເປັນຂອງ perl5.8.1 ມີຢ່າງຫນ້ອຍຫນຶ່ງການທົດສອບຍັງລົ້ມເຫລວ.
ການທົດສອບບາງຢ່າງອາດຈະຈົ່ມພາຍໃຕ້ສະຖານະການທີ່ຮູ້ຈັກ.
ເບິ່ງຂ້າງລຸ່ມນີ້ ແລະຄໍາແນະນໍາ/qnx.sh ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
ພາຍໃຕ້ QNX 6.2.0 ຍັງມີການທົດສອບຈໍານວນຫນ້ອຍທີ່ລົ້ມເຫລວ. ເບິ່ງຂ້າງລຸ່ມນີ້ແລະຄໍາແນະນໍາ / qnx.sh ສໍາລັບ
ຂໍ້ມູນເພີ່ມເຕີມ
ທີ່ກໍານົດໄວ້ ຊອບແວ ສໍາລັບການ ການລວບລວມ Perl on QNX4
ເຊັ່ນດຽວກັນກັບພອດ unix ຫຼາຍ, ອັນນີ້ແມ່ນຂຶ້ນກັບ "ມາດຕະຖານ" unix utilities ຈໍານວນຫນ້ອຍທີ່ບໍ່ໄດ້
ມາດຕະຖານທີ່ຈໍາເປັນສໍາລັບ QNX4.
/ ຖັງ / sh
ນີ້ຖືກນໍາໃຊ້ຢ່າງຫຼວງຫຼາຍໂດຍ Configure ແລະຫຼັງຈາກນັ້ນໂດຍ perl ຕົວຂອງມັນເອງ. ຮຸ່ນຂອງ QNX4 ແມ່ນດີ, ແຕ່
ການຕັ້ງຄ່າຈະ choke ໃນສະບັບ 16-bit, ສະນັ້ນຖ້າຫາກວ່າທ່ານກໍາລັງແລ່ນ QNX 4.22, ເຊື່ອມຕໍ່
/ ຖັງ / sh ໄປ /bin32/ksh
ar ນີ້ແມ່ນຕົວສ້າງຫ້ອງສະໝຸດ unix ມາດຕະຖານ. ພວກເຮົາໃຊ້ wlib. ດ້ວຍ Watcom 10.6, ເມື່ອ wlib
ຖືກເຊື່ອມຕໍ່ເປັນ "ar", ມັນປະຕິບັດຕົວຄືກັບ ar ແລະທັງຫມົດແມ່ນດີ. ຕ່ຳກວ່າ 9.5, ຕ້ອງມີຝາປິດ.
ຫນຶ່ງແມ່ນລວມຢູ່ໃນ ../qnx
nm ນີ້ຖືກນໍາໃຊ້ (ທາງເລືອກ) ໂດຍການຕັ້ງຄ່າເພື່ອລາຍຊື່ເນື້ອໃນຂອງຫ້ອງສະຫມຸດ. ຂ້ອຍຈະ
ສ້າງຟັງຊັນການປົກຫຸ້ມຂອງບິນໃນໄດເລກະທໍລີ UU.
cpp Configure ແລະ perl ຕ້ອງການວິທີການເອີ້ນ C preprocessor. ຂ້ອຍໄດ້ສ້າງແບບງ່າຍໆ
cover ສໍາລັບ cc ທີ່ເຮັດຢ່າງຖືກຕ້ອງ. ໂດຍບໍ່ມີການນີ້, Configure ຈະສ້າງຂອງຕົນເອງ
wrapper ທີ່ເຮັດວຽກ, ແຕ່ມັນບໍ່ໄດ້ຈັດການກັບບາງຂໍ້ໂຕ້ແຍ້ງຂອງແຖວຄໍາສັ່ງນັ້ນ
perl ຈະຖິ້ມມັນ.
ເຮັດໃຫ້
ທ່ານຕ້ອງການ GNU ແທ້ໆເພື່ອລວບລວມຂໍ້ມູນນີ້. GNU ສ້າງເຮືອໂດຍຄ່າເລີ່ມຕົ້ນດ້ວຍ QNX 4.23, ແຕ່
ທ່ານສາມາດໄດ້ຮັບມັນຈາກ quics ສໍາລັບສະບັບກ່ອນຫນ້າ.
ພົ້ນເດັ່ນ ບັນຫາ ກັບ Perl on QNX4
ບໍ່ມີການສະຫນັບສະຫນູນຫ້ອງສະຫມຸດທີ່ມີການເຊື່ອມໂຍງແບບເຄື່ອນໄຫວໃນ QNX4.
ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະສັງລວມກັບການຂະຫຍາຍ Socket, ທ່ານຈໍາເປັນຕ້ອງມີ TCP / IP toolkit, ແລະ
ທ່ານຈໍາເປັນຕ້ອງໃຫ້ແນ່ໃຈວ່າ -lsocket ຊອກຫາສໍາເນົາທີ່ຖືກຕ້ອງຂອງ socket3r.lib. ຈົ່ງລະວັງ
Watcom compiler ສົ່ງກັບສະບັບ stub ຂອງ socket3r.lib ທີ່ມີຫນ້ອຍຫຼາຍ
ການທໍາງານ. ນອກຈາກນັ້ນ, ຈົ່ງລະວັງຄໍາສັ່ງທີ່ wlink ຄົ້ນຫາໄດເລກະທໍລີສໍາລັບຫ້ອງສະຫມຸດ.
ທ່ານອາດຈະມີ /usr/lib/socket3r.lib ຊີ້ໄປຫາຫ້ອງສະຫມຸດທີ່ຖືກຕ້ອງ, ແຕ່ wlink ອາດຈະເລືອກເອົາຂຶ້ນ.
/usr/watcom/10.6/usr/lib/socket3r.lib ແທນ. ໃຫ້ແນ່ໃຈວ່າພວກເຂົາທັງສອງຊີ້ໃຫ້ເຫັນເຖິງຄວາມຖືກຕ້ອງ
ຫ້ອງສະຫມຸດ, ນັ້ນແມ່ນ, /usr/tcptk/current/usr/lib/socket3r.lib.
ການທົດສອບຕໍ່ໄປນີ້ອາດຈະລາຍງານຄວາມຜິດພາດພາຍໃຕ້ QNX4:
dist/Cwd/Cwd.t ຈະຈົ່ມຖ້າ `pwd` ແລະ cwd ບໍ່ໃຫ້ຜົນໄດ້ຮັບຄືກັນ. cwd ໂທ
`fullpath -t`, ດັ່ງນັ້ນຖ້າທ່ານ cd `fullpath -t` ກ່ອນທີ່ຈະແລ່ນການທົດສອບ, ມັນຈະຜ່ານ.
lib/File/Find/taint.t ຈະຈົ່ມຖ້າ '.' ຢູ່ໃນເສັ້ນທາງຂອງເຈົ້າ. ການທົດສອບ PATH ຖືກກະຕຸ້ນ
ເພາະວ່າ cwd ເອີ້ນວ່າ 'fullpath -t'.
ext/IO/lib/IO/t/io_sock.t: ການທົດສອບຍ່ອຍ 14 ແລະ 22 ຖືກຂ້າມໄປເນື່ອງຈາກຄວາມຈິງທີ່ວ່າ
ຟັງຊັນເພື່ອອ່ານສະຖານະທີ່ບໍ່ປິດກັ້ນຂອງຊັອກເກັດບໍ່ຖືກປະຕິບັດຢູ່ໃນ QNX's
TCP/IP. ນີ້ໄດ້ຖືກລາຍງານໃຫ້ QNX ແລະມັນອາດຈະເຮັດວຽກກັບ TCP/IP ຮຸ່ນຕໍ່ມາ.
t/io/tell.t: ການທົດສອບຍ່ອຍ 27 ລົ້ມເຫລວ. ພວກເຮົາຍັງສືບສວນຢູ່.
QNX ຊ່ວຍ ໄຟ
ໄຟລ໌ໃນໄດເລກະທໍລີ "qnx" ແມ່ນ:
qnx/ar
ສະຄຣິບທີ່ເຮັດຕາມມາດຕະຖານ unix archive (aka library). ພາຍໃຕ້ Watcom
10.6, ar ແມ່ນເຊື່ອມຕໍ່ກັບ wlib ແລະສະຫນອງການໂຕ້ຕອບທີ່ຄາດໄວ້. ດ້ວຍ Watcom 9.5, ກ
ຫນ້າທີ່ປົກຫຸ້ມແມ່ນຕ້ອງການ. ອັນນີ້ແມ່ນຂ້ອນຂ້າງຂີ້ຮ້າຍແຕ່ໄດ້ພິສູດພຽງພໍສໍາລັບ
ລວບລວມ perl.
qnx/cpp
ສະຄຣິບທີ່ໃຫ້ຟັງຊັນການປະມວນຜົນກ່ອນ C. Configure ສາມາດສ້າງ a
ການປົກຫຸ້ມຂອງທີ່ຄ້າຍຄືກັນ, ແຕ່ມັນບໍ່ໄດ້ຈັດການທາງເລືອກເສັ້ນຄໍາສັ່ງທັງຫມົດທີ່ perl ຖິ້ມຢູ່
ມັນ. ອັນນີ້ອາດຈະຖືກວາງໄວ້ຢ່າງສົມເຫດສົມຜົນໃນ /usr/local/bin.
ພົ້ນເດັ່ນ ບັນຫາ ກັບ perl ພາຍໃຕ້ການ QNX6
ການທົດສອບຕໍ່ໄປນີ້ຍັງລົ້ມເຫລວສໍາລັບ Perl 5.8.1 ພາຍໃຕ້ QNX 6.2.0:
op/sprintf.........................ລົ້ມເຫລວໃນການທົດສອບ 91
lib/Benchmark......................ລົ້ມເຫລວໃນການທົດສອບ 26
ນີ້ແມ່ນເນື່ອງມາຈາກຂໍ້ບົກພ່ອງໃນປົກກະຕິ printf ຂອງຫ້ອງສະຫມຸດ C. printf("'%e'", 0. ) ຜະລິດ
'0.000000e+0', ແຕ່ ANSI ຕ້ອງການ '0.000000e+00'. QNX ໄດ້ຮັບຮູ້ bug.
ການລວບລວມຂ້າມ
Perl ສະຫນັບສະຫນູນການລວບລວມຂ້າມໄປຫາ QNX NTO ຜ່ານຊຸດການພັດທະນາພື້ນເມືອງ (NDK) ສໍາລັບ
Blackberry 10. ນີ້ຫມາຍຄວາມວ່າທ່ານສາມາດຂ້າມລວບລວມສໍາລັບທັງ ARM ແລະ x86 ຮຸ່ນຂອງ
ເວທີ.
ການຕັ້ງຄ່າ up a ການລວບລວມຂ້າມ ສະພາບແວດລ້ອມ
ທ່ານສາມາດດາວໂຫລດ NDK ຈາກhttp://developer.blackberry.com/native/downloads/>.
ເບິ່ງ
<http://developer.blackberry.com/native/documentation/cascades/getting_started/setting_up.html>
ສໍາລັບຄໍາແນະນໍາໃນການຕິດຕັ້ງອຸປະກອນຂອງທ່ານກ່ອນທີ່ຈະພະຍາຍາມອັນອື່ນ.
ເມື່ອທ່ານຕິດຕັ້ງ NDK ແລະຕັ້ງຄ່າອຸປະກອນຂອງທ່ານແລ້ວ, ທັງໝົດທີ່ເຫຼືອໃຫ້ເຮັດແມ່ນການຕັ້ງຄ່າ
ອຸປະກອນແລະສະພາບແວດລ້ອມການລວບລວມຂ້າມ. Blackberry ສະໜອງສະຄຣິບ,
"bbndk-env.sh" (ບາງຄັ້ງກໍ່ຕັ້ງຊື່ບາງຢ່າງເຊັ່ນ "bbndk-env_10_1_0_4828.sh") ເຊິ່ງສາມາດເປັນ
ເຄີຍເຮັດສິ່ງນີ້. ຢ່າງໃດກໍຕາມ, ມີ snag ເລັກນ້ອຍທີ່ພວກເຮົາຕ້ອງເຮັດວຽກໂດຍຜ່ານ: ໄດ້
script ດັດແປງ PATH ເພື່ອໃຫ້ 'gcc' ຫຼື 'ar' ຊີ້ໃຫ້ເຫັນເຖິງການປຽບທຽບການລວບລວມຂ້າມຂອງພວກມັນ,
ເຊິ່ງ screws ໃນໄລຍະການກໍ່ສ້າງ.
ດັ່ງນັ້ນ, ແທນທີ່ຈະເຈົ້າຕ້ອງການເຮັດບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:
$ orig_path=$PATH
$ ແຫຼ່ງ $location_of_bbndk/bbndk-env*.sh
$ export PATH="$orig_path:$PATH"
ນອກຈາກການວາງ cross-compiler ແລະສ່ວນທີ່ເຫຼືອຂອງ toolchain ໃນ PATH ຂອງທ່ານ, ນີ້ຈະ
ນອກຈາກນີ້ຍັງໃຫ້ຕົວແປ QNX_TARGET, ເຊິ່ງພວກເຮົາຈະສົ່ງໄປຫາ Configure ຜ່ານ -Dsysroot.
ກຽມພ້ອມ ໄດ້ ເປົ້າຫມາຍ ລະບົບ
ມັນເປັນໄປໄດ້ຂ້ອນຂ້າງວ່າລະບົບເປົ້າຫມາຍດັ່ງກ່າວບໍ່ມີພ້ອມ / tmp, ສະນັ້ນມັນ
ໂດຍທົ່ວໄປແລ້ວປອດໄພກວ່າທີ່ຈະເຮັດບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:
$ ssh $TARGETUSER@$TARGETHOST 'rm -rf perl; mkdir perl; mkdir perl/tmp'
$ export TARGETDIR=`ssh $TARGETUSER@$TARGETHOST pwd`/perl
$ export TARGETENV="export TMPDIR=$TARGETDIR/tmp;"
ຕໍ່ມາ, ພວກເຮົາຈະຜ່ານອັນນີ້ໄປ Configure ຜ່ານ -Dtargetenv
ການໂທ ກໍາຫນົດຄ່າ
ຖ້າທ່ານກໍາລັງຕັ້ງເປົ້າຫມາຍອຸປະກອນ ARM - ເຊິ່ງປະຈຸບັນປະກອບມີສ່ວນໃຫຍ່ຂອງ
ໂທລະສັບ ແລະແທັບເລັດ -- ເຈົ້າຕ້ອງການຜ່ານ -Dcc=arm-unknown-nto-qnx8.0.0eabi-gcc ໄປ
ຕັ້ງຄ່າ. ອີກທາງເລືອກ, ຖ້າທ່ານກໍາລັງຕັ້ງເປົ້າຫມາຍອຸປະກອນ x86, ຫຼືໃຊ້ simulator
ສະຫນອງໃຫ້ກັບ NDK, ທ່ານຄວນລະບຸ -Dcc=ntox86-gcc ແທນ.
ຕົວຢ່າງ Configure invocation ມີລັກສະນະຄ້າຍຄືນີ້:
./configure -des -Dusecrosscompile
-Dsysroot=$QNX_TARGET
-Dtargetdir=$TARGETDIR
-Dtargetenv="$TARGETENV"
-Dcc=ntox86-gcc
-Dtarghost=... # ທາງເລືອກການລວບລວມຂ້າມແບບປົກກະຕິ
ໃຊ້ perlqnx ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net