Discussion:
help building inkscape 0.48 on 11.0 - errno.h has no EINVAL or ERANGE defines?
(too old to reply)
David C. Rankin
2010-11-10 23:09:56 UTC
Permalink
Guys,

I'm trying to build inkscape 0.48 for an 11.0 box. The issue I'm running into
is errno.h on 11.0 doesn't contain EINVAL or ERANGE defines resulting in the
following build errors:

dir-util.cpp: In function ‘char* inkscape_rel2abs(const char*, const char*,
char*, size_t)’:
dir-util.cpp:114: error: ‘EINVAL’ was not declared in this scope
dir-util.cpp:180: error: ‘ERANGE’ was not declared in this scope
dir-util.cpp: In function ‘char* inkscape_abs2rel(const char*, const char*,
char*, size_t)’:
dir-util.cpp:201: error: ‘EINVAL’ was not declared in this scope
dir-util.cpp:251: error: ‘ERANGE’ was not declared in this scope
make[2]: *** [dir-util.o] Error 1

Seems like I should be able to work around this with:

#define EINVAL 22
#define ERANGE 34

but where to put them? dir-util.h? Modify the existing /usr/include/errno.h?
What say the build gurus?
--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
--
To unsubscribe, e-mail: opensuse+***@opensuse.org
For additional commands, e-mail: opensuse+***@opensuse.org
Cristian Rodríguez
2010-11-11 00:46:54 UTC
Permalink
/usr/include/linux/limits.h:125:26: error: no include path in which to search
for limits.h
make[2]: *** [bind/javabind.o] Error 1
make[2]: Leaving directory `/home/david/apps/bld/inkscape-0.48.0/src'
What is this include path search for limits.h error?
No idea what inkscape is doing, I suggest you to use

osc getpac inkscape
osc build --alternative-project=DISCONTINUED:openSUSE:11.0:Update
--no-verify

and invoke your favorite $deity, to make it work, good luck ! ;-P
Err.. Looks like a glibc version issue (currently 2.8-14). Is there an easy way
to upgrade glibc from source?
In practise, not really, do that at your own risk.
--
To unsubscribe, e-mail: opensuse+***@opensuse.org
For additional commands, e-mail: opensuse+***@opensuse.org
David C. Rankin
2010-11-10 23:36:24 UTC
Permalink
Post by David C. Rankin
Guys,
I'm trying to build inkscape 0.48 for an 11.0 box. The issue I'm running into
is errno.h on 11.0 doesn't contain EINVAL or ERANGE defines resulting in the
dir-util.cpp: In function ‘char* inkscape_rel2abs(const char*, const char*,
dir-util.cpp:114: error: ‘EINVAL’ was not declared in this scope
dir-util.cpp:180: error: ‘ERANGE’ was not declared in this scope
dir-util.cpp: In function ‘char* inkscape_abs2rel(const char*, const char*,
dir-util.cpp:201: error: ‘EINVAL’ was not declared in this scope
dir-util.cpp:251: error: ‘ERANGE’ was not declared in this scope
make[2]: *** [dir-util.o] Error 1
#define EINVAL 22
#define ERANGE 34
but where to put them? dir-util.h? Modify the existing /usr/include/errno.h?
What say the build gurus?
Progress,

I can get dir-util.o to build by including the following in dir-util.cpp

#include <asm-generic/errno-base.h>

which looks like where the normal EINVAL and ERANGE defines are in 11.0. I can
get it to build for another 15 minutes or so, then I run into a bind/javabind.o
issue:

CXX bind/javabind.o
In file included from /usr/include/bits/local_lim.h:39,
from /usr/include/bits/posix1_lim.h:153,
from /usr/include/dirent.h:232,
from bind/javabind.cpp:37:
/usr/include/linux/limits.h:125:26: error: no include path in which to search
for limits.h
make[2]: *** [bind/javabind.o] Error 1
make[2]: Leaving directory `/home/david/apps/bld/inkscape-0.48.0/src'

What is this include path search for limits.h error?
--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
--
To unsubscribe, e-mail: opensuse+***@opensuse.org
For additional commands, e-mail: opensuse+***@opensuse.org
David C. Rankin
2010-11-11 00:16:36 UTC
Permalink
/usr/include/linux/limits.h:125:26: error: no include path in which to search
for limits.h
make[2]: *** [bind/javabind.o] Error 1
make[2]: Leaving directory `/home/david/apps/bld/inkscape-0.48.0/src'
What is this include path search for limits.h error?
Err.. Looks like a glibc version issue (currently 2.8-14). Is there an easy way
to upgrade glibc from source? Anything special for opensuse not covered by:

http://www.icewalkers.com/Linux/Howto/Glibc-Install-HOWTO/index.html
--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
--
To unsubscribe, e-mail: opensuse+***@opensuse.org
For additional commands, e-mail: opensuse+***@opensuse.org
David C. Rankin
2010-11-11 18:38:37 UTC
Permalink
On 11/10/2010 06:46 PM, Cristian Rodríguez wrote:

Thanks Christian,
Post by Cristian Rodríguez
No idea what inkscape is doing, I suggest you to use
From googling, this seems to be the result of GCC moving limits.h and
syslimits.h to a new include-fixed directory
Post by Cristian Rodríguez
osc getpac inkscape
That's sort of what I had done. I tried 0.48 from 11.1, which ran until you
opened the fill/stroke dialog and then crashed with GTK the gtk error:

(inkscape:32136): GLib-GObject-CRITICAL **: g_value_get_uint: assertion
`G_VALUE_HOLDS_UINT (value)' failed
inkscape: symbol lookup error: inkscape: undefined symbol:
gtk_adjustment_set_page_increment

So, I had just downloaded and reinstalled 0.46 from:

http://ftp5.gwdg.de/pub/opensuse/update/11.0/rpm/x86_64/

which worked fine.
Post by Cristian Rodríguez
osc build --alternative-project=DISCONTINUED:openSUSE:11.0:Update
--no-verify
Now that looks cool -- thanks. I'll give it a shot.
Post by Cristian Rodríguez
and invoke your favorite $deity, to make it work, good luck ! ;-P
It's all good fun at this point. If it all goes south, then I'll just reinstall :p
Post by Cristian Rodríguez
Err.. Looks like a glibc version issue (currently 2.8-14). Is there an easy way
to upgrade glibc from source?
In practise, not really, do that at your own risk.
That's the feeling I got. I thought about backing up /usr/include and giving it
a shot. If all else fails, then I'll cross my fingers and give it a shot.

And all this effort -- just to keep a working fglrx driver... However, not
having a working fglrx driver isn't an option. (radeon/radeonhd give less than
50% performance and dramatically increase the heat load on the laptop) I guess
it is getting close to new laptop time, but I hate adding good laptops to the
old-laptop stack. Especially when we are talking 17" displays, etc.. It just
seems wrong to call perfectly good P4 3.33 GHz and Turion-58 X86_64 based
laptops -- old. (Although I did move the P4 box to 11.3 and do get reasonable
performance - but nothing compared to the blazing performance with fglrx)
--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
--
To unsubscribe, e-mail: opensuse+***@opensuse.org
For additional commands, e-mail: opensuse+***@opensuse.org
Loading...