benibela / xidel

Command line tool to download and extract data from HTML/XML pages or JSON-APIs, using CSS, XPath 3.0, XQuery 3.0, JSONiq or pattern matching. It can also create new or transformed XML/HTML/JSON documents.
http://www.videlibri.de/xidel.html
GNU General Public License v3.0
674 stars 42 forks source link

xidel on arm aarch64 #87

Closed 6F3ryYosFLJU closed 2 years ago

6F3ryYosFLJU commented 2 years ago

Hello,

I need to run my program on aarch64 arm machine, but the current build for linuxarm is on armhf, therefore no way to run the program. I tried to build the program myself, but hit some problems.

bash-5.1# ./build.sh -- Building... xqueryparse.pas(35,37) Fatal: Can't find unit strutils used by xqueryparse Fatal: Compilation aborted Error: /usr/bin/ppcarm returned an error exitcode bash-5.1# uname -a Linux eec827aa2463 5.15.30-0-virt #1-Alpine SMP Wed, 23 Mar 2022 11:38:35 +0000 aarch64 Linux bash-5.1#

Is it possible to have build on arm aarch64 as well? Or can i get some insight on how to compile?

Thanks in advance.

benibela commented 2 years ago

xqueryparse.pas(35,37) Fatal: Can't find unit strutils used by xqueryparse

That unit is part of FreePascal

If it is not found, it is not installed properly. It needs to have search paths in fpc.cfg

Is it possible to have build on arm aarch64 as well? Or can i get some insight on how to compile?

https://sourceforge.net/projects/videlibri/files/Xidel/Xidel%20development/

6F3ryYosFLJU commented 2 years ago

Hello, thanks for the reply. Do you mean there is already build on arm aarch64? I only see xidel-0.9.9.20220131.8335.4e6fcea4d02e.linuxarm.tar.gz which is 32-bit ARM armhf. I cannot make it to work on arm aarch64. (The platform I use is oracle cloud arm platform which is 64-bit aarch64, which armhf program cannot not run.

benibela commented 2 years ago

Do you mean there is already build on arm aarch64?

Kind of. There is one for Android aarch64. I did not see you are on Linux. They are basically the same, although the Android one probably won't find the linker/libc and not run on Linux

6F3ryYosFLJU commented 2 years ago

thanks for the reply. I try to work on the android aarch64 image, it seems it require some library of android (liblog.so).

% ldd ./xidel /system/bin/linker64 (0xffffa89e5000) libc.so => /system/bin/linker64 (0xffffa89e5000) Error loading shared library liblog.so: No such file or directory (needed by ./xidel) libdl.so => /system/bin/linker64 (0xffffa89e5000) Error relocating ./xidel: system_property_get: symbol not found Error relocating ./xidel: android_log_write: symbol not found Error relocating ./xidel: __libc_init: symbol not found

benibela commented 2 years ago

I have uploaded a new one

Error: /usr/bin/ppcarm returned an error exitcode

That might be the problem. ppcarm is the 32-bit compiler. The 64-bit compiler is called like ppca64. But build.sh calls fpc not ppc*

6F3ryYosFLJU commented 2 years ago

Thanks very much!!! It works! Thanks!