Author: | ernie (registered user: 5 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 09:33 ( . ) |
I checked out the svn 'trunk', and when I cd there and issue make -f GNU/Makefile linux things seem to go smoothly until the script gets to drive.c, when I see drive.c: In function `test_par_port': drive.c:116: warning: implicit declaration of function `cbm_parallel_burst_read_n' drive.c: In function `send_mnib_cmd': drive.c:392: warning: implicit declaration of function `cbm_parallel_burst_write_n' make[1]: *** [drive.o] Error 1 make[1]: Leaving directory `/home/ernie/svn/nibtools/trunk' make: *** [linux] Error 2 I'm no C whiz--but is the compiler just being picky? I'm using Ubuntu Jaunty, which came with gcc-4.3. The NIBTOOLS build script had originally stalled when it couldn't execute 'gcc-3'. First, I made a 'gcc-3' symlink in /usr/bin to gcc-4.3. Then, I tried installing gcc-3.4 and symlinking to that--both versions encounter the 'implicit declaration' errors and stall there. Any suggestions? |
Author: | Pete Rittwage (registered user: 558 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 10:26 ( . ) |
There's been a change in the most recent HEAD of OpenCBM that uses this new function, and I fixed it in the DOS and Win versions, but I've never tested compiling for Linux. Grab the latest CVS head of OpenCBM and see if it comes clear. Otherwise we'd need to stub in those routines. |
Author: | Nate (guest: search) | |
Date: | Tue, Mar 23rd, 2010 @ 14:12 ( . ) |
On 03/23/2010 @ 09:33, ernie wrote :
I checked out the svn 'trunk', and when I cd there and issue : : make -f GNU/Makefile linux : : things seem to go smoothly until the script gets to drive.c, when I see : : drive.c: In function `test_par_port': : drive.c:116: warning: implicit declaration of function `cbm_parallel_burst_read_n' : drive.c: In function `send_mnib_cmd': : drive.c:392: warning: implicit declaration of function `cbm_parallel_burst_write_n' : make[1]: *** [drive.o] Error 1 : make[1]: Leaving directory `/home/ernie/svn/nibtools/trunk' : make: *** [linux] Error 2 You just need the forward decls for these functions in opencbm.h. The Windows build includes its own copy of this file. For linux, just make sure you've updated to the latest OpenCBM from CVS and point the mnib/GNU/Makefile to it: # If building for Linux or Windows, change this to the base path to your # opencbm includes and libraries CBM_LNX_PATH= /usr/local |
Author: | ernie (registered user: 5 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 14:45 ( . ) |
Thanks Pete and Nate, I've made a bit of progress: I checked out the latest OpenCBM CVS source tree, and copied the 'nibtools' folder into its main directory. NIBTOOLS built concurrently with OpenCBM with no errors. But the latest OpenCBM CVS build seems to give me problems of its own. I can insert the 'cbm' module and see the 1541 respond by briefly spinning up and lighting the red LED, but issuing a command like 'cbmctrl reset' just returns immediately to the shell without doing anything (not even generating an error). I re-installed the 0.4.2a OpenCBM build, and the 'cbm' module and commands work again, but of course the NIBTOOLS commands do not since they were built against the CVS version: ernie@mard:~/src/opencbm/nibtools$ ./nibread test.nib nibread - Commodore 1541/1571 disk image nibbler (C) 2004-2010 Peter Rittwage C64 Preservation Project [link] Version 0.7.2 (Built Mar 23 2010 11:11:42) Drive Version: 73,CBM DOS V2.6 1541,00,00 Drive type: 1541 Bumping... Initializing Uploading floppy-side code... Starting custom drive code... ./nibread: symbol lookup error: ./nibread: undefined symbol: cbm_parallel_burst_write_n Any ideas why the OpenCBM CVS build wouldn't work for me, when the 0.4.2a build does? |
Author: | Pete Rittwage (registered user: 558 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 15:33 ( . ) |
I forgot, the latest OpenCBM sources don't work for me, either. I've reported it, but it was only a few days ago. I thought maybe it was just my setup, but apparently it's others as well. Sorry! I will send you a copy of an earlier version I checked out that does work this evening. I think the last one I have is 0.4.0.80 that includes the new routines and still works. |
Author: | Pete Rittwage (registered user: 558 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 15:34 ( . ) |
I guess technically you could check out a slightly older version from the OpenCBM CVS and determine where the problem occurs. :) |
Author: | ernie (registered user: 5 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 17:40 ( . ) |
Pete, if you could send me the working sources, that would be cool. Or even just let me know when they were checked out from the CVS repository. I tried checking out opencbm, xu1541 and xum1541 using the '-D' option and different dates from August 2009 through March 2010. It seems that the 'cbm_parallel_burst*' functions were added mid-February or so, but whatever I've tried to build from after then gives me the same 'silent failure' type of behavior when using e.g. 'cbmctrl reset'. If you think I could help generate any useful debug info for the software development, please do let me know. I'm using an XMP1541 cable with an otherwise stock Mitsumi/Newtronics 1541. The PC is a Toshiba Tecra M2 notebook. |
Author: | Pete Rittwage (registered user: 558 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 18:28 ( . ) |
Hi Ernie, It seems I put a piece of code in there to fix this already. At compile time, the code will look for the define called OPENCBM_42. If it's defined, then the extra routines will be compiled in. So add a #define OPENCBM_42 somewhere and it should work with 0.4.2a. |
Author: | ernie (registered user: 5 posts ) | |
Date: | Tue, Mar 23rd, 2010 @ 20:09 ( . ) |
Hey, cool! I added the '#define OPENCBM_42' to drive.c, and it works. It's possible I may not have been doing things exactly right with the OpenCBM CVS checkouts. The reason I say this, is that I had some difficulty this last time re-installing version 0.4.2. It didn't work the first, or second time. I gave my PC a reboot and gave the uninstall/compile/install another try and it worked then. And now NIBTOOLS, too--yay! |