Poppler 0.8.3 change to GfxFont
Hi, all.
One of the guys on the channel asked me if Inkscape runs with Poppler 0.8.3. I didn't know that Poppler had released anything recently, so I gave it a try on win32.
Inkscape's sneaky use of some private Poppler APIs finally bit us! :-). There is a small change in GfxFont::getNextChar() that needs to be addressed for Poppler-0.8.3+. <tsdgeos> on #poppler kindly showed me the tweak, which I committed.
To be able to use the latest Poppler and this fix, compile with -DPOPPLER_NEW_GFXFONT
It seems to run nicely. But you must recompile. Do NOT use the new Poppler shared objects or DLLs without recompiling, else it is a crasher.
The tweak is just something to keep Inkscape compiling. Miklos, can you look at this? I'm sure there is a cleaner, more permanent fix out possible.
thanks!
bob
Bob Jamison scrisse:
Hi, all.
One of the guys on the channel asked me if Inkscape runs with Poppler 0.8.3. I didn't know that Poppler had released anything recently, so I gave it a try on win32.
While we're at it, a friend told me that if inkscape is currently using poppler core directly, it should be better to switch to poppler-glib, as what we're doing is higly discouraged.
I know little about poppler but I really trust this guy and know he has deep knowledge about poppler, and as far as I've the claim is true. So, can you guys please check the current status and reply/act as needed?
thanks! bob
Ciao, Luca
Hey,
I'm getting this error with newly updated svn:
In file included from /usr/include/poppler/Gfx.h:18, from extension/internal/pdfinput/pdf-parser.cpp:32: /usr/include/poppler/Object.h: In member function 'int Object::arrayGetLength()': /usr/include/poppler/Object.h:244: warning: deprecated conversion from string constant to 'char*'
I ran ./configure --enable-DPOPPLER_NEW_GFXFONT
Is that correct?
JF
Bob Jamison wrote:
Hi, all.
One of the guys on the channel asked me if Inkscape runs with Poppler 0.8.3. I didn't know that Poppler had released anything recently, so I gave it a try on win32.
Inkscape's sneaky use of some private Poppler APIs finally bit us! :-). There is a small change in GfxFont::getNextChar() that needs to be addressed for Poppler-0.8.3+. <tsdgeos> on #poppler kindly showed me the tweak, which I committed.
To be able to use the latest Poppler and this fix, compile with -DPOPPLER_NEW_GFXFONT
It seems to run nicely. But you must recompile. Do NOT use the new Poppler shared objects or DLLs without recompiling, else it is a crasher.
The tweak is just something to keep Inkscape compiling. Miklos, can you look at this? I'm sure there is a cleaner, more permanent fix out possible.
thanks!
bob
Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
I'm still trying to figure out how to get this to work - any advice?
I'm pretty sure what I have below is not right.
Could someone take a moment to point me in the right direction with a short explanation - I'm ignorant, but trying to learn.
Thanks a lot.
JF
Joshua Facemyer / Impressus Art wrote:
Hey,
I'm getting this error with newly updated svn:
In file included from /usr/include/poppler/Gfx.h:18, from extension/internal/pdfinput/pdf-parser.cpp:32: /usr/include/poppler/Object.h: In member function 'int Object::arrayGetLength()': /usr/include/poppler/Object.h:244: warning: deprecated conversion from string constant to 'char*'
I ran ./configure --enable-DPOPPLER_NEW_GFXFONT
Is that correct?
JF
Bob Jamison wrote:
Hi, all.
One of the guys on the channel asked me if Inkscape runs with Poppler 0.8.3. I didn't know that Poppler had released anything recently, so I gave it a try on win32.
Inkscape's sneaky use of some private Poppler APIs finally bit us! :-). There is a small change in GfxFont::getNextChar() that needs to be addressed for Poppler-0.8.3+. <tsdgeos> on #poppler kindly showed me the tweak, which I committed.
To be able to use the latest Poppler and this fix, compile with -DPOPPLER_NEW_GFXFONT
It seems to run nicely. But you must recompile. Do NOT use the new Poppler shared objects or DLLs without recompiling, else it is a crasher.
The tweak is just something to keep Inkscape compiling. Miklos, can you look at this? I'm sure there is a cleaner, more permanent fix out possible.
thanks!
bob
Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
No, it's not an autoconf option, but a CFLAGS setting. Either:
./configure CFLAGS="-DPOPPLER_NEW_GFXFONT"
or
env CFLAGS="-DPOPPLER_NEW_GFXFONT" ./configure
Should do the job.
Now, this is just a temporary hack that I made until Miklos has an opportunity to look at it. He already has an idea for a much better fix, where this flag will no longer be needed.
bob
Joshua Facemyer / Impressus Art wrote:
I'm still trying to figure out how to get this to work - any advice?
I'm pretty sure what I have below is not right.
Could someone take a moment to point me in the right direction with a short explanation - I'm ignorant, but trying to learn.
Thanks a lot.
JF
Joshua Facemyer / Impressus Art wrote:
Hey,
I'm getting this error with newly updated svn:
In file included from /usr/include/poppler/Gfx.h:18, from extension/internal/pdfinput/pdf-parser.cpp:32: /usr/include/poppler/Object.h: In member function 'int Object::arrayGetLength()': /usr/include/poppler/Object.h:244: warning: deprecated conversion from string constant to 'char*'
I ran ./configure --enable-DPOPPLER_NEW_GFXFONT
Is that correct?
JF
Bob Jamison wrote:
Hi, all.
One of the guys on the channel asked me if Inkscape runs with Poppler 0.8.3. I didn't know that Poppler had released anything recently, so I gave it a try on win32. Inkscape's sneaky use of some private Poppler APIs finally bit us! :-). There is a small change in GfxFont::getNextChar() that needs to be addressed for Poppler-0.8.3+. <tsdgeos> on #poppler kindly showed me the tweak, which I committed.
To be able to use the latest Poppler and this fix, compile with -DPOPPLER_NEW_GFXFONT
It seems to run nicely. But you must recompile. Do NOT use the new Poppler shared objects or DLLs without recompiling, else it is a crasher.
The tweak is just something to keep Inkscape compiling. Miklos, can you look at this? I'm sure there
Hey, thanks, Bob!
JF
Bob Jamison wrote:
No, it's not an autoconf option, but a CFLAGS setting. Either:
./configure CFLAGS="-DPOPPLER_NEW_GFXFONT"
or
env CFLAGS="-DPOPPLER_NEW_GFXFONT" ./configure
Should do the job.
Now, this is just a temporary hack that I made until Miklos has an opportunity to look at it. He already has an idea for a much better fix, where this flag will no longer be needed.
bob
Joshua Facemyer / Impressus Art wrote:
I'm still trying to figure out how to get this to work - any advice?
I'm pretty sure what I have below is not right.
Could someone take a moment to point me in the right direction with a short explanation - I'm ignorant, but trying to learn.
Thanks a lot.
JF
Joshua Facemyer / Impressus Art wrote:
Hey,
I'm getting this error with newly updated svn:
In file included from /usr/include/poppler/Gfx.h:18, from extension/internal/pdfinput/pdf-parser.cpp:32: /usr/include/poppler/Object.h: In member function 'int Object::arrayGetLength()': /usr/include/poppler/Object.h:244: warning: deprecated conversion from string constant to 'char*'
I ran ./configure --enable-DPOPPLER_NEW_GFXFONT
Is that correct?
JF
Bob Jamison wrote:
Hi, all.
One of the guys on the channel asked me if Inkscape runs with Poppler 0.8.3. I didn't know that Poppler had released anything recently, so I gave it a try on win32. Inkscape's sneaky use of some private Poppler APIs finally bit us! :-). There is a small change in GfxFont::getNextChar() that needs to be addressed for Poppler-0.8.3+. <tsdgeos> on #poppler kindly showed me the tweak, which I committed.
To be able to use the latest Poppler and this fix, compile with -DPOPPLER_NEW_GFXFONT
It seems to run nicely. But you must recompile. Do NOT use the new Poppler shared objects or DLLs without recompiling, else it is a crasher.
The tweak is just something to keep Inkscape compiling. Miklos, can you look at this? I'm sure there
Hmmm......getting the same error stil:
In file included from /usr/include/poppler/Gfx.h:18, from extension/internal/pdfinput/pdf-parser.cpp:32: /usr/include/poppler/Object.h: In member function 'int Object::arrayGetLength()': /usr/include/poppler/Object.h:244: warning: deprecated conversion from string constant to 'char*'
even after using the appropriate CFLAGS.
Any further ideas?
JF
Bob Jamison wrote:
No, it's not an autoconf option, but a CFLAGS setting. Either:
./configure CFLAGS="-DPOPPLER_NEW_GFXFONT"
or
env CFLAGS="-DPOPPLER_NEW_GFXFONT" ./configure
Should do the job.
Now, this is just a temporary hack that I made until Miklos has an opportunity to look at it. He already has an idea for a much better fix, where this flag will no longer be needed.
bob
Joshua Facemyer / Impressus Art wrote:
I'm still trying to figure out how to get this to work - any advice?
I'm pretty sure what I have below is not right.
Could someone take a moment to point me in the right direction with a short explanation - I'm ignorant, but trying to learn.
Thanks a lot.
JF
Joshua Facemyer / Impressus Art wrote:
Hey,
I'm getting this error with newly updated svn:
In file included from /usr/include/poppler/Gfx.h:18, from extension/internal/pdfinput/pdf-parser.cpp:32: /usr/include/poppler/Object.h: In member function 'int Object::arrayGetLength()': /usr/include/poppler/Object.h:244: warning: deprecated conversion from string constant to 'char*'
I ran ./configure --enable-DPOPPLER_NEW_GFXFONT
Is that correct?
JF
Bob Jamison wrote:
Hi, all.
One of the guys on the channel asked me if Inkscape runs with Poppler 0.8.3. I didn't know that Poppler had released anything recently, so I gave it a try on win32. Inkscape's sneaky use of some private Poppler APIs finally bit us! :-). There is a small change in GfxFont::getNextChar() that needs to be addressed for Poppler-0.8.3+. <tsdgeos> on #poppler kindly showed me the tweak, which I committed.
To be able to use the latest Poppler and this fix, compile with -DPOPPLER_NEW_GFXFONT
It seems to run nicely. But you must recompile. Do NOT use the new Poppler shared objects or DLLs without recompiling, else it is a crasher.
The tweak is just something to keep Inkscape compiling. Miklos, can you look at this? I'm sure there
On Sun, Jun 15, 2008 at 11:32:05PM -0500, Bob Jamison wrote:
No, it's not an autoconf option, but a CFLAGS setting. Either:
./configure CFLAGS="-DPOPPLER_NEW_GFXFONT"
or
env CFLAGS="-DPOPPLER_NEW_GFXFONT" ./configure
Should do the job.
Actually, that should be CPPFLAGS, not CFLAGS: `-D...' and `-I...' flags are for the preprocessor, not the C compiler.
In any case, I've now added a test to configure.ac so that the user needn't manually specify this flag, given that this `temporary hack' is still in place after a month.
I've also added a TODO comment to the C++ code, pointing out what looks like a memory leak: without looking at the documentation or implementation of getNextChar, I suppose that u is getting set to new heap-allocated memory that we're supposed to free somehow, whereas we aren't freeing it.
pjrm.
Now, this is just a temporary hack that I made until Miklos has an opportunity to look at it. He already has an idea for a much better fix, where this flag will no longer be needed.
Excellent!
Actually, what I was hoping for was that the Poppler guys might define a version macro somewhere in their API .h files. But this is good, too.
bob
Peter Moulder wrote:
On Sun, Jun 15, 2008 at 11:32:05PM -0500, Bob Jamison wrote:
No, it's not an autoconf option, but a CFLAGS setting. Either:
./configure CFLAGS="-DPOPPLER_NEW_GFXFONT"
or
env CFLAGS="-DPOPPLER_NEW_GFXFONT" ./configure
Should do the job.
Actually, that should be CPPFLAGS, not CFLAGS: `-D...' and `-I...' flags are for the preprocessor, not the C compiler.
In any case, I've now added a test to configure.ac so that the user needn't manually specify this flag, given that this `temporary hack' is still in place after a month.
I've also added a TODO comment to the C++ code, pointing out what looks like a memory leak: without looking at the documentation or implementation of getNextChar, I suppose that u is getting set to new heap-allocated memory that we're supposed to free somehow, whereas we aren't freeing it.
pjrm.
Now, this is just a temporary hack that I made until Miklos has an opportunity to look at it. He already has an idea for a much better fix, where this flag will no longer be needed.
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK& win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
participants (4)
-
Bob Jamison
-
Joshua Facemyer / Impressus Art
-
Luca Bruno
-
Peter Moulder