-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
check_osmid throws error on 64 bit linux #5
Comments
I do not have any expierience with Perl yet, but from what I found a possible solution could be to use POSIX uname (add
Since the output of uname seems to be different on Linux and FreeBSD/OpenBSD the check for x86_64 and amd64 is needed (see here). |
I can confirm this. Debian8 returns amd64: |
I think in your example the amd64 is part of the release string and not the machine name. The machine name on Debian is x86_64 as well (in front of GNU/Linux). In my case on Fedora23 it is x86_64 as well, but at least on BSD it will be amd64 and therefore the check is needed. I already implemented what I wrote above and now tested it by doing a complete map build (I ramdomly chose Freizeitkarte_SWE). Everything worked fine for me now. I pushed it to the develop branch of my Github fork of fzk-mde-garmin (see #4). Further testing on different Linux/BSD versions should be done. |
Thanks guys, I'll implement this accordingly into the next release officially... ... just be aware: there are other tools that are only 32bit, which means that some sub commands of mt.pl will fail if you do not have the 32bits library installed. |
In general I think using 64bit Linux is very common these days and therefore the script and the tools should support it without any need for installing additional 32bit libraries. So I am wondering what tools and subcommands you are talking about. Could you please clarify that? |
You're absolutely right, 64bit should be possible... But I will check if there is a 64bit version available now.... I will also check if all other used tools are really 64bit. BTW: I've implemented above in develop branch.... I moved this very first version of 64 bit detection to the starting of the script so I can reuse the result lateron not only for calling osmconvert. Patrik |
OK, great. In case you need someone to do some testing on a 64bit Linux machine, just let me know. I have 2 machines, both running 64bit Fedora available. |
I did some additional changes, moved the 64bit detection to separate subroutine and added the other uname variables too in that 'detection' subroutine... as well as all this stuff has been added to the output of the action 'fingerprint'. Regarding testing: good to know as we have the 32bit libraries installed.... I'm wondering if building one map from a - z is running through is really running on 64bit only (without 32bit libraries): Prepare Map Data (pmd) for LUX (small enough for quick tests):
Build Map Language (bml) for LUX:
I assume building the gmap with jmc_cli will fail.... I didn't find any 64bit version. |
A workaround is to create a gmap folder and install it via JaVaWa. That's what my workflow to create a EUROPE map. |
thanks for the test. Given failure is due to the fact that the NSIS (Null Soft Installer) isn't installed, unfortunately this is on the linux side not part of the development environment fzk-mde-garmin. BTW: regarding jmc_cli: at the moment it doesn't look that good to get a 64bit version of that tool as it's not pure C or anything else we could just compile on linux.... it's inside a proprietary IDE called xojo |
Question: wouldn't the "create-gmap-and-use-javawa-to-install-way" be a valid alternative for people who cannot or dont want to create maps under windows but in the end want to use the maps in windows environments? |
there are always several ways to reach the aim.... it can also be assumed that most of the persons building their maps on their own are quite knowledged on one or the other platform. |
Please find attached the outputs of running both commands on my Machine (Fedora 23 - x86_64 - no 32bit libs) What I saw is that jmc_cli failed, which was expected since there is no 64bit version of it. |
many thanks for the tests and the output... I'll check/fix that as soon as I have some more time. |
But is there another way (planed?) to build maps as a windows-installer under 64bit linux? |
actually nothing is planned..... the tool, btw, is 64bit, it's just something that needs to be installed and is, like a few other 'basic' tools, not part of the distributed Development Environment. |
I did not have a look in that, but related to the missing NSIS (or other tools not being in the part of the development env.) I think it would be nice to have a message pointing the user in the right direction. Just explain that it needs to be installed separately or even give some links to what is needed if possible. Besides this I wanted to have a look at the jmc_cli thing, but sadly it seems to be not an open source tool. I also found that page, explaining that 64bit support is in beta for Xojo (and started in a quite new version 2015 Release 3 which might not be what is used for jmc_cli). |
Update on this: |
in release 16.07, mt.pl line 1276ff there is only an elsif case for 32 bit linux. there needs to be another check for 64 bit linux since osmconvert32 won't work in 64 bit environment due to missing libraries.
e.g.:
/home/LATEST/tools/osmconvert/linux/osmconvert32: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
The text was updated successfully, but these errors were encountered: