Tutorial - Linux - Gentoo - HPOJ emerge fix


Coding Friends Tutorial Index - > Linux

Author Ian - Tutorial Posts = 62
I was getting this error within compiling the net-print/hpoj within gentoo.

cc -O -Wall -g -I/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/include -L/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/lib/hpojip -L/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/lib/ptal -L/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/lib/sane -DHPOJIP_INTERNAL -fPIC -c -o xjpg_fix.shared.o xjpg_fix.c
xjpg_fix.c: In function 'jpgFix_getActualTraits':
xjpg_fix.c:512: error: invalid lvalue in assignment
xjpg_fix.c:533: error: invalid lvalue in assignment
xjpg_fix.c:549: error: invalid lvalue in assignment
xjpg_fix.c:560: error: invalid lvalue in assignment
xjpg_fix.c:581: error: invalid lvalue in assignment
xjpg_fix.c:587: error: invalid lvalue in assignment
xjpg_fix.c:595: error: invalid lvalue in assignment
xjpg_fix.c:605: error: invalid lvalue in assignment
xjpg_fix.c:610: error: invalid lvalue in assignment
make[1]: *** [xjpg_fix.shared.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/lib/hpojip'
make: *** [just_compile] Error 2

!!! ERROR: net-print/hpoj-0.91-r3 failed.
Call stack:
ebuild.sh, line 1546: Called dyn_compile
ebuild.sh, line 937: Called src_compile
hpoj-0.91-r3.ebuild, line 47: Called die

!!! compilation failed
!!! If you need support, post the topmost build error, and the call stack if relevant.

Found a patch on the web that required altering the file hpoj/lib/hpojip/xjpg_fix.c with this fix.

-#define MYLOCATE(p) (void *)(p)=(g->headerBuffer+lenAddedHeader)
+#define MYLOCATE(p) p=(g->headerBuffer+lenAddedHeader)

I am using the kernel 2.6.17-gentoo-r8 as well, with gcc versoin 4.1.1.

So proceeded to create a ebuild for this to get the patch into the gentoo system, basically if you create a directory /usr/local/portage/net-print/hpoj by

mkdir -p /usr/local/portage/net-print/hpoj

the -p will create the hierarchy if not present.

And also alter the /etc/make.conf to include the portage overlay (basically adding in you own versions of the software ebuild structure).

PORTDIR_OVERLAY="/usr/local/portage/"

If you copy the files from the attached zip file (you will need to login to get the files) and then

ebuild /usr/local/portage/net-print/hpoj/hpoj-0.91-r4.ebuild digest

just to make sure, but this will create the Manifest of the ebuild, this should be correct within the zip file, but on the safe side.

Then to install the software

emerge hpoj

this will now update to the version that is present within within the overlay of portage, e.g. The one that you just created, I called this a version -r4 instead of the -r3 because it is a fix to the -r3 version.

Well anyway, hope that is helps people.
Creation of cool tutorials :)

There is forum thread about tutorial here

User Name Password
Copyright@CodingFriends, 2005-2006. All Rights Reserved.
Home | Forums | Tutorials | Users
RSS Feeds - Global Global CodingFriends RSS Feed - Tutorials Tutorials CodingFriends RSS Feed - Forums Forums CodingFriends RSS Feed - News News CodingFriends RSS Feed
Users
Login|Password problem| Register here

Tutorials
Tutorials Home| C/C++| C#/Mono| Java| Javascript| PHP| Ruby| SQL| (X)HTML/CSS| VB| Linux| Windows

Forum
Forum Home

Projects
3D Game

Site
Home| About me| Links| FAQ

Search