'Building NIBTOOLS Under Linux'
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?


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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.


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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?


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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.


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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. :)


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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.


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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.


REPLY: [With No Quote] --- [With Quoted Text]

'Building NIBTOOLS Under Linux'
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!


REPLY: [With No Quote] --- [With Quoted Text]


--- 0 Users Online --- 0 Recent Unique Posters

Q116=1716216294 - Threads: / 1716216294