|
List Info
Thread: Re: Re: More PGS5-Linux and 64-bit no-go
|
|
| Re: Re: More PGS5-Linux and 64-bit
no-go |
  Canada |
2007-04-14 15:55:41 |
|
David Breakey wrote:
> First, set up a 32-bit chroot jail; details can be found in various
> places, but a good one I've used, although it is now a bit out of date
> due to the new 'schroot' package, is:
>
> http://ubuntuforums.org/showthread.php?t=24575
>
Hello again, David. I finally got back to the 64-bit machine and tried
the steps in the HowTo URL you provided. After extrapolating to
'schroot' and 'Edgy' from the 'dchroot' and 'Hoary' used there, I was
roadblocked at schroot.conf. What the HowTo provides is invalid (for
schroot) and a preliminary search in the Ubuntu forums for tips on how
to configure schroot came up dry. Oh, learning Linux is such fun
(especially when all you really want to do is make use of one app:
PageStream).
--
Mike Wilson
> Remember, the above uses the old 'dchroot' package, which is now
> superceded by 'schroot'; current procedures are definitely different
> (simpler, it seems) but I haven't gotten a good handle on it yet. The
> above still works, though, although you'll probably need to install
> 'schroot' instead of 'dchroot' (don't worry; 'schroot' provides
> 'dchroot' compatibility wrappers, since it's intended to be the
> successor to 'dchroot').
>
> Now, switch to your brand-new 32-bit chroot, and install PageStream as
> you would normally, checking for dependencies etc. Remember, you'll
> need to install the 32-bit editions of *everything* that PageStream
> needs (gtk libraries, etc).
>
> I'd recommend just following the procedure documented, and seeing how
> it works, before trying to install anything else, though. Yes, this
> technique uses significant extra drive space (you're installing a
> nearly complete 32-bit Debian/Ubuntu system), but until Debian figures
> out how to seamlessly integrate 64- and 32-bit environments, it's the
> best we've got (they're working on it, but like so much else Debian,
> it's a slow process--chances are, though, it'll work better than
> anything else once they're done).
>
> Now, by using the same trick listed in step 5 of the above process
> (ie: the do_chroot wrapper script), you should be able to launch the
> 32-bit PageStream directly from your 64-bit environment. Only thing to
> remember is that the linked copy *must* be in the same (relative)
> location as it will be found *inside* the 32-bit chroot.
>
> EG: If your PGS executable is in the 32-bit root at
> /opt/pagestream/PageStream5, the do_chroot script *must* be linked to
> a matching relatively-located file in the 64-bit environment (ie:
> /opt/pagestream/PageStream5 -> /usr/local/bin/do_chroot).
>
> The only complicated thing here is remembering that the 32-bit
> environment has *two* representations:
>
> One, is when you access it via the 64-bit environment
> The other, is when you access it from within the 32-bit chroot
>
> As an added bonus, if you tweak the ld.so.conf file correctly (don't
> do this if you don't know what you're doing--it can *seriously* hose
> your system), you can install 32-bit apps directly in the 64-bit
> environment and it will automatically find the "correct" 32-bit
> libraries. I've done this with Google Earth, PageStream and a handful
> of others.
>
> Web browsers seem to be a big exception to this rule, however. You
> (generally) can't use 32-bit plugins in a 64-bit browser. It just
> won't work. However, the nspluginwrapper *may* change all that ...
>
> Incidentally, if you keep getting "Library not found" messages, or
> similar, and you *know* the library it is referencing is present, odds
> are your 32-bit app is trying to link to a 64-bit library--it won't
> work, and it will complain that it can't find the file. Misleading
> error message, but there you go.
>
> --- In PageStreamSupport%40yahoogroups.com">PageStreamSupport yahoogroups.com, Mike Wilson <wilsonmr ...>
> wrote:
>
>> Tim Doty wrote:
>>
>>> On Monday 26 March 2007 19:06, Mike Wilson wrote:
>>>
>>>
>>>> Tim Doty wrote:
>>>>
>>>>
>>>>> Perhaps you used ldd on the wrapper script used to run PgS?
>>>>>
>>>>>
>>>> Nah. I may be dumb, but I'm not stoooopid. 
>>>>
>>>>
>>> not suggesting you were, but that is the result you would get
>>>
> while what I
>
>>> posted is the result of using ldd on the PgS exe. Just checking
>>>
> for the
>
>>> obvious answer.
>>>
>>>
>> At the suggestion of a local usergroup member, I tried 'objdump' and
>> learned that the PageStream5 executable now references *only*
>>
> GLIBC_2.0.
>
>> My hope is that a 32-bit copy, placed in PGS' own directory, will be
>> seen before the 64-bit version. It will be a day or two until I can get
>> my hands on the library in question, though, and probably two more
>>
> weeks
>
>> before I can return to this 64-bit machine and actually carry out the
>> test. 8-(
>> --
>> Mike Wilson
>>
>>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
__._,_.___
.
__,_._,___
|
| Re: Re: More PGS5-Linux and 64-bit
no-go |
  United States |
2007-04-15 16:34:23 |
|
The simplest way to deal with this, I've found, is to set up dchroot
first, then upgrade to schroot; the schroot upgrade process recognizes
the existence of a current dchroot install, and updates it to an schroot
configuration.
This means that there is *probably* a conversion tool somewhere in
schroot. However, for your convenience, here's the relevant part of
my /etc/schroot/schroot.conf file (which works for me):
[ia32]
description=32-bit chroot environment
location=/opt/chroot/ia32
root-groups=root
users=david
personality=linux32
aliases=default
run-setup-scripts=true
"description" "location" and "users" should be changed as appropriate
for you. "root-groups" identifies which groups will be granted root
privs when entering this chroot.
"personality" should be left as "linux32", otherwise the chroot
environment will still identify itself as 64-bit; this may, or may not,
be a problem, but will likely cause confusion otherwise.
"run-setup-scripts" should be left alone, unless you have some specific
requirements for your chroot. These manage things like ensuring that
required filesystems (/proc, /media, /sys, etc) are bound also within
the chroot (otherwise, things *really* won't work).
You do *not* want to just create new copies of all of these
filesystems (esp. /proc and /sys); doing so will only lead to
problems and will be nearly impossible to keep synchronized
(remember, your core kernel still remains the same, even if
you're running inside the 32-bit chroot).
While it *is* possible to manually rebind the necessary
filesystems, it is *much* better to allow schroot to manage
these requirements itself (basically, ignore all the "bind
mount" instructions in setting up a dchroot; schroot will handle
those itself; following the instructions *will* work, for now,
but may break as schroot continues to evolve).
Note the "aliases" line; if this is *not* specified, *and* set to
"default", then schroot has no idea which environment to use, and it
must be specified. This line identifies this section as the default.
Just make sure there is only *one* section defined (or aliased)
as "default". Otherwise, schroot (I believe) will use only the
first one in the conf file it encounters. Or it may abort; I
haven't tested that.
To put it another way:
When you start schroot, it tries to determine *which* of the
configured chroots you intend to use. If you don't specify on
the command line, it assumes a chroot of "default".
You can identify this either by changing the section title (in
my case, [ia32]) to [default], or by specifying this "aliases"
line. I personally feel the latter is preferable.
On Sat, 2007-04-14 at 14:55 -0600, Mike Wilson wrote:
> David Breakey wrote:
> > First, set up a 32-bit chroot jail; details can be found in various
> > places, but a good one I've used, although it is now a bit out of
> date
> > due to the new 'schroot' package, is:
> >
> > http://ubuntuforums.org/showthread.php?t=24575
> >
> Hello again, David. I finally got back to the 64-bit machine and
> tried
> the steps in the HowTo URL you provided. After extrapolating to
> 'schroot' and 'Edgy' from the 'dchroot' and 'Hoary' used there, I was
> roadblocked at schroot.conf. What the HowTo provides is invalid (for
> schroot) and a preliminary search in the Ubuntu forums for tips on
> how
> to configure schroot came up dry. Oh, learning Linux is such fun
> (especially when all you really want to do is make use of one app:
> PageStream).
> --
> Mike Wilson
> > Remember, the above uses the old 'dchroot' package, which is now
> > superceded by 'schroot'; current procedures are definitely different
> > (simpler, it seems) but I haven't gotten a good handle on it yet.
> The
> > above still works, though, although you'll probably need to install
> > 'schroot' instead of 'dchroot' (don't worry; 'schroot' provides
> > 'dchroot' compatibility wrappers, since it's intended to be the
> > successor to 'dchroot').
> >
> > Now, switch to your brand-new 32-bit chroot, and install PageStream
> as
> > you would normally, checking for dependencies etc. Remember, you'll
> > need to install the 32-bit editions of *everything* that PageStream
> > needs (gtk libraries, etc).
> >
> > I'd recommend just following the procedure documented, and seeing
> how
> > it works, before trying to install anything else, though. Yes, this
> > technique uses significant extra drive space (you're installing a
> > nearly complete 32-bit Debian/Ubuntu system), but until Debian
> figures
> > out how to seamlessly integrate 64- and 32-bit environments, it's
> the
> > best we've got (they're working on it, but like so much else Debian,
> > it's a slow process--chances are, though, it'll work better than
> > anything else once they're done).
> >
> > Now, by using the same trick listed in step 5 of the above process
> > (ie: the do_chroot wrapper script), you should be able to launch the
> > 32-bit PageStream directly from your 64-bit environment. Only thing
> to
> > remember is that the linked copy *must* be in the same (relative)
> > location as it will be found *inside* the 32-bit chroot.
> >
> > EG: If your PGS executable is in the 32-bit root at
> > /opt/pagestream/PageStream5, the do_chroot script *must* be linked
> to
> > a matching relatively-located file in the 64-bit environment (ie:
> > /opt/pagestream/PageStream5 -> /usr/local/bin/do_chroot).
> >
> > The only complicated thing here is remembering that the 32-bit
> > environment has *two* representations:
> >
> > One, is when you access it via the 64-bit environment
> > The other, is when you access it from within the 32-bit chroot
> >
> > As an added bonus, if you tweak the ld.so.conf file correctly (don't
> > do this if you don't know what you're doing--it can *seriously* hose
> > your system), you can install 32-bit apps directly in the 64-bit
> > environment and it will automatically find the "correct" 32-bit
> > libraries. I've done this with Google Earth, PageStream and a
> handful
> > of others.
> >
> > Web browsers seem to be a big exception to this rule, however. You
> > (generally) can't use 32-bit plugins in a 64-bit browser. It just
> > won't work. However, the nspluginwrapper *may* change all that ...
> >
> > Incidentally, if you keep getting "Library not found" messages, or
> > similar, and you *know* the library it is referencing is present,
> odds
> > are your 32-bit app is trying to link to a 64-bit library--it won't
> > work, and it will complain that it can't find the file. Misleading
> > error message, but there you go.
> >
> > --- In PageStreamSupport%40yahoogroups.com">PageStreamSupport yahoogroups.com, Mike Wilson <wilsonmr ...>
> > wrote:
> >
> >> Tim Doty wrote:
> >>
> >>> On Monday 26 March 2007 19:06, Mike Wilson wrote:
> >>>
> >>>
> >>>> Tim Doty wrote:
> >>>>
> >>>>
> >>>>> Perhaps you used ldd on the wrapper script used to run PgS?
> >>>>>
> >>>>>
> >>>> Nah. I may be dumb, but I'm not stoooopid. | |