[Pianod] Build 111 - user persistence changes

Perette Barella perette at barella.org
Sat Feb 2 18:50:20 PST 2013


Thanks for the debugging and info Peter.

I'm adding the #include wrapped in an #ifdef Linux check; BSD put this in unistd.h and doesn't have a crypt.h.

The memory mapping feature for ezxml is unnecessary, so shutting it off is fine.

I just see some wsgw portability fixes from Peter too, I'll integrate those tomorrow.

Perette



--
Perette Barella • perette at barella.org • 585-286-1312
176 Middlesex Road, Rochester NY 14610

On 2013年02月02日, at 16:47, Peter Li wrote:

> Okay I see: crypt is a small standard lib that v111 uses alongside gcrypt.  
> 
> So I needed to add -lcrypt to the link options.  Then it builds but segfaults, perhaps because it gets confused by the crypt.h that is inside libpiano?
> 
> So if you remove the implicit declaration from users.c by putting #include <crypt.h> in then it seems to run okay.
> 
> Can send you a patch but it's pretty clear from above I think?
> P
> 
> 
> On 02/02/2013 12:40 PM, Peter Li wrote:
>> Okay, actually it does complain at compile time; I didn't realize we're allowing implicit declarations in compile...
>> 
>> So I guess it's either a gcrypt version issue or else the repo is missing something?
>> 
>> P
>> 
>> 
>> On 02/02/2013 09:50 AM, Peter Li wrote:
>>> Hmm, except gcrypt version wouldn't explain why I have a declaration somewhere but no object.  Unless gcrypt is broken...  Anyway will keep looking.
>>> 
>>> 
>>> On 02/02/2013 09:47 AM, Peter Li wrote:
>>>> But then at the end of pianod build I have:
>>>>   LINK  pianod
>>>> c99 -O2 -DNDEBUG   -L/opt/local/lib  src/pianod.o src/player.o src/command.o src/settings.o src/support.o src/response.o src/logging.o src/users.o src/seeds.o src/query.o src/pianoextra.o src/libpiano/crypt.o src/libpiano/piano.o src/libpiano/request.o src/libpiano/response.o src/libfootball/fb_event.o src/libfootball/fb_parser.o src/libfootball/fb_service.o src/libfootball/fb_socketmgr.o src/libezxml/ezxml.o \
>>>>         src/libwaitress/waitress.o -lao -lpthread -lm \
>>>>         -lfaad -lbsd -lmad -lgnutls \
>>>>         -lgcrypt -ljson   -o pianod
>>>> src/users.o: In function `encrypt_password':
>>>> users.c:(.text+0x278): undefined reference to `crypt'
>>>> src/users.o: In function `authenticate_user':
>>>> users.c:(.text+0x5b0): undefined reference to `crypt'
>>>> collect2: error: ld returned 1 exit status
>>>> make: *** [pianod] Error 1
>>>> Kind of funny since it doesn't complain at compile time and it doesn't have trouble finding gcrypt.  Maybe it's a gcrypt version issue?  It does build if I replace calls to crypt with PianoEncryptString, but I haven't had a chance to see whether that works or is completely wrong :).
>>>> 
>>>> Probably should have sent this last night to take advantage of timezones...  Will post back if I figure it out.
>>>> Best,
>>>> P
> _______________________________________________
> Pianod mailing list
> Pianod at lists.deviousfish.com
> http://lists.deviousfish.com/listinfo.cgi/pianod-deviousfish.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.deviousfish.com/pipermail/pianod-deviousfish.com/attachments/20130202/c6b0941c/attachment-0003.htm>


More information about the Pianod mailing list