Error while compiling Context Free Art

If you're having trouble using Context Free or don't understand the language, ask for help here.

Moderators: MtnViewJohn, chris, mtnviewmark

Post Reply
manudh
Posts: 4
Joined: Wed Dec 10, 2008 7:32 pm
Location: Blegium

Error while compiling Context Free Art

Post by manudh »

there is a problem at compile time, i think i had installed all dependencies but it still not works...

strlen and nrand48 are unknown for the c++ compiler...

Could you have a look at this please ?

Linux 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:20 UTC 2008 i686 GNU/Linux ( -- Kubuntu Intrepid -- )

manuel@manuel-desktop:/src/video/contextfreesources/ContextFreeSource2.1$ make
Makefile:44: objs/cfdg.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/cfdgimpl.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/renderimpl.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/builder.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/shape.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/yglue.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/variation.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/countable.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/tempfile.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/aggCanvas.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/HSBColor.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/SVGCanvas.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/primShape.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/bounds.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/shape.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/shapeSTL.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/tiledCanvas.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/pngCanvas.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/posixSystem.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/main.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/lex.yy.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/y.tab.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/agg_trans_affine.d: Aucun fichier ou dossier de ce type
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-agg/src/agg_trans_affine.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/agg_trans_affine.d\2,g' > objs/agg_trans_affine.d; \
[ -s objs/agg_trans_affine.d ] || rm -f objs/agg_trans_affine.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-unix/main.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/main.d\2,g' > objs/main.d; \
[ -s objs/main.d ] || rm -f objs/main.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-unix/posixSystem.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/posixSystem.d\2,g' > objs/posixSystem.d; \
[ -s objs/posixSystem.d ] || rm -f objs/posixSystem.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-unix/pngCanvas.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/pngCanvas.d\2,g' > objs/pngCanvas.d; \
[ -s objs/pngCanvas.d ] || rm -f objs/pngCanvas.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/tiledCanvas.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/tiledCanvas.d\2,g' > objs/tiledCanvas.d; \
[ -s objs/tiledCanvas.d ] || rm -f objs/tiledCanvas.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/shapeSTL.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/shapeSTL.d\2,g' > objs/shapeSTL.d; \
[ -s objs/shapeSTL.d ] || rm -f objs/shapeSTL.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/shape.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/shape.d\2,g' > objs/shape.d; \
[ -s objs/shape.d ] || rm -f objs/shape.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/bounds.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/bounds.d\2,g' > objs/bounds.d; \
[ -s objs/bounds.d ] || rm -f objs/bounds.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/primShape.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/primShape.d\2,g' > objs/primShape.d; \
[ -s objs/primShape.d ] || rm -f objs/primShape.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/SVGCanvas.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/SVGCanvas.d\2,g' > objs/SVGCanvas.d; \
[ -s objs/SVGCanvas.d ] || rm -f objs/SVGCanvas.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/HSBColor.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/HSBColor.d\2,g' > objs/HSBColor.d; \
[ -s objs/HSBColor.d ] || rm -f objs/HSBColor.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/aggCanvas.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/aggCanvas.d\2,g' > objs/aggCanvas.d; \
[ -s objs/aggCanvas.d ] || rm -f objs/aggCanvas.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/tempfile.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/tempfile.d\2,g' > objs/tempfile.d; \
[ -s objs/tempfile.d ] || rm -f objs/tempfile.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/countable.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/countable.d\2,g' > objs/countable.d; \
[ -s objs/countable.d ] || rm -f objs/countable.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/variation.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/variation.d\2,g' > objs/variation.d; \
[ -s objs/variation.d ] || rm -f objs/variation.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/yglue.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/yglue.d\2,g' > objs/yglue.d; \
[ -s objs/yglue.d ] || rm -f objs/yglue.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/builder.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/builder.d\2,g' > objs/builder.d; \
[ -s objs/builder.d ] || rm -f objs/builder.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/renderimpl.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/renderimpl.d\2,g' > objs/renderimpl.d; \
[ -s objs/renderimpl.d ] || rm -f objs/renderimpl.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/cfdgimpl.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/cfdgimpl.d\2,g' > objs/cfdgimpl.d; \
[ -s objs/cfdgimpl.d ] || rm -f objs/cfdgimpl.d
mkdir -p objs 2> /dev/null || true
set -e; g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM src-common/cfdg.cpp \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/cfdg.d\2,g' > objs/cfdg.d; \
[ -s objs/cfdg.d ] || rm -f objs/cfdg.d
Makefile:44: objs/lex.yy.d: Aucun fichier ou dossier de ce type
Makefile:44: objs/y.tab.d: Aucun fichier ou dossier de ce type
cd objs; yacc -d ../src-common/cfdg.y
1 règle n'a jamais été réduite
../src-common/cfdg.y: AVERTISSEMENT: 1 nonterminal inutilisable et 1 règle inutilisable
../src-common/cfdg.y:84.1-4: AVERTISSEMENT: non-terminal inutilisable: size
../src-common/cfdg.y:85.1-91.1: AVERTISSEMENT: règle inutilisable: size: SIZE modification
mkdir -p objs 2> /dev/null || true
set -e; cc -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM objs/y.tab.c \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/y.tab.d\2,g' > objs/y.tab.d; \
[ -s objs/y.tab.d ] || rm -f objs/y.tab.d
flex -t src-common/cfdg.l > objs/lex.yy.c
mkdir -p objs 2> /dev/null || true
set -e; cc -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -MM objs/lex.yy.c \
| sed 's,\(.*\.o\)\( *:\),objs/\1 objs/lex.yy.d\2,g' > objs/lex.yy.d; \
[ -s objs/lex.yy.d ] || rm -f objs/lex.yy.d
mkdir -p objs 2> /dev/null || true
touch objs/Sentry
g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -o objs/cfdg.o src-common/cfdg.cpp
g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -o objs/cfdgimpl.o src-common/cfdgimpl.cpp
g++ -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3 -c -o objs/renderimpl.o src-common/renderimpl.cpp

