<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: 32/64-bit portabliity in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809914#M100231</link>
    <description>Only the ncurses libraries are statically linked. The other libraries used are dynamically linked.&lt;BR /&gt;&lt;BR /&gt;/usr/lib/libc.2&lt;BR /&gt;/usr/lib/libdld.2&lt;BR /&gt;/usr/lib/libm.2&lt;BR /&gt;/usr/local/lib/libstdc++.sl &lt;BR /&gt;&lt;BR /&gt;I'll see if I can get hold of a stack trace, as I feel a weakness in the force.</description>
    <pubDate>Wed, 28 Jun 2006 04:02:27 GMT</pubDate>
    <dc:creator>Stephen Keane</dc:creator>
    <dc:date>2006-06-28T04:02:27Z</dc:date>
    <item>
      <title>32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809904#M100221</link>
      <description>I have some code that was written and comliled (using gcc) on HP-UX 11.00 with a 64-bit O/S. It is PARISC1.1.&lt;BR /&gt;&lt;BR /&gt;When I try and run it on a HP-UX 11.00 box with 32-bit O/S anything using curses fails (coredump SIGSEGV). But anything not using curses works OK.&lt;BR /&gt;&lt;BR /&gt;All the libraries I have used/linked are PARISC1.1&lt;BR /&gt;&lt;BR /&gt;Any clues?</description>
      <pubDate>Wed, 21 Jun 2006 11:03:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809904#M100221</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-21T11:03:34Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809905#M100222</link>
      <description>You know the drill. Anything w/o a stack trace is using "The Force". Since you mentioned gcc, is it possible the problem is actually minor differences in "real" curses and ncurses? I simply haven't used gcc enough on HP-UX to know much about this but the HP C compilers handle this easily as long as the overrides are in place so that the compiler does not choose the native type of the machine that the compiler happens to reside on. I have seen cases where problems like you describe were compiled and dynamically linked to "real" curses on the original machine and failed when linked against ncurses on the target machine (although the dynamic linking itself succeeded).</description>
      <pubDate>Wed, 21 Jun 2006 11:17:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809905#M100222</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-06-21T11:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809906#M100223</link>
      <description>I've statically linked the ncurses libraries on the build machine, there are no ncurses libraries on the target machine.</description>
      <pubDate>Wed, 21 Jun 2006 11:20:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809906#M100223</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-21T11:20:20Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809907#M100224</link>
      <description>Hi stephen, &lt;BR /&gt;&lt;BR /&gt;Did you compile with ncurses of 64 bit (PA-RISC1.1) ? Jus a thought i should say .. &lt;BR /&gt;&lt;BR /&gt;-Arun</description>
      <pubDate>Wed, 21 Jun 2006 12:03:01 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809907#M100224</guid>
      <dc:creator>Arunvijai_4</dc:creator>
      <dc:date>2006-06-21T12:03:01Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809908#M100225</link>
      <description>That would not link. I suspect what you are going to have to do is download the ncurses source, compile it with -g to include the debugger information, and compile your application also with -g and let it crash and then do a stack trace. However, it probably will run perfectly at this point because -g implies no optimizer -- and because you have now compiled the ncurses library on your machine. &lt;BR /&gt;&lt;BR /&gt;The other thing that might cause problems is that if ncurses were compiled with one set of header files and your application were compiled with another slightly different set of header files.&lt;BR /&gt;</description>
      <pubDate>Wed, 21 Jun 2006 12:09:04 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809908#M100225</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-06-21T12:09:04Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809909#M100226</link>
      <description>Shalom Stephen,&lt;BR /&gt;&lt;BR /&gt;You need to recompile for higher platforms.&lt;BR /&gt;&lt;BR /&gt;Once you do that, you should be able to maintain 32 and 64 bit versions. I'm told 11 v2's 32 bit emulation solves a lot of problems when compared to other earlier OS versions.&lt;BR /&gt;&lt;BR /&gt;SEP</description>
      <pubDate>Wed, 21 Jun 2006 12:09:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809909#M100226</guid>
      <dc:creator>Steven E. Protter</dc:creator>
      <dc:date>2006-06-21T12:09:56Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809910#M100227</link>
      <description>OK, I don't have access to the 11.00 32-bit kernel box. What I have is a 11.00 64 bit kernel box. What I have done i download ncurses 5.5 source and comiled it on the 11.00 64-bit kernel box and statically linked it into the application. Then sent the application to the client. Hopefully, the client will be able to try and run the application and tell me waht happened (eventually). Nothing like trying to develop on a box you don't have.</description>
      <pubDate>Thu, 22 Jun 2006 08:49:39 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809910#M100227</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-22T08:49:39Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809911#M100228</link>
      <description>I've now completely recompiled everything (including ncurses) on a 64-bit HP-UX 11.00 machine and statically linked the ncurses ".a" libraries into the executable. But if you run it on a 32-bit HP-UX 11.00 machine, it core dumps (SEGV). If I try the same thing using an application that doesn't use ncurses, then it works OK. This leads me to suspect that it is the ncurses that is causing the problem.&lt;BR /&gt;&lt;BR /&gt;Does anyone have ncurses running successfully on 32-bit HP-UX 11.00, and if so &lt;BR /&gt;&lt;BR /&gt;(a) what version of ncurses is it and &lt;BR /&gt;&lt;BR /&gt;(b) where did they get it from please?&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 27 Jun 2006 10:18:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809911#M100228</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-27T10:18:26Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809912#M100229</link>
      <description>As Clay suggesteded, what is the stack trace?  That may point to something that isn't ncurses.</description>
      <pubDate>Tue, 27 Jun 2006 20:03:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809912#M100229</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2006-06-27T20:03:14Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809913#M100230</link>
      <description>---- and don't overlook that although ncurses seems to be the chief suspect, the real criminal may be a routine that ncurses calls that is dynamically linked -- perhaps to something in libc. I haven't heard you state that the application is completely statically linked. In lieu of "The Force", a stack trace would seem to be helpful.</description>
      <pubDate>Tue, 27 Jun 2006 20:52:24 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809913#M100230</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-06-27T20:52:24Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809914#M100231</link>
      <description>Only the ncurses libraries are statically linked. The other libraries used are dynamically linked.&lt;BR /&gt;&lt;BR /&gt;/usr/lib/libc.2&lt;BR /&gt;/usr/lib/libdld.2&lt;BR /&gt;/usr/lib/libm.2&lt;BR /&gt;/usr/local/lib/libstdc++.sl &lt;BR /&gt;&lt;BR /&gt;I'll see if I can get hold of a stack trace, as I feel a weakness in the force.</description>
      <pubDate>Wed, 28 Jun 2006 04:02:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809914#M100231</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-28T04:02:27Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809915#M100232</link>
      <description>It gets weirder. I have compiled on a 64-bit 11.00 box (B1000) and it won't run on another 64-bit 11.00 box (D390). Anything using ncurses core dumps, even though the ncurses libraries were statically linked, anything not using ncurses is fine.</description>
      <pubDate>Fri, 30 Jun 2006 03:18:13 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809915#M100232</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-30T03:18:13Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809916#M100233</link>
      <description>Finally got a stack trace&lt;BR /&gt;&lt;BR /&gt;#0  0x0004702c in postprocess_termcap ()&lt;BR /&gt;#1  0x00046678 in _nc_parse_entry ()&lt;BR /&gt;#2  0x0003fd68 in _nc_read_entry_source ()&lt;BR /&gt;#3  0x0003b6b8 in _nc_read_termcap_entry ()&lt;BR /&gt;#4  0x0002baf0 in grab_entry ()&lt;BR /&gt;#5  0x0002bfd0 in _nc_setupterm ()&lt;BR /&gt;#6  0x0002c1c8 in setupterm ()&lt;BR /&gt;#7  0x00030ae4 in newterm ()&lt;BR /&gt;#8  0x00025380 in initscr ()&lt;BR /&gt;Cannot access memory at address 0xffffea6d&lt;BR /&gt;&lt;BR /&gt;Definitely the ncurses5.5 library that is core-dumping then.&lt;BR /&gt;&lt;BR /&gt;Why is it using a termcap function, I though ncurses preferred terminfo entries?&lt;BR /&gt;</description>
      <pubDate>Fri, 30 Jun 2006 15:51:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809916#M100233</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-30T15:51:37Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809917#M100234</link>
      <description>That is one of the options when ncurses is build. Configure can build a makefile that causes curses to fallback on termcap when a terminfo for a particular TERM is not found. You can also build it to use terminfo only -- or termcap only.&lt;BR /&gt;&lt;BR /&gt;Actually they may be a few cases where termcap makes sense because unlike terminfo, terminfo can deal with completely ad hoc capability names that you make up yourself. The terminfo compiler would choke on a madeup capability name.&lt;BR /&gt;&lt;BR /&gt;I suspect that you may be running on boxes which do not have matching terminfo entries but do have matching termcap entries and the fallback is what is killing you and why it works on some boxes and doesn't on others. The OS "bitness" probably has nothing to do with it. &lt;BR /&gt;&lt;BR /&gt;Amazingly now that I have a stack trace, "The Force" seems stronger.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 30 Jun 2006 16:18:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809917#M100234</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-06-30T16:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809918#M100235</link>
      <description>Now that the force is stronger, any ideas on how to proceed?&lt;BR /&gt;&lt;BR /&gt;I have TERM=vt100&lt;BR /&gt;I have TERMINFO=/usr/share/terminfo&lt;BR /&gt;&lt;BR /&gt;I have /usr/local/share/terminfo/v/vt100&lt;BR /&gt;I have /usr/share/lib/terminfo/v/vt100&lt;BR /&gt;&lt;BR /&gt;I have also tried TERM=vt220, TERM=hp etc.&lt;BR /&gt;&lt;BR /&gt;How do I configure ncurses to not use TERMCAP for instance?</description>
      <pubDate>Fri, 30 Jun 2006 16:27:16 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809918#M100235</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-30T16:27:16Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809919#M100236</link>
      <description>Run configure -h to list the build options for configure but I think it is --disable-termcap. I only run ncurses on Linux and even there I had to fix a problem with signal handling as ncurses was causing SIGINT's to be ignored eventhough a signal handler was in place. &lt;BR /&gt;&lt;BR /&gt;Also make sure that your application code isn't being compiled with one set of header files &lt;CURSES.H&gt; and ncurses another so that structs are slightly different.&lt;/CURSES.H&gt;</description>
      <pubDate>Fri, 30 Jun 2006 16:47:24 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809919#M100236</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-06-30T16:47:24Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809920#M100237</link>
      <description>I've just rebuilt the ncurses using --disable-termcap (good guess by the way). I am rebuilding the application and will try it on the "problem" server. &lt;BR /&gt;&lt;BR /&gt;Presumably the ncurses library will throw an error if it can't find a suitable terminfo, as I've asked it not to fall-back on termcap?&lt;BR /&gt;&lt;BR /&gt;I'm also getting a copy of the terminfo files from the "problem" server to see if I can "break" my system by using them. If I could only get it to break here, I'd be one step closer to fixing it!</description>
      <pubDate>Fri, 30 Jun 2006 16:55:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809920#M100237</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-06-30T16:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809921#M100238</link>
      <description>While you are building, I would build with -g so that you get the full debugger info in the objects --- that should make finding Darth Curses rather easy.</description>
      <pubDate>Fri, 30 Jun 2006 17:14:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809921#M100238</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-06-30T17:14:43Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809922#M100239</link>
      <description>(Partial) success. The rebuilt ncurses doesn't core-dump (I rebuilt it to not use termcap). Instead it says error opening termianl, when TERM is set to "vt100", "vt220", "xterm" etc. There do appear to be terminfo definitions for all of these terminal types, so I rebuild the ncurses library with debugging symbols termcap enabled and try to see why (specifically) core-dumps. I also need to find out why it can't use the terminfo database.&lt;BR /&gt;&lt;BR /&gt;Is there a quick way to verify the terminfo database files?</description>
      <pubDate>Sat, 01 Jul 2006 08:11:44 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809922#M100239</guid>
      <dc:creator>Stephen Keane</dc:creator>
      <dc:date>2006-07-01T08:11:44Z</dc:date>
    </item>
    <item>
      <title>Re: 32/64-bit portabliity</title>
      <link>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809923#M100240</link>
      <description>Generally you can run "untic vt200 &amp;gt; vt200.txt" or "infocmp vt200 &amp;gt; vt200.txt" to "uncompile" the binary. I'm betting that if you tic (using the ncurses version) then your problems will be fixed. Off the top of my head, ncurses expects the terminfo library to be under /usr/local/lib rather than the traditional /usr/lib.</description>
      <pubDate>Sat, 01 Jul 2006 21:10:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/32-64-bit-portabliity/m-p/3809923#M100240</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-07-01T21:10:15Z</dc:date>
    </item>
  </channel>
</rss>

