[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Texmacs-dev] Re: TeXmacs-1.0.5.4-src: build comments
From: |
Joris van der Hoeven |
Subject: |
[Texmacs-dev] Re: TeXmacs-1.0.5.4-src: build comments |
Date: |
Sun, 17 Jul 2005 19:19:40 +0200 |
User-agent: |
Mutt/1.5.9i |
Hi,
I am going through the list of compilation problems you had.
Since I don't have access to any of the architectures you mention,
please take a look at my comments and questions.
On Thu, Jun 23, 2005 at 08:36:10AM -0600, Nelson H. F. Beebe wrote:
> ------------------------------------------------------------------------
>
> There are hard-coded g++ compilation options in ./src/common.makefile:
>
> CXXWARNING = -Wall -Wno-return-type
>
> Attempts to override this and build with native (non-gcc) compilers
> failed everywhere. It would be much better if the code could be
> compiled with pretty much any C++ compiler; there are relatively few
> shared library dependencies in texmacs (yeah!!!), so it ought to be
> possible to program it portably to conform to ISO C/C++ and IEEE POSIX
> standards.
I added a configuration option --enable-warnings / --disable-warnings
> ------------------------------------------------------------------------
>
> Machinetype: Intel Pentium III (600 MHz); FreeBSD 5.0
> Remote gcc version: gcc (GCC) 3.4.3
> Remote g++ version: g++ (GCC) 3.4.3
> Configure environment: CC=gcc CXX=g++ LDFLAGS=-Wl,-rpath,/usr/local/lib
>
> g++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Plugins
> -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include
> -Wall -Wno-return-type -O3 -fexpensive-optimizations -fno-rtti
> -fno-exceptions -c ./Window/Widget/Composite/array_widget.cpp -o
> Objects/array_widget.o
> In file included from ./Window/widget.hpp:15,
> from ./Window/Widget/basic_widget.hpp:15,
> from ./Window/Widget/composite_widget.hpp:15,
> from ./Window/Widget/Composite/array_widget.cpp:16:
> ./Window/event.hpp:20: error: conflicting declaration 'typedef long int
> time_t'
> /usr/local/lib/gcc/i386-unknown-freebsd5.0/3.4.3/include/sys/types.h:266:
> error: 'time_t' has a previous declaration as `typedef __time_t time_t'
> ./Window/event.hpp:20: error: declaration of `typedef long int time_t'
> /usr/local/lib/gcc/i386-unknown-freebsd5.0/3.4.3/include/sys/types.h:266:
> error: conflicts with previous declaration `typedef __time_t time_t'
> ./Window/event.hpp:20: error: declaration of `typedef long int time_t'
> /usr/local/lib/gcc/i386-unknown-freebsd5.0/3.4.3/include/sys/types.h:266:
> error: conflicts with previous declaration `typedef __time_t time_t'
> make[1]: make[1]: Leaving directory `/local/build/TeXmacs-1.0.5.4-src/src'
How to test whether "time_t" has been defined?
On the supported architectures, I use
#ifndef _TIME_T
#define _TIME_T
typedef long time_t;
#endif
> ------------------------------------------------------------------------
>
> Machinetype: Apple PowerMac G4 (2 1400 MHz PowerPC 7450 CPUs, 2GB
> RAM); Darwin 7.2.0 (Mac OS 10.3.2 (7D26))
> Remote gcc version: cc (GCC) 3.3 20030304 (Apple Computer, Inc. build
> 1495)
> Remote g++ version: c++ (GCC) 3.3 20030304 (Apple Computer, Inc. build
> 1495)
>
> c++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Plugins
> -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include
> -Wall -Wno-return-type -O2 -fno-rtti -fno-exceptions -INONE/include -c
> ./Plugins/Ghostscript/ghostscript.cpp -o Objects/ghostscript.o
> c++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Typeset
> -I./Typeset/Bridge -I./Typeset/Concat -I./Typeset/Page -I./Edit -I./Plugins
> -I./Texmacs -I/usr/local/include/freetype2 -I/usr/local/include
> -I/usr/local/include -Wall -Wno-return-type -O2 -fno-rtti -fno-exceptions
> -INONE/include -c ./Guile/Glue/glue_all.cpp -o Objects/glue_all.o
> In file included from ./Guile/Glue/glue_all.cpp:1:
> ./Guile/Glue/glue.cpp: In function `void initialize_glue()':
> ./Guile/Glue/glue.cpp:877: error: invalid conversion from
> `scm_unused_struct*(*)()' to `scm_unused_struct*(*)(...)'
> ./Guile/Glue/glue.cpp:877: error: initializing argument 2 of
> `scm_unused_struct* gh_new_procedure(const char*, scm_unused_struct*(*)(...),
> int, int, int)'
> ...many more...
Do you have a line
#define DOTS_OK 1
in tm_configure.hpp? In principle, the necessity of ... in function
declarations should be detacted by the ./configure script.
#ifdef DOTS_OK
typedef SCM (*FN)(...);
#else
typedef SCM (*FN)();
#endif
Could you please find out what is going on and tell me what typedef
will result in a successful build?
> ------------------------------------------------------------------------
>
> Machinetype: Sun W2100z (2 CPUs, 2000 MHz AMD64 Opteron, 2GB RAM);
> GNU/Linux 2.6.9-1.681_FC3smp (Fedora Core release 3 (Heidelberg))
> Remote gcc version: gcc (GCC) 3.3.5
> Remote g++ version: g++ (GCC) 3.3.5
>
> g++ -dynamic Objects/analyze.o Objects/array.o Objects/array_widget.o
> Objects/attribute_event.o Objects/attribute_widget.o Objects/balloon_widget.o
> Objects/basic.o Objects/basic_boxes.o Objects/basic_event.o
> Objects/basic_widget.o Objects/bibtex.o Objects/bitmap_font.o Objects/boxes.o
> Objects/bridge.o Objects/bridge_argument.o Objects/bridge_auto.o
> Objects/bridge_compound.o Objects/bridge_default.o Objects/bridge_docrange.o
> Objects/bridge_document.o Objects/bridge_eval.o Objects/bridge_formatting.o
> Objects/bridge_mark.o Objects/bridge_rewrite.o Objects/bridge_surround.o
> Objects/bridge_with.o Objects/button_widget.o Objects/canvas_widget.o
> Objects/cell.o Objects/change_boxes.o Objects/command.o
> Objects/composite_boxes.o Objects/composite_event.o
> Objects/composite_widget.o Objects/compound_font.o Objects/concat_active.o
> Objects/concat_boxes.o Objects/concat_graphics.o Objects/concat_inactive.o
> Objects/concat_macro.o Objects/concat_math.o Objects/concat_post.o
> Objects/concat_te!
> xt.o Objects/concater.o Objects/connection.o Objects/converter.o
> Objects/curve.o Objects/decoration_boxes.o Objects/dictionary.o
> Objects/drd_info.o Objects/drd_std.o Objects/dyn_link.o Objects/edit_aux.o
> Objects/edit_complete.o Objects/edit_cursor.o Objects/edit_delete.o
> Objects/edit_dynamic.o Objects/edit_footer.o Objects/edit_graphics.o
> Objects/edit_interface.o Objects/edit_keyboard.o Objects/edit_main.o
> Objects/edit_math.o Objects/edit_modify.o Objects/edit_mouse.o
> Objects/edit_search.o Objects/edit_select.o Objects/edit_session.o
> Objects/edit_spell.o Objects/edit_table.o Objects/edit_text.o
> Objects/edit_typeset.o Objects/encoding.o Objects/env.o Objects/env_default.o
> Objects/env_exec.o Objects/env_inactive.o Objects/env_length.o
> Objects/env_semantics.o Objects/equations.o Objects/evaluate.o
> Objects/fast_alloc.o Objects/file.o Objects/file_chooser_widget.o
> Objects/find_font.o Objects/font.o Objects/format.o Objects/formatter.o
> Objects/frame.o Objects/free_type.o Objects/!
> from_scheme.o Objects/fromtex.o Objects/fromtm.o Objects/fromx!
> ml.o Obj
> ects/generic.o Objects/ghostscript.o Objects/glue_all.o Objects/glue_widget.o
> Objects/glyph.o Objects/glyph_ops.o Objects/glyph_shrink.o
> Objects/graphics_boxes.o Objects/grid.o Objects/grid_boxes.o
> Objects/hashfunc.o Objects/hashmap.o Objects/hashmap_extra.o
> Objects/hashset.o Objects/hashtree.o Objects/hyphenate.o
> Objects/image_files.o Objects/init_texmacs.o Objects/init_upgrade.o
> Objects/inittex.o Objects/input.o Objects/input_widget.o
> Objects/inputs_list_widget.o Objects/ip_observer.o Objects/ispell.o
> Objects/iterator.o Objects/language.o Objects/layout.o
> Objects/lazy_paragraph.o Objects/lazy_typeset.o Objects/lazy_vstream.o
> Objects/line_breaker.o Objects/line_item.o Objects/list.o
> Objects/list_observer.o Objects/list_widget.o Objects/load_pk.o
> Objects/load_tex.o Objects/load_tfm.o Objects/make_pages.o
> Objects/math_boxes.o Objects/math_font.o Objects/math_language.o
> Objects/misc_boxes.o Objects/modifier_boxes.o Objects/object.o
> Objects/observer.o Objects/page_breaker.o Obj!
> ects/page_item.o Objects/page_type.o Objects/pager.o Objects/parsetex.o
> Objects/parsexml.o Objects/path.o Objects/pipe_link.o Objects/point.o
> Objects/polynomial.o Objects/popup_button.o Objects/popup_widget.o
> Objects/printer.o Objects/ps_device.o Objects/rectangles.o
> Objects/rel_hashmap.o Objects/rubber_boxes.o Objects/script_boxes.o
> Objects/scroll_event.o Objects/scroll_widget.o Objects/scrollable_widget.o
> Objects/scrollbar_widget.o Objects/separator_widget.o Objects/skeleton.o
> Objects/socket_link.o Objects/space.o Objects/stack_boxes.o Objects/stacker.o
> Objects/stretch_boxes.o Objects/string.o Objects/superpose_boxes.o
> Objects/switch_widget.o Objects/sys_utils.o Objects/tab.o Objects/table.o
> Objects/tag_info.o Objects/tex_files.o Objects/tex_font.o Objects/tex_init.o
> Objects/tex_rubber_font.o Objects/text_boxes.o Objects/text_language.o
> Objects/text_widget.o Objects/tile_widget.o Objects/timer.o
> Objects/to_scheme.o Objects/totm.o Objects/translator.o Objects/tree.o Object!
> s/tree_cursor.o Objects/tree_label.o Objects/tree_position.o O!
> bjects/t
> ree_traverse.o Objects/tt_face.o Objects/tt_file.o Objects/tt_font.o
> Objects/typesetter.o Objects/upgradetm.o Objects/url.o Objects/vars.o
> Objects/verb_language.o Objects/verbatim.o Objects/virtual_font.o
> Objects/vpenalty.o Objects/wait_widget.o Objects/web_files.o Objects/widget.o
> Objects/x_display.o Objects/x_drawable.o Objects/x_font.o Objects/x_init.o
> Objects/x_loop.o Objects/x_window.o Objects/xpm_widget.o Objects/tm_config.o
> Objects/tm_data.o Objects/tm_file.o Objects/tm_button.o Objects/tm_menus.o
> Objects/tm_widget.o Objects/tm_scheme.o Objects/tm_server.o Objects/texmacs.o
> -L/local/build/gcc/TeXmacs-1.0.5.4-src/TeXmacs/lib -lm -Wl,-rpath,
> -L/usr/X11R6/lib -lXext -lX11 -L/usr/local/lib -lguile -lguile-ltdl
> -Wl,-rpath,/usr/local/lib -lcrypt -lm -lltdl -ldl -L/usr/local/lib -lfreetype
> -lz -liconv -ldl -o Objects/texmacs-shared.bin
>
> incompatible /usr/X11R6/lib/libXext.so when searching for -lXext
> /usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.a when searching
> for -lXext
> /usr/bin/ld: cannot find -lXext
>
> The AMD64 has a default 64-bit environment and an extra 32-bit
> environment. The library path /usr/X11R6/lib leads to the 32-bit
> world, while /usr/X11R6/lib64 is the 64-bit world. A restart with
>
> make LDXWINDOW='-L/usr/X11R6/lib64 -lXext -lX11'
> LDBXWINDOW='-L/usr/X11R6/lib64 -lXext -lX11'
>
> produced a successful build and a working TeXmacs.
Please tell me which entry should be added for this architecture to
the configure.in, so as to make these options the default.
> ------------------------------------------------------------------------
>
> Machinetype: Apple PowerMac G3 (267 MHz); GNU/Linux 2.4.19-4a
> (Yellow Dog Linux release 2.3 (Dayton))
> Remote gcc version: gcc (GCC) 3.2.2
> Remote g++ version: g++ (GCC) 3.2.2
> Configure environment: CC=gcc CXX=g++ LDFLAGS="-Wl,-rpath,/usr/local/lib"
>
> g++ -dynamic Objects/analyze.o Objects/array.o Objects/array_widget.o
> Objects/attribute_event.o Objects/attribute_widget.o Objects/balloon_widget.o
> Objects/basic.o Objects/basic_boxes.o Objects/basic_event.o
> Objects/basic_widget.o Objects/bibtex.o Objects/bitmap_font.o Objects/boxes.o
> Objects/bridge.o Objects/bridge_argument.o Objects/bridge_auto.o
> Objects/bridge_compound.o Objects/bridge_default.o Objects/bridge_docrange.o
> Objects/bridge_document.o Objects/bridge_eval.o Objects/bridge_formatting.o
> Objects/bridge_mark.o Objects/bridge_rewrite.o Objects/bridge_surround.o
> Objects/bridge_with.o Objects/button_widget.o Objects/canvas_widget.o
> Objects/cell.o Objects/change_boxes.o Objects/command.o
> Objects/composite_boxes.o Objects/composite_event.o
> Objects/composite_widget.o Objects/compound_font.o Objects/concat_active.o
> Objects/concat_boxes.o Objects/concat_graphics.o Objects/concat_inactive.o
> Objects/concat_macro.o Objects/concat_math.o Objects/concat_post.o
> Objects/concat_te!
> xt.o Objects/concater.o Objects/connection.o Objects/converter.o
> Objects/curve.o Objects/decoration_boxes.o Objects/dictionary.o
> Objects/drd_info.o Objects/drd_std.o Objects/dyn_link.o Objects/edit_aux.o
> Objects/edit_complete.o Objects/edit_cursor.o Objects/edit_delete.o
> Objects/edit_dynamic.o Objects/edit_footer.o Objects/edit_graphics.o
> Objects/edit_interface.o Objects/edit_keyboard.o Objects/edit_main.o
> Objects/edit_math.o Objects/edit_modify.o Objects/edit_mouse.o
> Objects/edit_search.o Objects/edit_select.o Objects/edit_session.o
> Objects/edit_spell.o Objects/edit_table.o Objects/edit_text.o
> Objects/edit_typeset.o Objects/encoding.o Objects/env.o Objects/env_default.o
> Objects/env_exec.o Objects/env_inactive.o Objects/env_length.o
> Objects/env_semantics.o Objects/equations.o Objects/evaluate.o
> Objects/fast_alloc.o Objects/file.o Objects/file_chooser_widget.o
> Objects/find_font.o Objects/font.o Objects/format.o Objects/formatter.o
> Objects/frame.o Objects/free_type.o Objects/!
> from_scheme.o Objects/fromtex.o Objects/fromtm.o Objects/fromx!
> ml.o Obj
> ects/generic.o Objects/ghostscript.o Objects/glue_all.o Objects/glue_widget.o
> Objects/glyph.o Objects/glyph_ops.o Objects/glyph_shrink.o
> Objects/graphics_boxes.o Objects/grid.o Objects/grid_boxes.o
> Objects/hashfunc.o Objects/hashmap.o Objects/hashmap_extra.o
> Objects/hashset.o Objects/hashtree.o Objects/hyphenate.o
> Objects/image_files.o Objects/init_texmacs.o Objects/init_upgrade.o
> Objects/inittex.o Objects/input.o Objects/input_widget.o
> Objects/inputs_list_widget.o Objects/ip_observer.o Objects/ispell.o
> Objects/iterator.o Objects/language.o Objects/layout.o
> Objects/lazy_paragraph.o Objects/lazy_typeset.o Objects/lazy_vstream.o
> Objects/line_breaker.o Objects/line_item.o Objects/list.o
> Objects/list_observer.o Objects/list_widget.o Objects/load_pk.o
> Objects/load_tex.o Objects/load_tfm.o Objects/make_pages.o
> Objects/math_boxes.o Objects/math_font.o Objects/math_language.o
> Objects/misc_boxes.o Objects/modifier_boxes.o Objects/object.o
> Objects/observer.o Objects/page_breaker.o Obj!
> ects/page_item.o Objects/page_type.o Objects/pager.o Objects/parsetex.o
> Objects/parsexml.o Objects/path.o Objects/pipe_link.o Objects/point.o
> Objects/polynomial.o Objects/popup_button.o Objects/popup_widget.o
> Objects/printer.o Objects/ps_device.o Objects/rectangles.o
> Objects/rel_hashmap.o Objects/rubber_boxes.o Objects/script_boxes.o
> Objects/scroll_event.o Objects/scroll_widget.o Objects/scrollable_widget.o
> Objects/scrollbar_widget.o Objects/separator_widget.o Objects/skeleton.o
> Objects/socket_link.o Objects/space.o Objects/stack_boxes.o Objects/stacker.o
> Objects/stretch_boxes.o Objects/string.o Objects/superpose_boxes.o
> Objects/switch_widget.o Objects/sys_utils.o Objects/tab.o Objects/table.o
> Objects/tag_info.o Objects/tex_files.o Objects/tex_font.o Objects/tex_init.o
> Objects/tex_rubber_font.o Objects/text_boxes.o Objects/text_language.o
> Objects/text_widget.o Objects/tile_widget.o Objects/timer.o
> Objects/to_scheme.o Objects/totm.o Objects/translator.o Objects/tree.o Object!
> s/tree_cursor.o Objects/tree_label.o Objects/tree_position.o O!
> bjects/t
> ree_traverse.o Objects/tt_face.o Objects/tt_file.o Objects/tt_font.o
> Objects/typesetter.o Objects/upgradetm.o Objects/url.o Objects/vars.o
> Objects/verb_language.o Objects/verbatim.o Objects/virtual_font.o
> Objects/vpenalty.o Objects/wait_widget.o Objects/web_files.o Objects/widget.o
> Objects/x_display.o Objects/x_drawable.o Objects/x_font.o Objects/x_init.o
> Objects/x_loop.o Objects/x_window.o Objects/xpm_widget.o Objects/tm_config.o
> Objects/tm_data.o Objects/tm_file.o Objects/tm_button.o Objects/tm_menus.o
> Objects/tm_widget.o Objects/tm_scheme.o Objects/tm_server.o Objects/texmacs.o
> -L/local/build/TeXmacs-1.0.5.4-src/TeXmacs/lib -lm -Wl,-rpath,
> -L/usr/local/lib -lXext -lX11 -L/usr/local/lib -lguile -lguile-ltdl -lcrypt
> -lm -lltdl -ldl -L/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib -lfreetype
> -lz -liconv -ldl -o Objects/texmacs-shared.bin
>
> unknown-linux-gnu/bin/ld: cannot find -lXext
> collect2: ld returned 1 exit status
>
> This is an autoconf bug that impacts a great many packages. The
> configure script correctly searches X11R6 directories for header
> files, but not for library files.
>
> A restart with
>
> make LDXWINDOW="-L/usr/X11R6/lib -L/usr/local/lib -lXext -lX11"
> LDBXWINDOW="-L/usr/X11R6/lib -L/usr/local/lib -lXext -lX11"
>
> produced a working TeXmacs.
Like above; I need entries for configure.in in order to correctly guess
this kind of situation.
> ------------------------------------------------------------------------
>
> Machinetype: Intel Itanium-2 (1400 MHz) (2 CPUs); GNU/Linux
> 2.4.18-e.41smp (Red Hat Advanced Server release 2.1AS (Derry))
>
> Remote gcc version: 2.96
> Remote g++ version: 2.96
> ...
> /usr/bin/ld: cannot find -lXext
>
> Same problem as for GNU/Linux on PowerPC. However, the workaround
> failed:
>
> make LDXWINDOW='-L/usr/X11R6/lib -lXext -lX11' LDBXWINDOW='-L/usr/X11R6/lib
> -lXext -lX11'
>
> /usr/bin/c++ -shared Objects/analyze.o Objects/array.o ...long arglist...
>
> /usr/bin/ld: Objects/boxes.o: @gprel relocation against dynamic symbol
> nr_painted
> /usr/bin/ld: Objects/boxes.o: @gprel relocation against dynamic symbol
> nr_painted
> /usr/bin/ld: Objects/boxes.o: @gprel relocation against dynamic symbol
> nr_painted
> collect2: ld returned 1 exit status
> make[1]: *** [Objects/texmacs-shared.bin] Error 1
!!!???
Maybe you should try modifying some of the linker (and/or compiler) flags.
You may try the -fPIC option, static/dynamic linking, etc.
> ------------------------------------------------------------------------
>
> Machinetype: Intel Itanium-2 (1400 MHz) (2 CPUs); GNU/Linux
> 2.4.18-e.41smp (Red Hat Advanced Server release 2.1AS (Derry))
> Remote gcc3 version: 3.0.4
> Remote g++3 version: 3.0.4
> Configure environment: CC=gcc3 CXX=g++3 LDFLAGS="-Wl,-rpath,/usr/local/lib"
> g++3 -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Typeset
> -I./Typeset/Bridge -I./Typeset/Concat -I./Typeset/Page -I./Edit
> -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include
> -Wall -Wno-return-type -O2 -fno-default-inline -fno-inline -fno-rtti
> -fno-exceptions -c ./Typeset/Boxes/Modifier/change_boxes.cpp -o
> Objects/change_boxes.o
> In file included from /usr/include/signal.h:324,
> from /usr/include/sys/ucontext.h:23,
> from /usr/local/include/libguile/continuations.h:49,
> from /usr/local/include/libguile.h:63,
> from Guile/Scheme/object.hpp:19,
> from Guile/scheme.hpp:22,
> from Typeset/Boxes/Modifier/change_boxes.cpp:15:
> /usr/include/ucontext.h:32: `ucontext_t' was not declared in this scope
> /usr/include/ucontext.h:32: `__ucp' was not declared in this scope
> /usr/include/ucontext.h:35: parse error before `*' token
> /usr/include/ucontext.h:39: `ucontext_t' was not declared in this scope
> ....
This looks like a bug in Guile and/or signal.h
> ------------------------------------------------------------------------
>
> Machinetype: DEC Alpha 4100-5/466 (4 21164 EV5 CPUs, 466 MHz, 2GB
> RAM); OSF/1 4.0F
>
> Remote gcc version: gcc (GCC) 3.3.3
> Remote g++ version: g++ (GCC) 3.3.3
> Configure environment: CC=gcc CFLAGS="-mieee -I/usr/local/include" CXX=g++
> CXXFLAGS="-mieee -I/usr/local/include" LDFLAGS="-Wl,-rpath,/usr/local/lib
> -L/usr/local/lib"
>
> gcc -lutil src/tm_r.c -o bin/tm_r
> snprintf
> pselect
>
> This is the ONLY platform among the 20+ flavors of Unix that I have
> that lacks snprintf() and vsnprintf(). I have a locally-installed
> library that provides the portable implementation from
>
> http://www.ijs.si/software/snprintf/
>
> I therefore tried
>
> gcc -lutil src/tm_r.c -o bin/tm_r /usr/local/lib/libgccsnprintf.a
>
> That resolved the missing snprintf(), but left pselect() missing. On
> each of our build servers, we kept a directory of nm output for all
> known libraries on that system; pselect is not found in any of those
> libraries.
>
> The rest of the TeXmacs build succeeded, but I've left it uninstalled
> because of the missing plugin tm_r.
This is not really an important problem, because R is merely one among
the twenty plug-ins to TeXmacs. In principle, compilation should finish,
even if one or more errors are encountered in the plug-ins.
Was that indeed the case for you?
> ------------------------------------------------------------------------
>
> Machinetype: Intel Pentium III (600 MHz); NetBSD 1.6 (GENERIC)
> Remote gcc version: gcc (GCC) 3.4.3
> Remote g++ version: g++ (GCC) 3.4.3
> Configure environment: CC=gcc CXX=g++ LDFLAGS=-Wl,-rpath,/usr/local/lib
>
> g++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Typeset
> -I./Typeset/Bridge -I./Typeset/Concat -I./Typeset/Page -I./Edit -I./Plugins
> -I./Texmacs -I/usr/local/include/freetype2 -I/usr/local/include
> -I/usr/local/include -Wall -Wno-return-type -O2 -fno-rtti -fno-exceptions -c
> ./Guile/Glue/glue_all.cpp -o Objects/glue_all.o
> In file included from ./Guile/Glue/glue_all.cpp:1:
> ./Guile/Glue/glue.cpp: In function `void initialize_glue()':
> ./Guile/Glue/glue.cpp:877: error: invalid conversion from
> `scm_unused_struct*(*)()' to `scm_unused_struct*(*)(...)'
> ...many more...
Same error as ^^^
> ------------------------------------------------------------------------
>
> Machinetype: Intel Pentium III (600 MHz); OpenBSD 3.2
> GENERIC#25 i386
> Remote gcc version: gcc (GCC) 3.3.5
> Remote g++ version: g++ (GCC) 3.3.5
> Configure environment: CC=gcc CXX=g++ LDFLAGS=-Wl,-rpath,/usr/local/lib
>
> g++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I/usr/local/include/freetype2
> -I/usr/local/include -I/usr/local/include -Wall -Wno-return-type -O2
> -fno-default-inline -fno-inline -fno-rtti -fno-exceptions -c
> ./Classes/Compound/array.cpp -o Objects/array.o
> g++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Plugins
> -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include
> -Wall -Wno-return-type -O2 -fno-default-inline -fno-inline -fno-rtti
> -fno-exceptions -c ./Window/Widget/Composite/array_widget.cpp -o
> Objects/array_widget.o
> In file included from Window/widget.hpp:15,
> from Window/Widget/basic_widget.hpp:15,
> from Window/Widget/composite_widget.hpp:15,
> from Window/Widget/Composite/array_widget.cpp:16:
> Window/event.hpp:20: error: conflicting types for `typedef long int time_t'
> /usr/include/sys/types.h:114: error: previous declaration as `typedef int
> time_t'
Also like ^^^.
> ------------------------------------------------------------------------
>
> Machinetype: Intel Pentium II MMX (333 MHz); Solaris 10 x86
> Remote gcc version: gcc (GCC) 3.3 20030407 (prerelease)
> Remote g++ version: g++ (GCC) 3.3 20030407 (prerelease)
> Configure environment: CC=gcc CFLAGS=-I/usr/local/include CXX=g++
> CXXFLAGS=-I/usr/local/include LDFLAGS="-R/usr/local/lib -L/usr/local/lib"
>
> g++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource
> -I/local/build/gcc/TeXmacs-1.0.5.4-src/TeXmacs/include -I/usr/local/include
> -Wall -Wno-return-type -O2 -fno-default-inline -fno-inline -fno-rtti
> -fno-exceptions -c ./Data/String/analyze.cpp -o Objects/analyze.o
> In file included from /usr/include/sys/wait.h:24,
> from /usr/include/stdlib.h:22,
> from Classes/Abstract/basic.hpp:16,
> from Classes/Atomic/string.hpp:16,
> from Data/String/analyze.hpp:15,
> from Data/String/analyze.cpp:13:
> /usr/include/sys/siginfo.h:259: error: 'ctid_t' is used as a type, but is not
> defined as a type.
> /usr/include/sys/siginfo.h:260: error: 'zoneid_t' is used as a type, but is
> not
> defined as a type.
> /usr/include/sys/siginfo.h:390: error: 'ctid_t' is used as a type, but is not
> defined as a type.
> ...
This seems to be a problem with your wait.h
Merely including stdlib.h should be OK, right?
> ------------------------------------------------------------------------
>
> Machinetype: Intel Pentium II MMX (333 MHz); Solaris 10 x86
> Remote gcc version: gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
> Remote g++ version: g++ (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
> Configure environment: CC=/usr/sfw/bin/gcc CFLAGS=-I/usr/local/include
> CXX=/usr/sfw/bin/g++ CXXFLAGS=-I/usr/local/include LDFLAGS="-R/usr/local/lib
> -L/usr/local/lib"
>
> [This is the Sun-provided version of gcc/g++]
>
> /usr/sfw/bin/g++ -dynamic Objects/analyze.o Objects/array.o
> Objects/array_widget.o Objects/attribute_event.o Objects/attribute_widget.o
> Objects/balloon_widget.o Objects/basic.o Objects/basic_boxes.o
> Objects/basic_event.o Objects/basic_widget.o Objects/bibtex.o
> Objects/bitmap_font.o Objects/boxes.o Objects/bridge.o
> Objects/bridge_argument.o Objects/bridge_auto.o Objects/bridge_compound.o
> Objects/bridge_default.o Objects/bridge_docrange.o Objects/bridge_document.o
> Objects/bridge_eval.o Objects/bridge_formatting.o Objects/bridge_mark.o
> Objects/bridge_rewrite.o Objects/bridge_surround.o Objects/bridge_with.o
> Objects/button_widget.o Objects/canvas_widget.o Objects/cell.o
> Objects/change_boxes.o Objects/command.o Objects/composite_boxes.o
> Objects/composite_event.o Objects/composite_widget.o Objects/compound_font.o
> Objects/concat_active.o Objects/concat_boxes.o Objects/concat_graphics.o
> Objects/concat_inactive.o Objects/concat_macro.o Objects/concat_math.o
> Objects/concat_post.o Obje!
> cts/concat_text.o Objects/concater.o Objects/connection.o
> Objects/converter.o Objects/curve.o Objects/decoration_boxes.o
> Objects/dictionary.o Objects/drd_info.o Objects/drd_std.o Objects/dyn_link.o
> Objects/edit_aux.o Objects/edit_complete.o Objects/edit_cursor.o
> Objects/edit_delete.o Objects/edit_dynamic.o Objects/edit_footer.o
> Objects/edit_graphics.o Objects/edit_interface.o Objects/edit_keyboard.o
> Objects/edit_main.o Objects/edit_math.o Objects/edit_modify.o
> Objects/edit_mouse.o Objects/edit_search.o Objects/edit_select.o
> Objects/edit_session.o Objects/edit_spell.o Objects/edit_table.o
> Objects/edit_text.o Objects/edit_typeset.o Objects/encoding.o Objects/env.o
> Objects/env_default.o Objects/env_exec.o Objects/env_inactive.o
> Objects/env_length.o Objects/env_semantics.o Objects/equations.o
> Objects/evaluate.o Objects/fast_alloc.o Objects/file.o
> Objects/file_chooser_widget.o Objects/find_font.o Objects/font.o
> Objects/format.o Objects/formatter.o Objects/frame.o Objects/free_ty!
> pe.o Objects/from_scheme.o Objects/fromtex.o Objects/fromtm.o !
> Objects/
> fromxml.o Objects/generic.o Objects/ghostscript.o Objects/glue_all.o
> Objects/glue_widget.o Objects/glyph.o Objects/glyph_ops.o
> Objects/glyph_shrink.o Objects/graphics_boxes.o Objects/grid.o
> Objects/grid_boxes.o Objects/hashfunc.o Objects/hashmap.o
> Objects/hashmap_extra.o Objects/hashset.o Objects/hashtree.o
> Objects/hyphenate.o Objects/image_files.o Objects/init_texmacs.o
> Objects/init_upgrade.o Objects/inittex.o Objects/input.o
> Objects/input_widget.o Objects/inputs_list_widget.o Objects/ip_observer.o
> Objects/ispell.o Objects/iterator.o Objects/language.o Objects/layout.o
> Objects/lazy_paragraph.o Objects/lazy_typeset.o Objects/lazy_vstream.o
> Objects/line_breaker.o Objects/line_item.o Objects/list.o
> Objects/list_observer.o Objects/list_widget.o Objects/load_pk.o
> Objects/load_tex.o Objects/load_tfm.o Objects/make_pages.o
> Objects/math_boxes.o Objects/math_font.o Objects/math_language.o
> Objects/misc_boxes.o Objects/modifier_boxes.o Objects/object.o
> Objects/observer.o Objects/page_!
> breaker.o Objects/page_item.o Objects/page_type.o Objects/pager.o
> Objects/parsetex.o Objects/parsexml.o Objects/path.o Objects/pipe_link.o
> Objects/point.o Objects/polynomial.o Objects/popup_button.o
> Objects/popup_widget.o Objects/printer.o Objects/ps_device.o
> Objects/rectangles.o Objects/rel_hashmap.o Objects/rubber_boxes.o
> Objects/script_boxes.o Objects/scroll_event.o Objects/scroll_widget.o
> Objects/scrollable_widget.o Objects/scrollbar_widget.o
> Objects/separator_widget.o Objects/skeleton.o Objects/socket_link.o
> Objects/space.o Objects/stack_boxes.o Objects/stacker.o
> Objects/stretch_boxes.o Objects/string.o Objects/superpose_boxes.o
> Objects/switch_widget.o Objects/sys_utils.o Objects/tab.o Objects/table.o
> Objects/tag_info.o Objects/tex_files.o Objects/tex_font.o Objects/tex_init.o
> Objects/tex_rubber_font.o Objects/text_boxes.o Objects/text_language.o
> Objects/text_widget.o Objects/tile_widget.o Objects/timer.o
> Objects/to_scheme.o Objects/totm.o Objects/translator.o Objects/!
> tree.o Objects/tree_cursor.o Objects/tree_label.o Objects/tree!
> _positio
> n.o Objects/tree_traverse.o Objects/tt_face.o Objects/tt_file.o
> Objects/tt_font.o Objects/typesetter.o Objects/upgradetm.o Objects/url.o
> Objects/vars.o Objects/verb_language.o Objects/verbatim.o
> Objects/virtual_font.o Objects/vpenalty.o Objects/wait_widget.o
> Objects/web_files.o Objects/widget.o Objects/x_display.o Objects/x_drawable.o
> Objects/x_font.o Objects/x_init.o Objects/x_loop.o Objects/x_window.o
> Objects/xpm_widget.o Objects/tm_config.o Objects/tm_data.o Objects/tm_file.o
> Objects/tm_button.o Objects/tm_menus.o Objects/tm_widget.o
> Objects/tm_scheme.o Objects/tm_server.o Objects/texmacs.o
> -L/local/build/sfw-gcc/TeXmacs-1.0.5.4-src/TeXmacs/lib -lm -Wl,-rpath,
> -L/usr/local/lib -R/usr/local/lib -lXext -lX11 -L/usr/local/lib -lguile
> -lguile-ltdl -R/usr/local/lib -L/usr/local/lib -lsocket -lnsl -lm
> -L/usr/local/lib -R/usr/local/lib -lfreetype -lz -ldl -o
> Objects/texmacs-shared.bin
> ld: fatal: option -dn and -P are incompatible
> ld: fatal: Flags processing errors
Please try to play a bit with the linking options and test whether you can
get things linked in some way.
> ------------------------------------------------------------------------
>
> Machinetype: Sun Ultra 5 (270 MHz UltraSPARC-IIi);
> Solaris 10
> Remote gcc version: gcc (GCC) 3.3.6
> Remote g++ version: g++ (GCC) 3.3.6
> Configure environment: CC=gcc CFLAGS=-I/usr/local/include CXX=g++
> CXXFLAGS=-I/usr/local/include LDFLAGS="-R/usr/local/lib -L/usr/local/lib"
>
> g++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Typeset
> -I./Typeset/Bridge -I./Typeset/Concat -I./Typeset/Page -I./Edit -I./Plugins
> -I./Texmacs -I/usr/local/include/freetype2 -I/usr/local/include
> -I/usr/local/include -Wall -Wno-return-type -O2 -fno-default-inline
> -fno-inline -fno-rtti -fno-exceptions -c ./Guile/Glue/glue_all.cpp -o
> Objects/glue_all.o
> In file included from Guile/Glue/glue_all.cpp:1:
> Guile/Glue/glue.cpp: In function `void initialize_glue()':
> Guile/Glue/glue.cpp:877: error: invalid conversion from `
> scm_unused_struct*(*)()' to `scm_unused_struct*(*)(...)'
> ...many more...
Same problem as ^^^.
> ------------------------------------------------------------------------
>
> Machinetype: Compaq AlphaServer DS20 Sierra/667 (2 EV67 21264
> CPUs, 667 MHz, 1MB RAM); OSF/1 5.1
> Remote gcc version: 2.9-gnupro-99r1
> Remote g++ version: 2.9-gnupro-99r1
> Configure environment: CC=gcc CFLAGS="-mieee -I$HOME/alpha/local/include
> -O3" CXX=g++ CXXFLAGS="-mieee -I$HOME/alpha/local/include -O3"
> LDFLAGS="-L$HOME/alpha/local/lib -Wl,-rpath,$HOME/alpha/local/lib -static"
>
> cd src; make -f makefile link=shared
> cp -r -f Objects/texmacs-shared.bin
> /uufs/inscc.utah.edu/common/home/mthnhb/alpha/build/gcc/TeXmacs-1.0.5.4-src/TeXmacs/bin/texmacs.bin
> cp: cannot stat `Objects/texmacs-shared.bin': No such file or directory
???
Was Objects/texmacs-shared.bin built or not?
I remember a similar problem with old versions of "make".
Try installing a recent version of GNU make.
> ------------------------------------------------------------------------
>
> Machinetype: Sun Ultra Enterprise 5500 (4 CPUs, 400 MHz
> UltraSPARC-II); Solaris 8
> Remote gcc version: gcc (GCC) 3.3
> Remote g++ version: g++ (GCC) 3.3
>
> g++ -I./System -I./System/Boot -I./System/Classes -I./System/Files
> -I./System/Link -I./System/Misc -I./Classes/Abstract -I./Classes/Atomic
> -I./Classes/Compound -I./Data/Drd -I./Data/String -I./Data/Tree
> -I./Data/Convert -I./Guile -I./Resource -I./Window -I./Typeset
> -I./Typeset/Bridge -I./Typeset/Concat -I./Typeset/Page -I./Edit -I./Plugins
> -I./Texmacs -I/usr/local/include/freetype2 -I/usr/local/include
> -I/usr/local/include -Wall -Wno-return-type -O2 -fno-default-inline
> -fno-inline -fno-rtti -fno-exceptions -c ./Guile/Glue/glue_all.cpp -o
> Objects/glue_all.o
> In file included from Guile/Glue/glue_all.cpp:1:
> Guile/Glue/glue.cpp: In function `void initialize_glue()':
> Guile/Glue/glue.cpp:877: error: invalid conversion from `
> scm_unused_struct*(*)()' to `scm_unused_struct*(*)(...)'
> ... many more ...
Same problem as ^^^; we really have to solve this one...
> ------------------------------------------------------------------------
>
> Machinetype: Sun Ultra 5/400; GNU/Linux
> 2.4.26-sparc-r2 (Gentoo 1.4.16)
> Remote gcc version: gcc (GCC) 3.3.3
> Remote g++ version: g++ (GCC) 3.3.3
> Configure environment: CC=gcc CXX=g++ LDFLAGS="-L/usr/local/lib
> -Wl,-rpath,/usr/local/lib"
>
> ./../../sparc-unknown-linux-gnu/bin/ld: cannot find -lXext
> collect2: ld returned 1 exit status
>
> Same problem as for GNU/Linux on PowerPC, and the same workaround got
> a working texmacs:
>
> make LDXWINDOW="-L/usr/X11R6/lib -L/usr/local/lib -lXext -lX11"
> LDBXWINDOW="-L/usr/X11R6/lib -L/usr/local/lib -lXext -lX11"
OK, please try to provide an entry for configure.in.
In any case, thanks again for your help so far, Joris
- [Texmacs-dev] Re: TeXmacs-1.0.5.4-src: build comments,
Joris van der Hoeven <=