My buildfile and err messages

Hello,

The script part of my buildfile is as follows:

[+script] .script = {
PHOTON_PATH=/proc/boot:/bin:/phembed/bin
LD_LIBRARY_PATH=/proc/boot:/lib:/dll:/phembed/lib:/usr/lib

DL_DEBUG=1

 display_msg Welcome to QNX on a PC-compatible BIOS system. You've got it !

 devc-con -e &
 reopen /dev/con1

 slogger -vv &	                                
 
 Photon &
 waitfor /dev/photon 10
 phfontFF -d /phembed/font_repository -c 20K -j -s 50K -F 10 -S 50 &     
 waitfor /dev/phfont 10

 io-graphics -g800x600x16 -dldevg-svga.so -I0 -d0x1039,0x6325 &

pwm &

phcalc -x100 -y100 &
phcalc -x300 -y100 &

	 # Start the main shell
 [+session] esh  &        

}

[type=link] /dev/console=/dev/con1
[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so
[type=link] /usr/lib/libc.so.1=/proc/boot/libc.so
[perms=+r,+x]
libc.so

Comment “DL_DEBUG=1”, it boots with printing as follow:

add 0 10
add 10 7
add 17 7
add 24 7
add 31 7
add 38 7
add 45 7
add 52 7
add 59 7
add 66 7
add 73 5
Unknown symbol: __iob
devg-svga.so: dlopen: No such process
Failed to get required draw funcs
add 78 14
Home not set
#Ap: Unable to locate Photon
Ap: Unable to locate Photon

It seems no bins, libs missed, I don’t know how to get rid of the err messages.
Please help.

Peter

I think you have an out of date devg-svga.so - __iob is a 6.0 symbol, which is no longer present in 6.1 and later versions of qnx.

I’m using RTP 6.1.

Another, why /dev/phfont disappears after I add"io-graphic"line into the script part ?

why do you have /usr/lib/libc.so.1 as a link? 6.1 uses libc.so.2

also, SOMETHING is a 6.0 binary if it’s trying to use __iob

I remember something required libc.so.1 when it was booting, therefore, I use libc.so.1. I will try libc.so.2 again to see what’s to be on Monday, since weekend now. Your replies are helpful, I’ll give you the printings as quick as possable. Thanks. cburgess.

Peter

anything that needs libc.so.1 is a 6.0 binary, and you will need to include the libc.so.1 explicity in your buildfile (as well as libc.so.2) if you really need to use it.

Thanks to cburgess,

I modify the line"[type=link] /usr/lib/libc.so.1=/proc/boot/libc.so" to be “…libc.so.2…”,
the err “Unknown symbol: __iob” is removed when it boots.

Unfortunetly, I keep got err messages as follow:

add 0 10
add 17 7
add 24 7
add 31 7
add 38 7
add 45 7
add 52 7
add 59 7
devg-svga.so: dlopen: No such file or directory #Note: not “No such process”
Failed to get required draw funcs
add 66 14
Home not set.
#Ap: Unable to locate Photon
Ap: Unable to locate Photon

“devg-svga.so” is in /phembed/lib, why proc can not find “devg-svga.so” as others link well ?
I don’t know why /dev/phfont disappears, once the line"io-graphic" added into the script ?
phfontFF has a cut_down font_repository guided by the Helps, does it matter ?

Please help.

Peter

I would set the DL_DEBUG=1 again, this should show you some more detail.

But there are huge messages rolling, I’m afraid I can’t view the message I need.
How do you handle that ?

You could try explicitly setting the path to devg-vga.so, ie -dl/phembed/lib/devg-vga.so

Hi cburgess,

Ahead of time I had tried setting “-dl/phembed/lib/devg-svga.so”, but it
not work.

I see on my host, “devg-svga.so” is at /lib/dll and runtime linker
magically knows to find it. I think there were some environment settings, e.g., “…PATH=…” to manage it. What do you think ?

If I failed to embed Photon, I had to try the ugly way, those are, intalling
whole RTP on disk and only running specific phAB program on an mini PC
compatible board.

I think there should have some buildfile samples of embed Photon on PC system, the common desktop system in this world, but I can’t find them.
Anyway, I’ll keep look the way.

best regards,

Peter