Problem 2154 - recently update(2019-03-09) of Coin3D, I can not create the run file
Summary: recently update(2019-03-09) of Coin3D, I can not create the run file
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: visualization/OpenInventor (show other problems)
Version: 10.5
Hardware: PC Linux
: P4 normal
Assignee: John.Allison
URL:
Depends on:
Blocks:
 
Reported: 2019-03-19 16:07 CET by Nelssom
Modified: 2020-07-20 16:44 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Nelssom 2019-03-19 16:07:48 CET
Hello


The recently update of Coin3D,  I can not create the run file of optics  examples,  befor that  is works very well.
Whenever run the make -j3 occurs error related to      
/usr/bin/ld: /usr/lib/libG4OpenInventor.so: undefined reference to `SoInput::setBuffer(void*, unsigned long)'

full text appears in terminal it is in the attached .

My OS is archLinux is automatic update using AUR.

there are any way to fix this problem?
Comment 1 John.Allison 2019-03-21 11:28:36 CET
Hi

Let me copy in our Open Inventor expert, Fred Jones. Fred, have you any thoughts on this?

For now, are you able to work around the problem, perhaps by reverting to the previous version of Coin3D?

John
Comment 2 Nelssom 2019-03-21 17:18:33 CET
I try to revert to the previous version, but it's complicated, I try to manually install the old version still does not work. I don't know what to do.
Comment 3 John.Allison 2019-03-21 17:54:48 CET
Mmm. Really sorry.

The offending line is

source/visualization/OpenInventor//src/G4OpenInventorXtExaminerViewer.cc:381:   input->setBuffer(buf, bufsize);

I'm not an expert on Open Inventor - and I do not have it on my machine - but could you try commenting it out and see what happens.

Sorry not to be more helpful. Anything you can find out about the latest version of Coin3D will be useful for us and all users.

Thanks.
Comment 4 fwj 2019-03-22 01:42:52 CET
This error puzzles me.  It appears to be a function signature mismatch, but the missing signature is quoted as (void*, unsigned long) and in the only place it is invoked in the code it is (char*, int) so I can't see where this message is coming from.

I checked different versions of Coin and there has been no change in the signature in the header file SoInput.h, which is (void*, size_t) !

You mentioned attaching the terminal output, but I don't see your attachment (sorry I am new to bugzilla).  Also can you advise which version of Coin you updated to, and which you were using previously?

If you updated to Coin 4.0.0 there may well be other problems with it.
See https://aur.archlinux.org/packages/coin/
On my systems (Red Hat) it is not yet available as an update.

In any case, it would be highly advisable to downgrade to the previous version.  Unfortunately I can't advise you about AUR, but it seems to be an interface to yum.  In yum, I would simply do "yum downgrade coin".  In general it is better to
install Coin with a package manager.

Failing that, it might help to rebuild libG4OpenInventor.a -- just rename it to something else as a backup, and rerun the make for the Geant4 libraries.

Do you get any other undefined references?

Fred
Comment 5 Nelssom 2019-04-01 17:25:56 CEST
For me to solve the problem I reinstall the geant4 and turn off the option of openinventor, but for other user try to use the open in openinventor with new update, the problem still remain.
Comment 6 fwj 2019-04-04 03:06:16 CEST
(In reply to Nelssom from comment #5)
> For me to solve the problem I reinstall the geant4 and turn off the option
> of openinventor, but for other user try to use the open in openinventor with
> new update, the problem still remain.

It is unfortunate that your package manager cannot revert to the previous version of Coin3d.  In any case, Coin3d version 4.0.0 appears to be an unofficial release and is not available as an installed package for most flavors of Linux.  According to the release notes it is still in development.

The versions of Coin3d supported by Geant4 are 2.5.0 and 3.1.2.

I will be looking into this further, so it would still be helpful if you could indicate whether there were any other undefined references or other error conditions that you observed.
Thanks,
Fred
Comment 7 John.Allison 2020-07-20 16:44:36 CEST
This is a case of configurations and versions. Geant4 and Coin3D have moved on. Hopefully all is fixed in 10.6, and certainly in in 10.7.