On Mon, 2020-01-06 at 16:58 +0000, Anton Ivanov wrote:
> 
> On 06/01/2020 16:21, Ritesh Raj Sarraf wrote:
> > Control: tag -1 +help
> > 
> > On Mon, 2020-01-06 at 10:38 +0100, Sjoerd Simons wrote:
> > > On my sid system:
> > > ```
> > > $ strings /usr/bin/linux.uml | grep port-helper
> > > /usr/lib//uml/port-helper
> > > ```
> > > 
> > > So the path is still incorrect even with newer upstream kernels.
> > 
> > I spent some time today looking at the new build but I haven't been
> > able to ascertain why this isn't setting the correct path.
> 
> It is used in a "user" side file - xterm.c
> 
> None of these sees "CONFIG_" so it considers it undef-ed which
> defaults 
> to 32 bit.

Is there any reason why the port helper is in the weird `/usr/lib64`
that seems more like a redhat-ism; On Debian if it's proper multi arch
under `/usr/lib/x86_64-linux-gnu/`..

However uml-utilities can't be installed for multiple architectures on
one system anyway (as it ships binaries). So there is little point in
try to being multi-arch-like (or just awkward :p)...

So to me the most practical and straight-forward solution would
probably be to revert the broken kernel patch and change the uml-
utilities package instead to always install in a single spot.

> You need to use some other way to figure out what is the build or to
> set 
> OS_LIB_PATH for this case.
> 
> > ```
> > $ strings `which  linux.uml` | grep port-helper
> > /usr/lib/uml/port-helper
> > ```
> > 
> > First, for context to the readers here, the port-helper binary is
> > shipped with uml-utilities package. This package, depending on the
> > architecture, installs the binary to a architecture specific
> > location.
> > 
> > https://sources.debian.org/src/uml-utilities/20070815.2-1/Makefile/#L10
> > 
> > Which on an amd64 machine is: /usr/lib64/uml/port-helper
> > 
> > ```
> > $ dpkg  -S /usr/lib64/uml/port-helper
> > uml-utilities: /usr/lib64/uml/port-helper
> > ```
> > 
> > The UML setup on my box always worked because long back, when I
> > first
> > encountered this problem, I had created a symlink of the path to
> > /usr/lib/ too. And had completely forgotten about it. My apologies.
> > 
> > 
> > But that said, the current problem is with the UML binary built by
> > the
> > kernel sources.
> > Problem is that, as mentioned above and other reports too on this
> > bug
> > report thread, the path resolved at build time is always
> > "/usr/lib/uml/".
> > 
> > The build configuration and the code are all correct.
> > 
> > ```
> > $ grep 64BIT .config
> > CONFIG_64BIT=y
> > CONFIG_64BIT_TIME=y
> > CONFIG_PHYS_ADDR_T_64BIT=y
> > CONFIG_ARCH_DMA_ADDR_T_64BIT=y
> > ```
> > 
> > 
> > Snipped from: arch/um/include/shared/os.h
> > 
> > ```
> > #ifdef CONFIG_64BIT
> > #define OS_LIB_PATH     "/usr/lib64/"
> > #else
> > #define OS_LIB_PATH     "/usr/lib/"
> > #endif
> > ```
> > 
> > I also checked the generated include headers and they are correct
> > for
> > the amd64 .config file.
> > 
> > ```
> > linux-source-5.4/include/generated$ grep 64BIT autoconf.h
> > #define CONFIG_64BIT_TIME 1
> > #define CONFIG_PHYS_ADDR_T_64BIT 1
> > #define CONFIG_64BIT 1
> > #define CONFIG_ARCH_DMA_ADDR_T_64BIT 1
> > ```
> > 
> > I'll keep looking as time permits but if anyone else has ideas on
> > what
> > I may be doing wrong, please do mention.
> > 
> > Thanks,
> > Ritesh
> > 
> > 
> > _______________________________________________
> > linux-um mailing list
> > linux...@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-um
> > 

Reply via email to