Discussion:
Some buildsystem issues
Jörg Frings-Fürst
2014-09-07 19:17:12 UTC
Permalink
Hello,

on my work on the new argyll package I found some issues:

- on debian sid the tiffio.h is installed on
/usr/include/x86_64-linux-gnu or
/usr/include/i386-linux-gnu

- libtiff.(so|a) are also installed on
/usr/lib/i386-linux-gnu

- The if clauses
if ! $(BUILTIN_TIFF) && $(UNIX) and
if ! $(HAVE_TIFF) || $(BUILTIN_TIFF)
don't run with the default shell "/bin/sh".
With "/bin/bash" it seems ok.

- The debhelper build flags
$(CPPFLAGS) and
$(LDFLAGS)
are not included.

For this I have the patch file 15_jam.patch attached.


CU
Jörg
--
pgp Fingerprint: 7D13 3C60 0A10 DBE1 51F8 EBCB 422B 44B0 BE58 1B6E
pgp Key: BE581B6E
CAcert Key S/N: 0E:D4:56

Jörg Frings-FÌrst
D-54526 Niederkail

Threema: SYR8SJXB

IRC: j_f-f-0M+Kt+***@public.gmane.org
j_f-f-***@public.gmane.org
Graeme Gill
2014-09-09 06:46:01 UTC
Permalink
Jörg Frings-Fürst wrote:

Hi,
Post by Jörg Frings-Fürst
- on debian sid the tiffio.h is installed on
/usr/include/x86_64-linux-gnu or
/usr/include/i386-linux-gnu
- libtiff.(so|a) are also installed on
/usr/lib/i386-linux-gnu
Yes, the different Linux systems seem to keep moving
them around. Makes it difficult for applications to find
them. V1.7 Beta includes some fixes for this.
Post by Jörg Frings-Fürst
- The if clauses
if ! $(BUILTIN_TIFF) && $(UNIX) and
if ! $(HAVE_TIFF) || $(BUILTIN_TIFF)
don't run with the default shell "/bin/sh".
With "/bin/bash" it seems ok.
I'm not quite sure what you mean. One problem I constantly
come across is that some critical environment variables are
not exported by default, ie. $OSTYPE $MACHTYPE $HOSTTYPE

Is that perhaps what you mean ?
Post by Jörg Frings-Fürst
- The debhelper build flags
$(CPPFLAGS) and
$(LDFLAGS)
are not included.
Neither CPPFLAGS nor LDFLAGS are part of Jambase. Unless they are
standard environment variables used across a lot of Unix like systems,
I'm not inclined to include them.

What functionality are you getting from them ?

Graeme Gill.
Jörg Frings-Fürst
2014-09-10 06:58:49 UTC
Permalink
Hi Graeme,
Post by Graeme Gill
Hi,
Post by Jörg Frings-Fürst
- on debian sid the tiffio.h is installed on
/usr/include/x86_64-linux-gnu or
/usr/include/i386-linux-gnu
- libtiff.(so|a) are also installed on
/usr/lib/i386-linux-gnu
Yes, the different Linux systems seem to keep moving
them around. Makes it difficult for applications to find
them. V1.7 Beta includes some fixes for this.
Post by Jörg Frings-Fürst
- The if clauses
if ! $(BUILTIN_TIFF) && $(UNIX) and
if ! $(HAVE_TIFF) || $(BUILTIN_TIFF)
don't run with the default shell "/bin/sh".
With "/bin/bash" it seems ok.
I'm not quite sure what you mean. One problem I constantly
come across is that some critical environment variables are
not exported by default, ie. $OSTYPE $MACHTYPE $HOSTTYPE
The not exported vars was my first idea, too. But it wasn't.

First I check the vars via echo. That looks ok.

Then I split the if clauses into

if ! $(BUILTIN_TIFF) {
if $(UNIX) { ...

This works correctly.

After change the default shell to /bin/bash the

if ! $(BUILTIN_TIFF) && $(UNIX)

works fine. The if ! $(HAVE_TIFF) || $(BUILTIN_TIFF) too.

I think that is a trouble with the default shell. /bin/sh was linked
to /bin/dash.
Post by Graeme Gill
Is that perhaps what you mean ?
Post by Jörg Frings-Fürst
- The debhelper build flags
$(CPPFLAGS) and
$(LDFLAGS)
are not included.
Neither CPPFLAGS nor LDFLAGS are part of Jambase. Unless they are
standard environment variables used across a lot of Unix like systems,
I'm not inclined to include them.
What functionality are you getting from them ?
The debhelper *FLAGS are used for setup | enable cross compiling,
hardening, debug and so on..
Post by Graeme Gill
Graeme Gill.
CU
Jörg
--
pgp Fingerprint: 7D13 3C60 0A10 DBE1 51F8 EBCB 422B 44B0 BE58 1B6E
pgp Key: BE581B6E
CAcert Key S/N: 0E:D4:56

Jörg Frings-FÌrst
D-54526 Niederkail

Threema: SYR8SJXB

IRC: j_f-f-0M+Kt+***@public.gmane.org
j_f-f-***@public.gmane.org
Graeme Gill
2014-09-10 08:17:01 UTC
Permalink
Post by Jörg Frings-Fürst
Post by Graeme Gill
not exported by default, ie. $OSTYPE $MACHTYPE $HOSTTYPE
The not exported vars was my first idea, too. But it wasn't.
First I check the vars via echo. That looks ok.
Hi,
that doesn't mean that they are exported, that just
shows that they are shell variables. To check if they
are exported, look for them in the output of the env command.
Post by Jörg Frings-Fürst
The debhelper *FLAGS are used for setup | enable cross compiling,
hardening, debug and so on..
Maybe they can be dealt with in the Jamtop file, like the
DESTDIR & PREFIX variables ?

Graeme Gill.
Jörg Frings-Fürst
2014-09-10 13:38:14 UTC
Permalink
Hi Graeme,
Post by Graeme Gill
Post by Jörg Frings-Fürst
Post by Graeme Gill
not exported by default, ie. $OSTYPE $MACHTYPE $HOSTTYPE
The not exported vars was my first idea, too. But it wasn't.
First I check the vars via echo. That looks ok.
Hi,
that doesn't mean that they are exported, that just
shows that they are shell variables. To check if they
are exported, look for them in the output of the env command.
Clear. Sorry that I did not accurately described.

I have tested it indriectly:



echo "Pos 1"
if .... {
echo "Pos 2"
if .... {
echo "Pos 3"

--->
Pos 1
Pos 2
Pos 3
Using system TIFF library
Using Argyll TIFF library


and

echo "Pos 1"
if (....) && (....) {
echo "Pos 2"

--->
Pos 1
Using Argyll TIFF library


I think that this comes from the very strict dash syntax.
Post by Graeme Gill
Post by Jörg Frings-Fürst
The debhelper *FLAGS are used for setup | enable cross compiling,
hardening, debug and so on..
Maybe they can be dealt with in the Jamtop file, like the
DESTDIR & PREFIX variables ?
I test it this evening.
Post by Graeme Gill
Graeme Gill.
CU
Jörg
--
pgp Fingerprint: 7D13 3C60 0A10 DBE1 51F8 EBCB 422B 44B0 BE58 1B6E
pgp Key: BE581B6E
CAcert Key S/N: 0E:D4:56

Jörg Frings-FÌrst
D-54526 Niederkail

Threema: SYR8SJXB

IRC: j_f-f-0M+Kt+***@public.gmane.org
j_f-f-***@public.gmane.org
Loading...