From gkenaley at yahoo.com Sat Feb 15 21:51:50 2014 From: gkenaley at yahoo.com (Gary Kenaley) Date: Sat, 15 Feb 2014 20:51:50 +0000 (UTC) Subject: [capi-sig] Python for VxWorks References: <1389274218.3952.YahooMailNeo@web173101.mail.ir2.yahoo.com> Message-ID: nachaat hassis writes: > > Hi Everybody,? > > im trying to port Python on VxWorks or to find binarys for VxWorks. > My search on the internet was not very successfull till now. > In this > page?http://docstore.mik.ua/orelly/other/python/0596001886_pythonian-chp-2-sect-2.html?you > can read: > The site?http://www.python.org/download/?provides links to binary distributions for Macintosh, > OS/2, Amiga, RISC OS, QNX, VxWorks, IBM AS/400, Sony PlayStation 2, and Sharp Zaurus. > > > but i cant find any binarys for VxWorks there. > Is it even possible to port Python on VxWorks? lets say 2.7 .. > The version is not very important to me .. i just need someone to point me to the right direction .. > An old binarys of Python for VxWorks would do it.. > > Did someone hear that anybody ported Python on Vxworks? > > My goal is to make BuildBot run on VxWorks .. > > Best regards. > Nachaat, I am currently working on a Python 2.7 for VxWorks 6.9.3 x86 user space. The best resource is: http://wiki.osdev.org/Porting_Python I am using User Space Real Time Processes (RTPs) because they have POSIX PSE52+ functionality and full memory protection. I had the basic 2.6.1 interpreter running this way, but it's fairly useless without the loadable shared objects (the osdev site should help a lot with those cross build aspects). If I get it working satisfactorily, I will post back. -Gary From nachaat05 at yahoo.fr Mon Feb 17 09:26:08 2014 From: nachaat05 at yahoo.fr (nachaat hassis) Date: Mon, 17 Feb 2014 08:26:08 +0000 (GMT) Subject: [capi-sig] Python for VxWorks In-Reply-To: References: <1389274218.3952.YahooMailNeo@web173101.mail.ir2.yahoo.com> Message-ID: <1392625568.77011.YahooMailNeo@web173103.mail.ir2.yahoo.com> Hi Gary, I was trying to port Python 3.0 at first .. after porting it, i noticed that Twisted and Buildbot support only Phyton 2.7 So i had to port Python 2.7 .. I was working with VxWorks 6.9 as well (ARM).. well, after trying to port the Python as a DKM, i had it working but i had many problems with Twisted and Buildbot .. (they use many signals, pipes, ..) many POSIX stuff ..? So i took another direction and tried to make it run as an RTP. With the RTP-Version i had a better result. POSIX stuff is working, my buildbot and twisted are working (with few changes since fork and exec are not supported for example) .. But i made it work .. I have the feeling that the Python-Interpreter was more stable as a DKM but maybe its just an impression .. I had the loadable shared objects part done aswell .. If you need help with this part, just ask ..? and thanks for the replay. Best regards .. Gary Kenaley schrieb am 22:00 Samstag, 15.Februar 2014: nachaat hassis writes: > > Hi Everybody,? > > im trying to port Python on VxWorks or to find binarys for VxWorks. > My search on the internet was not very successfull till now. > In this > page?http://docstore.mik.ua/orelly/other/python/0596001886_pythonian-chp-2-sect-2.html?you > can read: > The site?http://www.python.org/download/?provides links to binary distributions for Macintosh, > OS/2, Amiga, RISC OS, QNX, VxWorks, IBM AS/400, Sony PlayStation 2, and Sharp Zaurus. > > > but i cant find any binarys for VxWorks there. > Is it even possible to port Python on VxWorks? lets say 2.7 .. > The version is not very important to me .. i just need someone to point me to the right direction .. > An old binarys of Python for VxWorks would do it.. > > Did someone hear that anybody ported Python on Vxworks? > > My goal is to make BuildBot run on VxWorks .. > > Best regards. > Nachaat, I am currently working on a Python 2.7 for VxWorks 6.9.3 x86 user space. The best resource is: http://wiki.osdev.org/Porting_Python I am using User Space Real Time Processes (RTPs) because they have POSIX PSE52+ functionality and full memory protection. I had the basic 2.6.1 interpreter running this way, but it's fairly useless without the loadable shared objects (the osdev site should help a lot with those cross build aspects). If I get it working satisfactorily, I will post back. -Gary _______________________________________________ capi-sig mailing list capi-sig at python.org https://mail.python.org/mailman/listinfo/capi-sig From prashanth.akula at rsrit.com Wed Feb 5 18:31:57 2014 From: prashanth.akula at rsrit.com (Prashanth) Date: Wed, 05 Feb 2014 17:31:57 -0000 Subject: [capi-sig] Python Developer----Charlotte, NC. In-Reply-To: <008001cf227e$a863f320$f92bd960$@rsrit.com> References: <006201cf227c$a9f0bf90$fdd23eb0$@rsrit.com> <008001cf227e$a863f320$f92bd960$@rsrit.com> Message-ID: <01af01cf2298$1cdccec0$56966c40$@rsrit.com> Job Title: Python Developer Job Location: Charlotte, NC. Job Duration: 6-12 Months Contract(Extendable) Education Qualification: Bachelor's Degree Responsibilities * As a Python Developer you will work on a global multi-functional project team which combines technical expertise in languages such as C # or Java, with a deep understanding of our business and its competitive environment. * Develop and test algorithms to solve complex business problems. * Design and build complex data to support new business initiatives. * Employ the latest mindset techniques such as agile development to deliver solutions in order to succeed. * Be exposed to exciting technologies such as Python, Flask micro-framework, MS SQL Server and SSIS/SSRS to name a few. * Design and build dynamic user interfaces to support business analytics. Requirements Our goal is to attract and develop talented people who share our passion for solving problems and relish in building solutions to see them exceed. We want to work with people who are team-players, strong analytical thinkers and have excellent problem solving skills along with technical abilities in particular these areas Python development, SQL Server, JavaScript, REST web services and Relational Databases. Additionally, you may have already demonstrated an interest in technology with a commitment to keeping abreast of new and emerging technologies experience in object oriented development, good comprehension of data structure, or algorithms. Please provide me the below details if you are interested in this position Full Legal Name: Current Location: Relocation: Phone: Email: Education: Visa Status: Visa Expiry: W2 or C2C: Total Years of Experience: Relevant Experience: Currently on Project: Availability: D.O.B: Last 4 SSN: Availability to start after interview: Rate/Salary Offered: Reference: Name: Designation: Email: Mobile: Name: Designation: Email Mobile: Prashanth Akula Sr. Resource Manager Work No: 248-630-0048. Email: Prashanth.akula at rsrit.com Reliable Software Resources Inc 22260 Haggerty Rd, Suite 285, Northville, MI 48167 An E- Verified Company Certified Minority Business Enterprise (MBE) Reliable Software Resources is an Equal Opportunity Employer and does not discriminate on the basis of race, religion, gender, sexual orientation, age or any other basis as covered by law. Employment decisions are based solely on qualifications, merit and business needs. From gkenaley at yahoo.com Tue Feb 18 03:40:42 2014 From: gkenaley at yahoo.com (Gary Kenaley) Date: Tue, 18 Feb 2014 02:40:42 -0000 Subject: [capi-sig] Python for VxWorks In-Reply-To: <1392625568.77011.YahooMailNeo@web173103.mail.ir2.yahoo.com> References: <1389274218.3952.YahooMailNeo@web173101.mail.ir2.yahoo.com> <1392625568.77011.YahooMailNeo@web173103.mail.ir2.yahoo.com> Message-ID: <1392690885.19929.YahooMailNeo@web142702.mail.bf1.yahoo.com> Hi Nachaat, Thank you for the reply and information! I have 2.7.3 mostly up and running under VxWorks 6.9.3.3 RTP. I have the entire cross build system working smoothly for the executable, parser, shared objects, and the install. I have two remaining questions that I hope you will help me with: (1) What is the purpose of the *.pyc files, and should I be concerned that the installer does not include them in the final build result? On my native Ubuntu system, the *.pyc files are included, but in the VxWorks build they are not. I am not sure why they would be needed when hundreds of python scripts and shared objects are already available. (2) Can you tell me how to get the 48 shared objects (*.so) to load automatically when the interpreted needs them (i.e. "import math")? The specifics of the problems I am having with on the shared objects (dlopen(), etc.) are first that I cannot get python to link with dynload_shlib.o: Currently I have an python RTP executable that is linked -non-static with a static library libpython2.7.a, and when it starts it successfully finds libc.so.1 if and only if I have putenv LD_LIBRARY_PATH. However, to get full python module functionality at run-time, this python vxe needs to dynamically load-on-demand any of 48 *.so shared libraries that are built AFTER the python RTP executable is linked -non-static. I believe this means the 48 shared libraries should be built with the --export-dynamic flag. All of this works effortlessly in the native Ubuntu build, using the same source code and very similar Makefile. When I try to enable dynamic loading [dlopen(), etc.] by building and linking in dynload_shlib.c (attached) and including it in libpython2.7.a, the link of the python RTP fails even though there were no compilation warnings) with: c++pentium -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wl -MD -MP -non-static -Xbind-lazy -ldl -L/home/demo/WindRiver/vxworks-6.9/target/lib/usr/lib/pentium/PENTIUM4/common? -o python Modules/python.o libpython2.7.a libpython2.7.a(dynload_shlib.o): In function `_PyImport_GetDynLoadFunc': /romfs/python273/Python/dynload_shlib.c:94: undefined reference to `dlsym' /romfs/python273/Python/dynload_shlib.c:130: undefined reference to `dlopen' /romfs/python273/Python/dynload_shlib.c:133: undefined reference to `dlerror' /romfs/python273/Python/dynload_shlib.c:141: undefined reference to `dlsym' collect2: ld returned 1 exit status A slightly more detailed build output for the python RTP is shown about 25 lines below. I tried dozens of combinations of linker flags, ccpentium,? etc., but I always get exactly the same error. Perhaps the source code (dynload_shlib.c) needs to be changed? I read through the Application Programmer's guide thoroughly and Googled, etc., but there are no examples showing the build process. This seems to be the case that the Wind River manual refers to as plugins. Could you please show me how to make this work? I could hardcode the dlopenflags for dlopen(pathname, dlopenflags) in dynload_shlib.c if you would tell me what the correct values should be. Of course it also needs to link (unless these flags can somehow interfere with that). I was able to link python with? "-Wl,--warn-unresolved-symbols"? (with 4 warnings, instead of errors). But when I try to access a plugin like math.so: >>> import math 0xfcfd010 (iPython): RTP 0xfd05010 has been deleted due to signal 11. Presumably because it tried to blindly call a function that it could not find... As a possible alternative, now that I have the 48 shared objects built, could I leave the plug-in dynamic loading stubbed out of the libpython2.7.a, and link python.vxe -non-static against libc.so (as already done) AND the 48 shared objects? The 48 shared objects would be built with "c++pentium? -mtune=pentium4 -march=pentium4 -ansi -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -Wall -MD -MP -fpic -D__SO_PICABIRTP__? -shared -Wl,-shared -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu", but without --export-dynamic. Would this work,i.e. would the shared libraries be automatically loadedfrom LD_LIBRARY_PATH whenever the python executable tried to call the functions contained in them? Thanks, Gary More details on the build and link: demo at gamer-linux:/romfs/python273$ make python ccpentium -c -fno-strict-aliasing -O0 -g -mtune=pentium4 -march=pentium4 -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes? -I. -IInclude -I./Include -O0 -g -mtune=pentium4 -march=pentium4 -ansi -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses? -DPy_BUILD_CORE -o Python/dynload_shlib.o Python/dynload_shlib.c ccpentium -c -fno-strict-aliasing -O0 -g -mtune=pentium4 -march=pentium4 -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes? -I. -IInclude -I./Include -O0 -g -mtune=pentium4 -march=pentium4 -ansi -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses? -DPy_BUILD_CORE \ ????? -DSVNVERSION="\"`LC_ALL=C svnversion .`\"" \ ????? -DHGVERSION="\"`LC_ALL=C `\"" \ ????? -DHGTAG="\"`LC_ALL=C `\"" \ ????? -DHGBRANCH="\"`LC_ALL=C `\"" \ ????? -o Modules/getbuildinfo.o ./Modules/getbuildinfo.c rm -f libpython2.7.a arpentium rc libpython2.7.a Modules/getbuildinfo.o arpentium rc libpython2.7.a Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/parsetok.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Parser/myreadline.o Parser/tokenizer.o arpentium rc libpython2.7.a Objects/abstract.o Objects/boolobject.o Objects/bufferobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/cobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/intobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/object.o Objects/obmalloc.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/stringobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/weakrefobject.o Objects/unicodeobject.o Objects/unicodectype.o arpentium rc libpython2.7.a Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/bltinmodule.o Python/ceval.o Python/compile.o Python/codecs.o Python/errors.o Python/frozen.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/import.o Python/importdl.o Python/marshal.o Python/modsupport.o Python/mystrtoul.o Python/mysnprintf.o Python/peephole.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/random.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/dtoa.o Python/formatter_unicode.o Python/formatter_string.o Python/dynload_shlib.o?? Python/thread.o arpentium rc libpython2.7.a Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o arpentium rc libpython2.7.a Modules/threadmodule.o? Modules/signalmodule.o? Modules/posixmodule.o? Modules/errnomodule.o?? Modules/_sre.o? Modules/_codecsmodule.o? Modules/_weakref.o? Modules/zipimport.o? Modules/symtablemodule.o? Modules/xxsubtype.o ranlibpentium libpython2.7.a ccpentium -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -L/home/demo/WindRiver/vxworks-6.9/target/lib/usr/lib/pentium/PENTIUM4/common -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -non-static -o python Modules/python.o libpython2.7.a libpython2.7.a(dynload_shlib.o): In function `_PyImport_GetDynLoadFunc': /romfs/python273/Python/dynload_shlib.c:94: undefined reference to `dlsym' /romfs/python273/Python/dynload_shlib.c:130: undefined reference to `dlopen' /romfs/python273/Python/dynload_shlib.c:133: undefined reference to `dlerror' /romfs/python273/Python/dynload_shlib.c:141: undefined reference to `dlsym' collect2: ld returned 1 exit status make: *** [python] Error 1 On Monday, February 17, 2014 12:29 AM, nachaat hassis wrote: Hi Gary, I was trying to port Python 3.0 at first .. after porting it, i noticed that Twisted and Buildbot support only Phyton 2.7 So i had to port Python 2.7 .. I was working with VxWorks 6.9 as well (ARM).. well, after trying to port the Python as a DKM, i had it working but i had many problems with Twisted and Buildbot .. (they use many signals, pipes, ..) many POSIX stuff ..? So i took another direction and tried to make it run as an RTP. With the RTP-Version i had a better result. POSIX stuff is working, my buildbot and twisted are working (with few changes since fork and exec are not supported for example) .. But i made it work .. I have the feeling that the Python-Interpreter was more stable as a DKM but maybe its just an impression .. I had the loadable shared objects part done aswell .. If you need help with this part, just ask ..? and thanks for the replay. Best regards .. Gary Kenaley schrieb am 22:00 Samstag, 15.Februar 2014: nachaat hassis writes: > > Hi Everybody,? > > im trying to port Python on VxWorks or to find binarys for VxWorks. > My search on the internet was not very successfull till now. > In this > page?http://docstore.mik.ua/orelly/other/python/0596001886_pythonian-chp-2-sect-2.html?you > can read: > The site?http://www.python.org/download/?provides links to binary distributions for Macintosh, > OS/2, Amiga, RISC OS, QNX, VxWorks, IBM AS/400, Sony PlayStation 2, and Sharp Zaurus. > > > but i cant find any binarys for VxWorks there. > Is it even possible to port Python on VxWorks? lets say 2.7 .. > The version is not very important to me .. i just need someone to point me to the right direction .. > An old binarys of Python for VxWorks would do it.. > > Did someone hear that anybody ported Python on Vxworks? > > My goal is to make BuildBot run on VxWorks .. > > Best regards. > Nachaat, I am currently working on a Python 2.7 for VxWorks 6.9.3 x86 user space. The best resource is: http://wiki.osdev.org/Porting_Python I am using User Space Real Time Processes (RTPs) because they have POSIX PSE52+ functionality and full memory protection. I had the basic 2.6.1 interpreter running this way, but it's fairly useless without the loadable shared objects (the osdev site should help a lot with those cross build aspects). If I get it working satisfactorily, I will post back. -Gary _______________________________________________ capi-sig mailing list capi-sig at python.org https://mail.python.org/mailman/listinfo/capi-sig From nachaat05 at yahoo.fr Tue Feb 18 08:44:40 2014 From: nachaat05 at yahoo.fr (nachaat hassis) Date: Tue, 18 Feb 2014 07:44:40 -0000 Subject: [capi-sig] Python for VxWorks In-Reply-To: <1392690885.19929.YahooMailNeo@web142702.mail.bf1.yahoo.com> References: <1389274218.3952.YahooMailNeo@web173101.mail.ir2.yahoo.com> <1392625568.77011.YahooMailNeo@web173103.mail.ir2.yahoo.com> <1392690885.19929.YahooMailNeo@web142702.mail.bf1.yahoo.com> Message-ID: <1392709281.59279.YahooMailNeo@web173105.mail.ir2.yahoo.com> Hi Gary, well .. I took a very different way for all this. Lets start with your questions: (1) You dont need the *.pyc files to be included. As far as i know, they were be later "generated" on the target machine. (2) For the dynload you are using a hard (wrong?) way. First of all, trying to get?dynload_shlib.o compile is not the best solution. the dynload file should be edited/changed like you already noticed/thought. I removed the other dynload_* files and had a dynload_vxworks.c with this source:?http://pastebin.com/4S1Av7K8 You have to use loadModule() under VxWorks to make the lib load. Since we are running here in User-Space, you have to "link" those functions which are not available in User-Space. You need a small DKM running which register a sysCallTable with those functions and define them in your RTP aswell. Here a non-tested example: http://pastebin.com/zkvbrwPP (non-tested since i can't give you in public the whole source since its part of my work .. but if you really need help in this, i could give you a tested example in private). When you make this run, the import should work without any problem. I compile my shared lib as a *.pyd and not as an *.so You have to change the makefile for those lib or change the first link i gave you to load *.so and not '*.pyd. Now to your question for the possibility to load the shared libs "manually" and forget the dynload-plugin .. well this is a possibility. At first when i didnt make this all work, i compiled the libs with the interpreter in the vxe and added the init-methodes in python/module/config.c Theoretically you can add all your modules there. The interpreter will be a bit bigger, but well .. I hope this helped. If you have more question, dont hesitate. Best regards. Gary Kenaley schrieb am 3:34 Dienstag, 18.Februar 2014: Hi Nachaat, Thank you for the reply and information! I have 2.7.3 mostly up and running under VxWorks 6.9.3.3 RTP. I have the entire cross build system working smoothly for the executable, parser, shared objects, and the install. I have two remaining questions that I hope you will help me with: (1) What is the purpose of the *.pyc files, and should I be concerned that the installer does not include them in the final build result? On my native Ubuntu system, the *.pyc files are included, but in the VxWorks build they are not. I am not sure why they would be needed when hundreds of python scripts and shared objects are already available. (2) Can you tell me how to get the 48 shared objects (*.so) to load automatically when the interpreted needs them (i.e. "import math")? The specifics of the problems I am having with on the shared objects (dlopen(), etc.) are first that I cannot get python to link with dynload_shlib.o: Currently I have an python RTP executable that is linked -non-static with a static library libpython2.7.a, and when it starts it successfully finds libc.so.1 if and only if I have putenv LD_LIBRARY_PATH. However, to get full python module functionality at run-time, this python vxe needs to dynamically load-on-demand any of 48 *.so shared libraries that are built AFTER the python RTP executable is linked -non-static. I believe this means the 48 shared libraries should be built with the --export-dynamic flag. All of this works effortlessly in the native Ubuntu build, using the same source code and very similar Makefile. When I try to enable dynamic loading [dlopen(), etc.] by building and linking in dynload_shlib.c (attached) and including it in libpython2.7.a, the link of the python RTP fails even though there were no compilation warnings) with: c++pentium -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wl -MD -MP -non-static -Xbind-lazy -ldl -L/home/demo/WindRiver/vxworks-6.9/target/lib/usr/lib/pentium/PENTIUM4/common? -o python Modules/python.o libpython2.7.a libpython2.7.a(dynload_shlib.o): In function `_PyImport_GetDynLoadFunc': /romfs/python273/Python/dynload_shlib.c:94: undefined reference to `dlsym' /romfs/python273/Python/dynload_shlib.c:130: undefined reference to `dlopen' /romfs/python273/Python/dynload_shlib.c:133: undefined reference to `dlerror' /romfs/python273/Python/dynload_shlib.c:141: undefined reference to `dlsym' collect2: ld returned 1 exit status A slightly more detailed build output for the python RTP is shown about 25 lines below. I tried dozens of combinations of linker flags, ccpentium,? etc., but I always get exactly the same error. Perhaps the source code (dynload_shlib.c) needs to be changed? I read through the Application Programmer's guide thoroughly and Googled, etc., but there are no examples showing the build process. This seems to be the case that the Wind River manual refers to as plugins. Could you please show me how to make this work? I could hardcode the dlopenflags for dlopen(pathname, dlopenflags) in dynload_shlib.c if you would tell me what the correct values should be. Of course it also needs to link (unless these flags can somehow interfere with that). I was able to link python with? "-Wl,--warn-unresolved-symbols"? (with 4 warnings, instead of errors). But when I try to access a plugin like math.so: >>> import math 0xfcfd010 (iPython): RTP 0xfd05010 has been deleted due to signal 11. Presumably because it tried to blindly call a function that it could not find... As a possible alternative, now that I have the 48 shared objects built, could I leave the plug-in dynamic loading stubbed out of the libpython2.7.a, and link python.vxe -non-static against libc.so (as already done) AND the 48 shared objects? The 48 shared objects would be built with "c++pentium? -mtune=pentium4 -march=pentium4 -ansi -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -Wall -MD -MP -fpic -D__SO_PICABIRTP__? -shared -Wl,-shared -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu", but without --export-dynamic. Would this work,i.e. would the shared libraries be automatically loadedfrom LD_LIBRARY_PATH whenever the python executable tried to call the functions contained in them? Thanks, Gary More details on the build and link: demo at gamer-linux:/romfs/python273$ make python ccpentium -c -fno-strict-aliasing -O0 -g -mtune=pentium4 -march=pentium4 -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes? -I. -IInclude -I./Include -O0 -g -mtune=pentium4 -march=pentium4 -ansi -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses? -DPy_BUILD_CORE -o Python/dynload_shlib.o Python/dynload_shlib.c ccpentium -c -fno-strict-aliasing -O0 -g -mtune=pentium4 -march=pentium4 -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes? -I. -IInclude -I./Include -O0 -g -mtune=pentium4 -march=pentium4 -ansi -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -Wall -MD -MP -D_VX_CPU=_VX_PENTIUM4 -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=gnu -I/home/demo/WindRiver/vxworks-6.9/target/usr/h -I/home/demo/WindRiver/vxworks-6.9/target/usr/h/wrn/coreip -I/romfs/python273/Include -Wno-parentheses? -DPy_BUILD_CORE \ ????? -DSVNVERSION="\"`LC_ALL=C svnversion .`\"" \ ????? -DHGVERSION="\"`LC_ALL=C `\"" \ ????? -DHGTAG="\"`LC_ALL=C `\"" \ ????? -DHGBRANCH="\"`LC_ALL=C `\"" \ ????? -o Modules/getbuildinfo.o ./Modules/getbuildinfo.c rm -f libpython2.7.a arpentium rc libpython2.7.a Modules/getbuildinfo.o arpentium rc libpython2.7.a Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/parsetok.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Parser/myreadline.o Parser/tokenizer.o arpentium rc libpython2.7.a Objects/abstract.o Objects/boolobject.o Objects/bufferobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/cobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/intobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/object.o Objects/obmalloc.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/stringobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/weakrefobject.o Objects/unicodeobject.o Objects/unicodectype.o arpentium rc libpython2.7.a Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/bltinmodule.o Python/ceval.o Python/compile.o Python/codecs.o Python/errors.o Python/frozen.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/import.o Python/importdl.o Python/marshal.o Python/modsupport.o Python/mystrtoul.o Python/mysnprintf.o Python/peephole.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/random.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/dtoa.o Python/formatter_unicode.o Python/formatter_string.o Python/dynload_shlib.o?? Python/thread.o arpentium rc libpython2.7.a Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o arpentium rc libpython2.7.a Modules/threadmodule.o? Modules/signalmodule.o? Modules/posixmodule.o? Modules/errnomodule.o?? Modules/_sre.o? Modules/_codecsmodule.o? Modules/_weakref.o? Modules/zipimport.o? Modules/symtablemodule.o? Modules/xxsubtype.o ranlibpentium libpython2.7.a ccpentium -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -L/home/demo/WindRiver/vxworks-6.9/target/lib/usr/lib/pentium/PENTIUM4/common -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -MD -MP -non-static -o python Modules/python.o libpython2.7.a libpython2.7.a(dynload_shlib.o): In function `_PyImport_GetDynLoadFunc': /romfs/python273/Python/dynload_shlib.c:94: undefined reference to `dlsym' /romfs/python273/Python/dynload_shlib.c:130: undefined reference to `dlopen' /romfs/python273/Python/dynload_shlib.c:133: undefined reference to `dlerror' /romfs/python273/Python/dynload_shlib.c:141: undefined reference to `dlsym' collect2: ld returned 1 exit status make: *** [python] Error 1 On Monday, February 17, 2014 12:29 AM, nachaat hassis wrote: Hi Gary, I was trying to port Python 3.0 at first .. after porting it, i noticed that Twisted and Buildbot support only Phyton 2.7 So i had to port Python 2.7 .. I was working with VxWorks 6.9 as well (ARM).. well, after trying to port the Python as a DKM, i had it working but i had many problems with Twisted and Buildbot .. (they use many signals, pipes, ..) many POSIX stuff ..? So i took another direction and tried to make it run as an RTP. With the RTP-Version i had a better result. POSIX stuff is working, my buildbot and twisted are working (with few changes since fork and exec are not supported for example) .. But i made it work .. I have the feeling that the Python-Interpreter was more stable as a DKM but maybe its just an impression .. I had the loadable shared objects part done aswell .. If you need help with this part, just ask ..? and thanks for the replay. Best regards .. Gary Kenaley schrieb am 22:00 Samstag, 15.Februar 2014: nachaat hassis writes: > > Hi Everybody,? > > im trying to port Python on VxWorks or to find binarys for VxWorks. > My search on the internet was not very successfull till now. > In this > page?http://docstore.mik.ua/orelly/other/python/0596001886_pythonian-chp-2-sect-2.html?you > can read: > The site?http://www.python.org/download/?provides links to binary distributions for Macintosh, > OS/2, Amiga, RISC OS, QNX, VxWorks, IBM AS/400, Sony PlayStation 2, and Sharp Zaurus. > > > but i cant find any binarys for VxWorks there. > Is it even possible to port Python on VxWorks? lets say 2.7 .. > The version is not very important to me .. i just need someone to point me to the right direction .. > An old binarys of Python for VxWorks would do it.. > > Did someone hear that anybody ported Python on Vxworks? > > My goal is to make BuildBot run on VxWorks .. > > Best regards. > Nachaat, I am currently working on a Python 2.7 for VxWorks 6.9.3 x86 user space. The best resource is: http://wiki.osdev.org/Porting_Python I am using User Space Real Time Processes (RTPs) because they have POSIX PSE52+ functionality and full memory protection. I had the basic 2.6.1 interpreter running this way, but it's fairly useless without the loadable shared objects (the osdev site should help a lot with those cross build aspects). If I get it working satisfactorily, I will post back. -Gary _______________________________________________ capi-sig mailing list capi-sig at python.org https://mail.python.org/mailman/listinfo/capi-sig