Code: Select all

g++  -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3  -c -o objs/builder.o src-common/builder.cpp
src-common/builder.cpp: In member function ‘void Builder::addEntropy(const char*)’:
src-common/builder.cpp:168: erreur: ‘strlen’ was not declared in this scope
src-common/builder.cpp:171: erreur: ‘nrand48’ was not declared in this scope
make: *** [objs/builder.o] Erreur 1
[/b]

User avatar
MtnViewJohn
Site Admin
Posts: 882
Joined: Fri May 06, 2005 2:26 pm
Location: Mountain View, California
Contact:

Post by MtnViewJohn »

Are you compiling version 2.1 or version 2.2beta? I think v2.1 is missing include file statements for stdlib.h.

manudh
Posts: 4
Joined: Wed Dec 10, 2008 7:32 pm
Location: Blegium

Post by manudh »

MtnViewJohn wrote:Are you compiling version 2.1 or version 2.2beta? I think v2.1 is missing include file statements for stdlib.h.
I tried with version 2.1. I just test with 2.2beta and got a similar error:

Code: Select all

g++  -Isrc-common -Isrc-unix -Iobjs -Isrc-agg/include -Isrc-common/agg-extras -O3  -c -o objs/makeCFfilename.o src-common/makeCFfilename.cpp
src-common/makeCFfilename.cpp: In function ‘std::string makeCFfilename(const char*, int, int, int)’:
src-common/makeCFfilename.cpp:44: erreur: ‘strchr’ was not declared in this scope
make: *** [objs/makeCFfilename.o] Erreur 1

manudh
Posts: 4
Joined: Wed Dec 10, 2008 7:32 pm
Location: Blegium

Post by manudh »

Actually, there seems to be a problem with includes from standard c library.
I've corrected what seemed wrong to me, and it compiles fine.

But I don't how to do a patch and send where send it ?

Thank you.

manudh
Posts: 4
Joined: Wed Dec 10, 2008 7:32 pm
Location: Blegium

Post by manudh »

Code: Select all

builder.h :
+#include <string.h>

Code: Select all

MAKECFFILENAME_H :
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>

Code: Select all

makeCFfilename.h
+#include <stdlib.h>
+#include <malloc.h>

Code: Select all

yglue.h
+#include <stdlib.h>

Code: Select all

tiledCanvas.h
#include <stdlib.h>

Code: Select all

posixSystem.h
#include <stdlib.h>
By me it works :-)

User avatar
MtnViewJohn
Site Admin
Posts: 882
Joined: Fri May 06, 2005 2:26 pm
Location: Mountain View, California
Contact:

Post by MtnViewJohn »

Thanks. I'll put those in the next release.

User avatar
MtnViewJohn
Site Admin
Posts: 882
Joined: Fri May 06, 2005 2:26 pm
Location: Mountain View, California
Contact:

Post by MtnViewJohn »

Actually, I take it back. I don't think that any of those include files belong in the *.h files that you have listed. Can you try moving them all to the corresponding *.cpp file and see if that fixes the compiling problem?

Post Reply