Ticket #24 (new defect)

Opened 21 months ago

Last modified 18 months ago

building on gentoo 2006.1 fails

Reported by: sxpert@… Owned by: leocad.gerf.org
Priority: blocker Milestone:
Component: software Version: 0.75
Keywords: Cc:

Description

sxpert@raph-dell ~/leocad $ make
g++ -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -O2 -Wall -Ilinux -Icommon -DLC_LINUX -g  -c -o linux/profile.o linux/profile.cpp
common/file.h:42: error: ‘i32’ has not been declared
common/file.h:44: error: ‘u32’ has not been declared
common/file.h:44: error: ‘void File::ReadInt(int*)’ cannot be overloaded
common/file.h:42: error: with ‘void File::ReadInt(int*)’
common/file.h:48: error: ‘i32’ has not been declared
common/file.h:50: error: ‘u32’ has not been declared
common/file.h:50: error: ‘void File::WriteInt(int)’ cannot be overloaded
common/file.h:48: error: with ‘void File::WriteInt(int)’
make: *** [linux/profile.o] Error 1

Change History

Changed 18 months ago by danny@…

What do you see when you run "make config" against it? I am currently seeing a similar issue, and think that the makefile may not be escaping a \n enough times when autogenerating configuration test files, although this seems odd as it has worked without issue before.

I may consider this to be a quirk of "sh" being now linked to "dash" in Ubuntu, although this might not be the same in Gentoo.

Can you paste the output of the following:

ls -l `which sh`

Thanks.

Changed 18 months ago by danny@…

Bingo - found a reference to this:

"https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463/comments/6" - basically the assumption that dash==bash is the problem in Ubuntu - the one I am having.

The best way to fix this may be to use the sh "printf" command instead of "echo": https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463/comments/30 This is due to the command having "better POSIX portability" for escaping as "echo" is a "documented exception" to such standards. Of course - distro's should probably not have changed the default shell on the grounds of "if it ain't broken" (don't break it).

Using printf (which is not in the POSIX exceptions) should fix this - something I will investigate.

Changed 18 months ago by danny@…

I have committed Changeset #666 which means that make config will successfully get the correct primitive type lengths on systems with bash or dash.

However, I have also now spotted another potential issue, that the macro definitions made in linux/config.h do not seem to be being included where I suspect they are needed, and hence the errors that sxpert has reported are then seen.

I will further investigate this.

Note: See TracTickets for help on using tickets.