Skip to content
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

Parallel build of documentation fails #47

Open
aelmahmoudy opened this issue May 25, 2020 · 8 comments
Open

Parallel build of documentation fails #47

aelmahmoudy opened this issue May 25, 2020 · 8 comments

Comments

@aelmahmoudy
Copy link
Contributor

Build of documentation fails if make is invoked with parallel build enabled:

{{{
cd doc && make -j4 all-docs
make[2]: Entering directory '/<>/doc'
[CONF2DOC] doc/features.txt
[KEYS2DOC] doc/keymap-actions.txt
[KEYS2DOC] doc/keymap-defaults.txt
[HELP2XML] doc/option-command.frag.xml
[HELP2XML] doc/option-config.frag.xml
[ASCIIDOC] doc/elinkskeys.5.xml
[HELP2XML] doc/option-command.frag.xhtml
[HELP2XML] doc/option-config.frag.xhtml
ERROR: elinkskeys.5.txt: line 97: empty section is not valid
make[2]: *** [Makefile:185: elinkskeys.5.xml] Error 1
}}}

@rkd77
Copy link
Owner

rkd77 commented May 25, 2020

I'll wait until someone rewrite it using CMake.

@rkd77
Copy link
Owner

rkd77 commented Sep 23, 2020

In 0.14.GIT I added meson build system.
Here is sample script to build using meson:

meson build
meson configure build  -Dbrotli=true \
-Dutf-8=true \
-Dtrue-color=true \
-Dgopher=true \
-Dspidermonkey=false \
-Dbzlib=true \
-Dlzma=false \
-Dperl=false \
-Dzlib=true \
-Dbacktrace=false \
-Dcombining=true \
-Dbittorrent=true \
-D88-colors=true \
-D256-colors=true \
-Dlibdom=false \
-Dopenssl=false \
-Dgnutls=true \
-Dlibevent=true \
-Dlibev=false \
-Dterminfo=false \
-Dcgi=true \
-Druby=true \
-Dsm-scripting=false \
-Dpython=true \
-Dzstd=true \
-Dlibdom=true \
-Dwithdebug=false \
-Dluapkg='luajit' \
-Dguile=true \
-Dgpm=false \
-Dprefix=$HOME

meson compile -C build

Also documentation can be build in similar way.

meson compile -C build html

This is work in progress. Please provide ideas, pull requests, issues, etc.

@johnsonjh
Copy link

On autoconf, I'm also getting a parallel build failure in lib.o on macOS:

[MAKE all]   src                                                                                                                                                                                    
[MAKE all]   src/bfu                                                                                                                                                                                
      [LD]   src/lib.o                                                                                                                                                                              
      [CC]   src/bfu/button.o                                                                                                                                                                       
      [CC]   src/bfu/checkbox.o                                                                                                                                                                     
ld: warning: -arch not specified                                                                                                                                                                    
ld: no object files specified                                                                                                                                                                       
make[1]: *** [lib.o] Error 1                                                                                                                                                                        
make[1]: *** Waiting for unfinished jobs....                                                                                                                                                        

I'm working to package felinks for Homebrew. I'll look more into this, and also into meson-based build, once I've done more testing.

@aelmahmoudy
Copy link
Contributor Author

I tried to build using meson, I got this during meson setup:

./meson.build:6:0: ERROR: Program or command 'git' not found or not executable

the build environment doesn't have git.

@aelmahmoudy
Copy link
Contributor Author

It seems that this part in meson.build needs to be wrapped in a check for git availability:

txt = run_command('git', '--git-dir=' + srcdir + '/.git', 'rev-parse', 'HEAD', check:false).stdout().strip()
dirty = run_command(srcdir + '/git-dirty.sh', check:false).stdout().strip()
add_global_arguments('-DBUILD_ID="' + txt + dirty + '"', language : 'c')

otherwise set BUILD_ID to an empty string. Just as was done in src/Makefile

@rkd77
Copy link
Owner

rkd77 commented Apr 22, 2023

OK, please check now.

@aelmahmoudy
Copy link
Contributor Author

That worked, thanks. Yet meson doesn't install the built pdf, html, txt docs.

Built using the command:

ninja -C buildir man html pdf txt

Install using the command:

ninja install man html pdf txt

@aelmahmoudy
Copy link
Contributor Author

Fixed doc installation in: #224

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants