View Issue Details

IDProjectCategoryView StatusLast Update
0007486TalerWeb site(s)public2023-02-17 16:33
Reporternervuri Assigned ToStefan  
Status closedResolutionreopened 
Fixed in Version0.9.1 
Summary0007486: tsc no longer used, but build fails if it is not installed
DescriptionI cloned the www.git repo, followed the instructions in 'INSTALL', but got the following error when running 'configure':

Error: tool 'tsc' not available

The 'tsc' tool was used in the Makefile for compiling TypeScript (see commit bddc04c). Now I can't find it anywhere. It looks like tsc is no longer used and can be removed from 'build-system/'. I did, and the build works.

The attached patch also corrects a comment in the Makefile.
TagsNo tags attached.
Attached Files
tsc.patch (653 bytes)   
diff --git a/Makefile b/Makefile
index 3b89192..42255a2 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
 include build-system/
-# All: build HTML pages in all languages and compile the
+# All: build HTML pages in all languages.
 .PHONY: all
diff --git a/build-system/ b/build-system/
index e1eadc8..e841dca 100644
--- a/build-system/
+++ b/build-system/
@@ -22,7 +22,6 @@ b.use(PosixTool("mkdir"))
tsc.patch (653 bytes)   



2022-11-19 17:33

developer   ~0019455

Hi Nervuri,

just skip the command




2022-11-19 17:37

developer   ~0019456

or use

./configure --variant=tmp

which should work (at least on my local machine)

Thank you for reporting.


2022-11-19 19:04

reporter   ~0019457

Even though I did manage to build the site, I tried your suggestions out of curiosity. If you start with a fresh clone of www.git and skip the ./configure command, 'make' then says:

  Makefile:3: build-system/ No such file or directory
  make: *** No rule to make target 'build-system/'. Stop.

And `./configure --variant=tmp` does not work unless you have 'tsc' installed.

So, like I said, tsc should be removed from 'build-system/' (see tsc.patch above).


Also, the INSTALL file contains this bit:

> Then invoke "bootstrap" and "configure". You must pass
> "--prefix=$P" and "--variant=$V" for some values of
> $P and $V to configure. The actual Web site
> will be installed at $P/$V.

However, that is not true, the website is installed in the `rendered` directory. So what are --prefix and --variant actually used for? Maybe that should be explained in the INSTALL file - which feels like it needs an overhaul, by the way, since it's rather confusing. I made some changes to it, to clarify it for myself. Check the patch below, tell me what you think. I removed `make submodules/init` and `make submodules/update`, since ./bootstrap already takes care of that (also, `make submodules/init` doesn't even work).
clarify-installation-instructions.patch (1,565 bytes)   
From f5593e89e6cbdabe3ee5fe0ecb7cc3b3d2bc7ee3 Mon Sep 17 00:00:00 2001
From: nervuri <>
Date: Sat, 19 Nov 2022 17:48:00 +0000
Subject: [PATCH Taler website] clarify installation instructions

 INSTALL | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/INSTALL b/INSTALL
index 45dadf7..b53c10e 100644
@@ -1,21 +1,16 @@
 Installation instructions
-For Debian:
+Debian prerequisites
 Simply install:
-# apt-install python3-ruamel.yaml python3-jinja2 python3-babel git
-Then invoke "bootstrap" and "configure". You must pass
-"--prefix=$P" and "--variant=$V" for some values of
-$P and $V to configure.  The actual Web site
-will be installed at $P/$V.
+# apt install python3-ruamel.yaml python3-jinja2 python3-babel git
-For NetBSD:
+NetBSD prerequisites
 Install python3.7, py37-babel, npm, nodejs from pkgsrc.
@@ -24,10 +19,21 @@ Adjust the values in
-make submodules/init
-make submodules/update
+Build website
+Invoke "bootstrap" and "configure".  You must pass
+"--prefix=$P" and "--variant=$V" for some values of
+$P and $V to configure.  Then run "make".  The actual
+Web site will be installed at $P/$V.
+./configure --prefix=$P --variant=$V
+Run website
 env BROWSER=firefox make run
-to run the website


2022-11-19 19:15

reporter   ~0019458

While we're at it, here's one more small fix, which gets `make run` to start the python http server in the "rendered/" dir. This gets the browser to display the favicon. Also, it just makes more sense.

If I ought to make separate issues for these other patches, let me know.
start-python-http-server-in-rendered-dir.patch (695 bytes)   
From 3827b6de552e2d77c915484078f41653b01774b2 Mon Sep 17 00:00:00 2001
From: nervuri <>
Date: Sat, 19 Nov 2022 16:32:58 +0000
Subject: [PATCH Taler website] start python http server in "rendered/" dir

Makes more sense. Also, the browser now shows the favicon.
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 42255a2..b3c9dc9 100644
--- a/Makefile
+++ b/Makefile
@@ -10,8 +10,8 @@ all:
 .PHONY: run
 run: all
-	$(browser) &
-	$(python) -m http.server
+	$(browser) &
+	$(python) -m http.server --directory rendered/
 variant = $(opt_variant)


2022-11-19 19:32

developer   ~0019459

Your suggestions are good points indeed.
Let me assign this bugfix issue to Marcello as he might be more familiar with the build process.
I will update all other 'Install' guidelines for the other web sites in the aftermath.


2022-12-06 14:48

developer   ~0019503

Applied for - The remainder of web pages is about to follow.


2022-12-08 01:10

developer   ~0019504

Successfully applied for


2022-12-08 18:18

developer   ~0019508

Done for


2022-12-09 07:51

developer   ~0019510

Resolved for all web pages.

Websites will be installed in the /rendered/ directory after building them with

If ./configure without parameters does not work, try ./configure --variant=/rendered/

Generally, ./configure tries to be smart about detecting names, if it doesn't find them for you, run
./configure --help or ./configure -h
to find out what could be fitting for you and report this as a bug.


2022-12-09 17:21

reporter   ~0019511

I tested the new code. ./configure without --variant does not work. What is --variant used for, anyway? The website is installed in rendered/ no matter what value I pass to --variant.

The README now says:

> Eventually you must install node-typescript, when your system is demanding for tsc.

But, again, this is not true. If I remove tsc from build-system/, the build works just fine; tsc is not called anywhere in the code. Am I missing something? What is typescript used for?

And if the node-typescript package is really required, why not add it to the installation instructions at the beginning (apt install node-typescript)?

Also, now that the installation instructions are in the README, you should probably remove the INSTALL file, which contains the old instructions.

One more thing: `git clone git+ssh://` won't work unless you have SSH access. For the rest of us, the appropriate command is `git clone`.


2022-12-09 17:46

developer   ~0019512

Hi Nervuri,
as I pointed out before, just skip the command

On my machine it suffices to pass:

Maybe other systems will need to pass
/.configure --variant=/<folder>/

/.configure --variant=/rendered/
works for me but does not affect the result.

True: tsc is not used anymore.

I removed the INSTALL file. Thanks for the hint!


2022-12-11 10:18

reporter   ~0019513

Hi Stefan,

I already replied to you that ./configure can't be skipped. The `make` command requires the build-system/ file, which is generated by ./configure. If you test using a fresh clone of the repo, I'm pretty sure you'll run into the same problem.

And ./configure doesn't work without --variant. However, since --variant is useless, you can remove this line from

b.use(Option("variant", "Variant (used as output directory)"))

Once that's done, ./configure will work without any parameters.


2022-12-21 13:47

developer   ~0019535



2022-12-25 14:27

developer   ~0019539

This issue has been resolved for all web pages including

Issue History

Date Modified Username Field Change
2022-11-19 17:25 nervuri New Issue
2022-11-19 17:25 nervuri Status new => assigned
2022-11-19 17:25 nervuri Assigned To => Stefan
2022-11-19 17:25 nervuri File Added: tsc.patch
2022-11-19 17:33 Stefan Note Added: 0019455
2022-11-19 17:37 Stefan Note Added: 0019456
2022-11-19 19:04 nervuri Note Added: 0019457
2022-11-19 19:04 nervuri File Added: clarify-installation-instructions.patch
2022-11-19 19:15 nervuri Note Added: 0019458
2022-11-19 19:15 nervuri File Added: start-python-http-server-in-rendered-dir.patch
2022-11-19 19:32 Stefan Note Added: 0019459
2022-11-19 19:32 Stefan Assigned To Stefan => MS
2022-12-05 19:21 Stefan Assigned To MS => Stefan
2022-12-06 14:48 Stefan Note Added: 0019503
2022-12-08 01:10 Stefan Note Added: 0019504
2022-12-08 18:18 Stefan Note Added: 0019508
2022-12-09 07:51 Stefan Note Added: 0019510
2022-12-09 07:52 Stefan Status assigned => resolved
2022-12-09 07:52 Stefan Resolution open => fixed
2022-12-09 07:52 Stefan Fixed in Version => 0.9.1
2022-12-09 17:21 nervuri Status resolved => feedback
2022-12-09 17:21 nervuri Resolution fixed => reopened
2022-12-09 17:21 nervuri Note Added: 0019511
2022-12-09 17:46 Stefan Note Added: 0019512
2022-12-11 10:18 nervuri Note Added: 0019513
2022-12-11 10:18 nervuri Status feedback => assigned
2022-12-21 13:47 Stefan Note Added: 0019535
2022-12-25 14:27 Stefan Status assigned => resolved
2022-12-25 14:27 Stefan Note Added: 0019539
2023-02-17 16:33 Christian Grothoff Status resolved => closed