LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM
User Name
Password
Slackware - ARM This forum is for the discussion of Slackware ARM.

Notices


Reply
  Search this Thread
Old 04-20-2018, 08:17 AM   #1
czezz
Member
 
Registered: Nov 2004
Distribution: Slackware/Solaris
Posts: 759

Rep: Reputation: 39
Errors while compiling webkitgtk-2.4.9


Hi,
im trying to compile webkitgtk-2.4.9 using SlackBuild (https://slackbuilds.org/repository/1...ies/webkitgtk/) on Slackware-ARM (Raspberry Pi)
Code:
bash-4.2# uname -a
Linux slackarm 4.4.18+ #905 Fri Aug 19 19:04:48 BST 2016 armv6l BCM2708 GNU/Linux
Unfortunately compiltion fails with following:

Code:
.
.
.
/tmp/ccelJl0H.s:6457: Error: selected processor does not support ARM mode `vmrs apsr_nzcv,fpscr'
make[1]: *** [Source/JavaScriptCore/llint/libjavascriptcoregtk_1_0_la-LowLevelInterpreter.lo] Error 1
make[1]: Leaving directory `/tmp/SBo/webkitgtk-2.4.9'
make: *** [all] Error 2
Its not clear to me what I am missing in my system?
Does anyone understand whats wrong here?

Full log (part I could capture) in attachment to this post.
Attached Files
File Type: log webkit.error.log (73.0 KB, 3 views)

Last edited by czezz; 04-20-2018 at 08:45 AM.
 
Old 04-20-2018, 10:11 AM   #2
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,561

Rep: Reputation: 1078Reputation: 1078Reputation: 1078Reputation: 1078Reputation: 1078Reputation: 1078Reputation: 1078Reputation: 1078
The issue is this assembler instruction
Code:
vmrs apsr_nzcv, fpscr;
Apparently, your assembler (literally named: as) disagree that this instruction is valid for your target CPU architecture.

That could be generated by a GCC issue, sometimes by a smart ass programmer who inserted some assembler code in those files, but usually by the tentative to build for a unsupported CPU architecture.

For example, trying to use ARMv7 hardfloat code in a ARMv6 softfloat architecture.

As a side note, I hope that you are aware that SBO guys does not support ARM architecture, and they simply do no test against it.

So can be very well, just that your SBO SlackBuild to not be compatible with your beloved SlackwareARM, specially that limited armv6l architecture.

Last edited by Darth Vader; 04-20-2018 at 10:16 AM.
 
Old 04-20-2018, 11:05 AM   #3
abga
Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 511

Rep: Reputation: 266Reputation: 266Reputation: 266
@czezz

I remember our ARM Doctor drmozes instructed how to modify the SlackBuilds in order to compile properly on ARM in a post (can't find it ... sorry).
Try modifying the webkitgtk.SlackBuild:

- in the $ARCH checking section:
Code:
else
  SLKCFLAGS="-O2 -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft"
  LIBDIRSUFFIX=""
fi
- and then later on in the --configure section:
Code:
--build=$ARCH-slackware-linux-gnueabi
The requested ARM asm instructions should be available on your platform (hope they work also on SoftFloat):
https://community.arm.com/processors...sons-using-vfp


P.S. Asked the moderators to move this thread to the Slackware ARM subforum
 
Old 04-21-2018, 12:16 PM   #4
drmozes
Slackware Contributor
 
Registered: Apr 2008
Location: Surrey, England
Distribution: Slackware
Posts: 684

Rep: Reputation: 542Reputation: 542Reputation: 542Reputation: 542Reputation: 542Reputation: 542
http://armed.slackware.com/scripts/cflagsarm
 
2 members found this post helpful.
Old 04-23-2018, 08:24 AM   #5
czezz
Member
 
Registered: Nov 2004
Distribution: Slackware/Solaris
Posts: 759

Original Poster
Rep: Reputation: 39
Hi guys,
thank you very much for replies.

I didnt manage to complie webkit even with your advices/sugestions for $ARCH (i tried armv6zk, armv5te).
Too bad, because this is required package to complie Midori browser.

Anyway, thanks for lookign at this post.
 
Old 04-23-2018, 03:35 PM   #6
abga
Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 511

Rep: Reputation: 266Reputation: 266Reputation: 266
Have a look on this old bug report, might be useful to try: "manually disable LLInt by passing DEFINES+=ENABLE_LLINT=0 to qmake"
https://bugreports.qt.io/browse/QTBUG-35681
 
Old 04-24-2018, 05:45 AM   #7
czezz
Member
 
Registered: Nov 2004
Distribution: Slackware/Solaris
Posts: 759

Original Poster
Rep: Reputation: 39
Hi Abga, thank you for this information.
Though, I need here little bit of your help here.

"manually disable LLInt by passing DEFINES+=ENABLE_LLINT=0 to qmake"

I understand that:
I should edit makefile OR config file for makefile in webkitgtk-2.4.9.
--- OR ---
I should edit makefile OR config file for makefile in Qt and recomplie Qt.

Which one is correct?

Last edited by czezz; 04-24-2018 at 05:50 AM.
 
Old 04-24-2018, 06:27 PM   #8
abga
Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 511

Rep: Reputation: 266Reputation: 266Reputation: 266
Basically, you should try to disable the LLINT usage/build in the makefile of webkigtk-2-4.9, because that's where your compilation is failing.

I had a short look at the configure script of the of webkigtk-2-4.9 package and there might be other easier ways to achieve that. Edit the slackbuild, go in the ./configure section and add after "--disable-static " the following (first try only the first, then add the second, finally all 3):
Code:
--disable-jit \
--disable-ftl-jit \
--disable-optimizations \
Some other notes:
- your binutils version on Slackware ARM should be 2.26.xxx, that's in case you've updated your system, and according to the QT bugtrack link, that version should be OK for LLINT
- I'm not sure about the performance impact that you'll get when disabling the JIT/optimizations in the build. Have a look what it's all about (sorry - it was TL;DR for me):
https://webkit.org/blog/3362/introdu...ebkit-ftl-jit/
- there is assembler code in the source files of LLINT and "generic" ARM together with ARMv7 is mentioned in the comments:
https://github.com/WebKit/webkit/tre...riptCore/llint
- try to use the latest code, either adapt the SlackBuild or do some dirty work, pack it into the webkitgtk-2.4.9.tar.xz (renaming also the source folder to match) and feed it to the SlackBuild:
https://webkit.org/getting-the-code/...g-out-with-git
- last but not least, not sure what Raspberry Pi you're using (not detailed in your first post), but if you use an ARMv7/ARMv8 (Pi2/Pi3), then you could load Slackware ARM -current on it and try the compilation again without disabling anything.
 
1 members found this post helpful.
Old 05-01-2018, 05:46 AM   #9
czezz
Member
 
Registered: Nov 2004
Distribution: Slackware/Solaris
Posts: 759

Original Poster
Rep: Reputation: 39
Hi Abga, thank you very much for this input.
I have added "--disable-jit" and that let going/compiling webkit for more than 24h on my Raspberry. I had to stop it and once have a little bit more time, I will set qemu environment to finish it.
This is Raspberry PI model B.


Although mine shows Soc BCM2708 whereas in the above links it is BCM2835.
http://socialcompare.com/en/comparis...els-comparison



Code:
bash-4.2# uname -a
Linux slackarm 4.4.18+ #905 Fri Aug 19 19:04:48 BST 2016 armv6l BCM2708 GNU/Linux
 
Old 05-01-2018, 06:46 AM   #10
abga
Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 511

Rep: Reputation: 266Reputation: 266Reputation: 266
I forgot to warn you that it'll take ages to compile the webkigtk. While looking after ways to disable the LLINT compilation on the Internet I remember reading some reports about a 40-50 hours compilation time.

You have a Pi 1 Model B (discontinued) that has a BCM2835 single core armv6 CPU, BCM2708 is the family/generic name of which BCM2835 belongs to
https://www.adafruit.com/product/998

https://github.com/raspberrypi/linux/issues/22
(read the second post by popcornmix)
 
Old 05-01-2018, 12:13 PM   #11
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 230

Rep: Reputation: 67
Quote:
Originally Posted by abga View Post
You have a Pi 1 Model B (discontinued) that has a BCM2835 single core armv6 CPU, BCM2708 is the family/generic name of which BCM2835 belongs to
https://www.adafruit.com/product/998

https://github.com/raspberrypi/linux/issues/22
(read the second post by popcornmix)
Need to inform you that the Raspberry Pi 1 Model B (at this moment in time) is far from being discontinued. Certainly, Farnell are still stocking and selling the RPi 1 model B device, and many other distributers are too.

As far as manufacturing goes, it is relatively expensive to halt a modern production line and reconfigure it for batches of older models (i.e. the Raspberry Pi 1). Apparently, it's only done when there are enough orders to make it worthwhile. So, it's not officially discontinued, but production of the RPi 1 is only done when consumer demand justifies it.

Certain distributers may list the RPi 1 device as 'discontinued' but are only referring to their own stock. I can't find any official statement which supports your claim(s).
 
Old 05-01-2018, 02:10 PM   #12
abga
Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 511

Rep: Reputation: 266Reputation: 266Reputation: 266
@czezz

Please ignore Penthux's off-topic and rather confusing reply. Off-topic because it has nothing to do with your reported problem, confusing because he's referring to a reseller (provided link) that offers Raspberry Pi 1 Model B+ boards and not Raspberry Pi 1 Model B, the Pi 1 Model B+ already replaced the Pi 1 Model B back in 2014.

On topic, you have an armv6 CPU and you cannot load Slackware ARM -current on it - last point in my post #8
 
Old 05-02-2018, 12:42 AM   #13
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 230

Rep: Reputation: 67
Quote:
Originally Posted by abga View Post
@czezz

Please ignore Penthux's off-topic and rather confusing reply. Off-topic because it has nothing to do with your reported problem, confusing because he's referring to a reseller (provided link) that offers Raspberry Pi 1 Model B+ boards and not Raspberry Pi 1 Model B, the Pi 1 Model B+ already replaced the Pi 1 Model B back in 2014.

On topic, you have an armv6 CPU and you cannot load Slackware ARM -current on it - last point in my post #8
OK. Let's spilt hairs over versions of an ARM device which is basically the same except one has 40 GPIO pins instead of 26 GPIO pins and 4 USB ports instead of 2 USB ports. Which for this issue doesn't matter at all. I'm sure there's a few other differences which you would argue that it makes a difference with regards to Slackware ARM. However, it doesn't. The point is no version of the Raspberry Pi (at this moment in time) has been officially discontinued. I dare say if there was enough demand for the Raspberry Pi model B (256MB) then there'd be a production run for it.

The Raspberry Pi model B (256MB/512MB RAM), Raspberry Pi model B+, Raspberry Pi model A, Raspberry Pi model A+, Raspberry Pi Zero and Raspberry Pi Zero W, all use the same system-on-chip; Broadcom BCM2708 700MHz ARM11 ARM1176JZF-S core (ARMv6).

Slackware ARM release history dictates that Slackware ARM -current has a minimum requirement of ARMv7-a architecture and cannot be installed on a Raspberry Pi 1 (any version/revision) which features ARMv6 architecture. Slackware ARM -current can only be installed on a Raspberry Pi 2 and Raspberry Pi 3.
 
Old 05-02-2018, 01:01 AM   #14
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 230

Rep: Reputation: 67
https://www.amazon.com/Raspberry-Pi-.../dp/B008PT4GGC - Raspberry Pi Model B from Element14 @ $39.95 + $4.99 shipping
 
Old 06-05-2018, 08:59 AM   #15
czezz
Member
 
Registered: Nov 2004
Distribution: Slackware/Solaris
Posts: 759

Original Poster
Rep: Reputation: 39
Hey, I just want to let know that hint from Abga (post #8) worked to me (many thanks Abga btw).
This is modified "configure" part in webkitgtk.SlackBuild:

Code:
./configure \
  --prefix=/usr \
  --disable-static \
  --disable-jit \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --with-gtk=2.0 \
  --enable-webkit2=no \
  --enable-geolocation=$GEOCLUE \
  --build=arm-slackware-linux-gnueabi
and the version: webkitgtk-2.4.9
Having this I compiled Midori browser.

Last edited by czezz; 06-05-2018 at 09:01 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] compiling webkitgtk-2.12.4 sithun Slackware 20 10-15-2016 11:45 AM
[SOLVED] Error compiling webkitgtk with gtk2 kcirick Linux From Scratch 3 12-02-2015 10:37 AM
Compiling webkitgtk on raspberry pi Bart_ Slackware - ARM 12 02-04-2014 03:23 PM
[SOLVED] webkitgtk compiling problem in 14.1 stormbr Slackware 9 11-12-2013 01:54 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM

All times are GMT -5. The time now is 08:08 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration