-
Notifications
You must be signed in to change notification settings - Fork 75
uname -m shows wrong architecture #12
Comments
Docker itself officially supports only the 64bit arch. I don't know how the |
Read again my post. Build scripts are using calls like me$ linux32 uname -m Prefixing each command line with |
This is not a Docker problem and neither a 32bit/ubuntu problem. Just make an alias like this: |
alias doesn't work in scripts and Dockerfiles, but |
Thanks for the workaround @daald! This is what I was missing! |
To fix this problem for all invocations of
This replaces |
Alternatively you can just replace
|
@jcoffland You understand that uname is a system call right? This will NOT help. |
@remram44 you should try it before commenting. |
Your code will fix direct calls to the uname binary but anything using the system call directly will still be broken. You fix a very small part of the issue here. |
@remram44 You're thinking about an idealized solution. I'm presenting a practical one. The title of this issue is uname -m shows wrong architecture. My solution solves that problem. |
You should consider working for Volkswagen. "See? The tests pass now!" You could also replace uname by a script that always prints "i686" no matter the command-line? What's the point of lying to the user while apt-get, compilers and everything else will still explode in his face? ioft/u386-ubuntu has been fixed, so it's what I'll use. Unsubscribing from this version that does not seem supported anyway. |
Yes guys, this is a simple solution, built for simple people, by a simple guy, who does not even need to use it anymore. Actually I don't understand anything at all from the discussion above. So, if you can find any better solution, please follow it. Alternatively, you can try to improve this one (just for the sake of the namespace: docker-32bit). If you need access rights for this, please ask me. |
The fix is |
@remram44 We cannot apply such a fix because the script does not create a Dockerfile, but rather uses Docker directly. @dashohoxha Given your last statement, do you think it would make sense to deprecate the repo officially in the Readme and link to the alternative @remram44 mentioned? |
My last statement was: if you can, please help to keep this repo up-to-date and to improve it. Actually I don't even understand the bug that is being discussed here. Are they trying to run a 32bit container inside a 64bit host, but it does not work as expected? What actually are the expectations for such a situation? |
Exactly. Compilation fails because uname reports architecture correctly according to the running kernel. Prefixing every command with linux32 is a hack that wraps the processes in the docker into another environment that pretends the computer is running on a 32-bit architecture (as described here for example: http://linux.die.net/man/8/linux32 ). The reason I would like to deprecate this repo is not that missing feature in particular, but the fact that due to a missing Dockerfile in the setup we will not be able to specify the container's creation in detail. Apparently, someone else already did a better job at that; a similarly easy solution that seems to provide more flexibility and apparently is better aligned with Docker's general architecture. Deprecating the repo is not the same as deleting it. We would only claim that our hands are tied and development and usage should continue elsewhere (and I think that seems to be the case, given the script's limitations, also the ones we discussed in my original pull request). The code would not be lost -- if your approach turns out to be more useful for some reason, we can easily remove the deprecation note and continue working here. |
This project would be deprecated if the docker command "import" was deprecated. Otherwise it is just a different approach, neither better nor worse than the others. |
In my opinion, that is not a missing feature. Also, the lack of Dockerfile is not a problem, because we just build the image, we don't give the details of the container. The users can use this image within their own Dockerfile and specify the container details for themselves.
I don't agree that they are more flexible or better solutions. But if you wish you can add on README a list of 2-3 links to similar projects, so that the users are better informed about their choises. By the way, did you stop using this project? Let me know if you don't want to maintain it anymore, so that I can look for other maintainers. |
Honestly, I stopped using Docker altogether due to a lot of bugs and limitations that bothered me, so if you like you can revoke my admin rights again. Thanks! |
Thanks for letting me know. |
I normally put something like this in my x86 32 bit dockers:
Hacky, but it's hard to avoid |
Running
uname -m
show the wrong architecture:this is a problem for autoconf/automake because it will not be able to detect the arch correctly.
You can hack around this using:
I tried to fix it permanently using ...
... but the result was the parameters (-m for uname) were not submitted correctly anymore.
For completeness: Docker itself should provide an ARCH command for Dockerfiles to avoid this problem
The text was updated successfully, but these errors were encountered: