MantisBT - NetSurf
View Issue Details
0002627NetSurfGTK-specificpublic2018-10-21 14:522018-11-03 11:26
Reporterq3cpma 
Assigned To 
PrioritynormalSeverityminorReproducibilityunable to reproduce
StatusclosedResolutionno change required 
PlatformGNU/LinuxOSGentooOS Version2.4.1
Product Version3.8 
Target VersionFixed in Version 
Fixed in CI build #
Reported in CI build #
URL of problem page
Summary0002627: Build of all tarball fails with `No rule to make target 'default.css', needed by 'build/Linux-gtk/netsurf_gresource.c'`
DescriptionTrying to build netsurf from the tarball containing everything, I get the error:

MSGSPLIT: Language: fr Filter: gtk
make[1]: *** No rule to make target 'default.css', needed by 'build/Linux-gtk/netsurf_gresource.c'. Stop.
make[1]: *** Waiting for unfinished jobs....


I'm trying to build it this way since Gentoo is stuck on 3.6 (and the package maintainer is non responsive).
Steps To ReproduceThe exact command used was:

CFLAGS="-O3 -march=native -pipe" make -j8 >build.log 2>&1

But a simple make -j1 produced the same error.
TagsNo tags attached.
Attached Fileslog build.log (61,581) 2018-10-21 14:52
https://bugs.netsurf-browser.org/mantis/file_download.php?file_id=570&type=bug

Notes
(0001856)
Vincent Sanders   
2018-11-03 08:43   
This is caused by the tool glib-compile-resources being unable to find the resource files it requires.

default.css is a symbolic link from frontends/res/default.css to resources/default.css

it appears that in the sources you have unpacked teh default.css symbolic link is not working. We verified the source tarball downloaded from the netsurf website does unpack and build correctly.

$ ls -al frontends/gtk/res/default.css
lrwxrwxrwx 1 vince vince 30 Aug 29 11:32 frontends/gtk/res/default.css -> ../../../resources/default.css
$ ls -al resources/default.css
-rw-r--r-- 1 vince vince 5181 Aug 29 11:32 resources/default.css

Unfortunately the resource compilation tool does not generate errors or valid dependency filenames if a resource cannot be located so there is no way to detect or fix this error in the makefile
(0001857)
Daniel Silverstone   
2018-11-03 08:44   
Hi q3cpma,

From the looks of your build log, and some rummaging that Vincent and myself did last night, it looks as though the symbolic links in the tarball are not working.

It's not uncommon for `Downloads` directories to be mounted "interestingly" to prevent things like symbolic links.

Could you please confirm that:

(a) your filesystem supports symbolic links
(b) they're not prevented in/under your Downloads directory
(c) the link at netsurf-all-3.8/netsurf/frontends/gtk/res/defaults.css is present
(d) that the link is correct (../../../resources/defaults.css)

If any of the above fail, then you could try unpacking the tarball elsewhere on your system to build it. If all of the above is OK then we'll have to think again.

Thank you,

Daniel.
(0001858)
q3cpma   
2018-11-03 10:11   
Sorry, this was my fault, it looks like pax has a bug where the -s options acts on symlink targets rather than names.
(0001859)
Vincent Sanders   
2018-11-03 11:26   
thankyou for the feedback, closing the bug

Issue History
2018-10-21 14:52q3cpmaNew Issue
2018-10-21 14:52q3cpmaFile Added: build.log
2018-10-23 20:30Vincent SandersStatusnew => acknowledged
2018-10-23 20:30Vincent SandersCategoryGeneral => GTK-specific
2018-11-03 08:43Vincent SandersNote Added: 0001856
2018-11-03 08:43Vincent SandersReproducibilityalways => unable to reproduce
2018-11-03 08:43Vincent SandersStatusacknowledged => closed
2018-11-03 08:43Vincent SandersResolutionopen => unable to reproduce
2018-11-03 08:44Daniel SilverstoneNote Added: 0001857
2018-11-03 10:11q3cpmaStatusclosed => feedback
2018-11-03 10:11q3cpmaResolutionunable to reproduce => reopened
2018-11-03 10:11q3cpmaNote Added: 0001858
2018-11-03 11:26Vincent SandersStatusfeedback => closed
2018-11-03 11:26Vincent SandersResolutionreopened => no change required
2018-11-03 11:26Vincent SandersNote Added: 0001859